Florian Walpen [Sat, 27 Apr 2024 08:48:37 +0000 (09:48 +0100)]
snd_hdspe(4): Recognize newer firmware's PCI vendor id.
At least for HDSPe RayDAT cards, newer firmware comes with RME's own PCI
vendor id instead of the Xilinx one. Other HDSPe cards are probably also
affected. Update snd_hdspe(4) to recognize both the old Xilinx and the
new RME vendor ids.
Differential Revision: https://reviews.freebsd.org/D44978
MFC after: 1 day
Rick Macklem [Sat, 27 Apr 2024 00:55:24 +0000 (17:55 -0700)]
krpc: Ref cnt the client structures for TLS upcalls
A crash occurred during testing, where the client structures had
already been free'd when the upcall thread tried to lock them.
This patch acquires a reference count on both of the structures
and these are released when the upcall is done, so that the
structures cannot be free'd prematurely. This happened because
the testing is done over a very slow vpn.
Found during a IETF bakeathon testing event this week.
MFC after: 5 days
Kyle Evans [Fri, 26 Apr 2024 16:12:00 +0000 (11:12 -0500)]
script: handle terminal resize on SIGWINCH
Add a -w flag to forward terminal resize events on to the child, which
can be useful in some circumstances to avoid terminal corruption.
Reviewed by: des
Co-authored-by: Xavier Beaudouin <xavier.beaudouin@klarasystems.com>
Sponsored by: Modirum MDPay
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D44167
Xavier Beaudouin [Fri, 26 Apr 2024 16:10:15 +0000 (11:10 -0500)]
script: minor style improvements
Fix some nits pointed out by checkstyle9.pl in advance of functional
changes to script(1).
Reviewed by: des
Sponsored by: Modirum MDPay
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D44167
Mateusz Piotrowski [Fri, 26 Apr 2024 15:19:18 +0000 (17:19 +0200)]
date: Fix tests by initializing timespec structure
The tests related to nanosecond support were failing on amd64 due to
uninitialized timespec structure.
Fixes:
eeb04a736cb9 date: Add support for nanoseconds
Reviewed by: markj
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D44975
Mateusz Piotrowski [Fri, 26 Apr 2024 09:37:01 +0000 (11:37 +0200)]
style.9: Document the existence of tools/build/checkstyle9.pl
MFC after: 3 days
Sponsored by: Klara, Inc.
Mateusz Piotrowski [Sun, 21 Apr 2024 21:25:32 +0000 (23:25 +0200)]
date: Add support for nanoseconds
This patch introduces support for a conversion specification for
nanoseconds.
The format of %N is meant to be compatible with that of GNU date.
The nanoseconds conversion specification is implemented directly in
date(1) instead of libc (in strftime(3)) to avoid introducing
non-standard functions to libc at this time and modifying struct tm.
Apart from introducing the nanoseconds conversion specification, this
patch brings the following changes:
- The "ns" format for ISO 8061 dates is now unlocked. E.g., date -Ins
prints:
2024-04-22T12:20:28,
763742224+02:00
- The -r flag when fed a file is now aware of the nanosecond part of the last
modification time.
- date(1) is now able to set the time with nanosecond precision. It is
not possible as of now to do that by specifying nanoseconds directly
via the command-line arguments. Instead, the -r flag can be used.
- date(1) is now using the clock_gettime(3) family of functions instead
of ctime(3) family of functions where possible.
Reviewed by: des, markj
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D44905
Peter Holm [Fri, 26 Apr 2024 08:20:49 +0000 (10:20 +0200)]
stress2: More detailed error reporting
Rick Macklem [Fri, 26 Apr 2024 03:58:21 +0000 (20:58 -0700)]
nfscl: Do not use nfso_own for delayed nfsrpc_doclose()
When an initial attempt to close an NFSv4 lock returns NFSERR_DELAY,
the open structure is put on a list for delayed closing. When this
is done, the nfso_own field is set to NULL, so it cannot be used by
nfsrpc_doclose().
Without this patch, the NFSv4 client can crash when a NFSv4 server
replies NFSERR_DELAY to a Close operation. Fortunately, most extant
NFSv4 servers do not do this. This patch avoids the crash for any
that do return NFSERR_DELAY for Close.
Found during a IETF bakeathon testing event this week.
MFC after: 5 days
HP van Braam [Fri, 26 Apr 2024 02:31:12 +0000 (20:31 -0600)]
CTL: READ(6) should be allowed on CD devices
DOS ASPI drivers use this, with this change applied it is possible to
load a DOS ASPI CDROM driver and run the Windows 98 installer.
Signed-off-by: HP van Braam <hp@tmm.cx>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1202
Warner Losh [Thu, 25 Apr 2024 23:47:18 +0000 (17:47 -0600)]
nvmecontrol: Flesh out nvmecontrol format information
The format command takes a number of different parameters. Include a
brief summary of what the values mean, though since the driver's support
for metadata is at best weak, 0's are almost always used for values
other than -f format. Add an example that ties it all together.
Sponsored by: Netflix
Reviewed by: pauamma@gundo.com, chuck
Differential Revision: https://reviews.freebsd.org/D44958
Kyle Evans [Thu, 25 Apr 2024 22:10:32 +0000 (17:10 -0500)]
release: remove the RPI CM4s .dtb
This isn't actually packaged by the sysutils/rpi-firmware port, so we
cannot include it in the image. Fix the RPI release build until an
interested party adds it to the port and packages are available.
Reported by: cperciva
Brooks Davis [Thu, 25 Apr 2024 21:38:15 +0000 (22:38 +0100)]
Revert "config.mk: Add MK_VIMAGE knob"
This commit broke "make makeman" checks in github CI due to a lack of
option description files. The split between VIMAGE and VIMAGE_SUPPORT
is not clearly justified and the code is broken because there is no
opt_vimage.h (it's in opt_global.h).
This reverts commit
22ca6db50f4e6bd75a141f57cf953d8de6531a06.
Rick Macklem [Thu, 25 Apr 2024 19:32:02 +0000 (12:32 -0700)]
nfscl: Revert part of commit
196787f79e67
Commit
196787f79e67 erroneously assumed that the client code for
Open/Claim_deleg_cur_FH was broken, but it was not.
It was actually wireshark that was broken and indicated
that the correct XDR was bogus.
This reverts the part of
196787f79e67 that changed the arguments for
Open/Claim_deleg_cur_FH.
Found during the IETF bakeathon testing event this week.
MFC after: 3 days
Dag-Erling Smørgrav [Thu, 25 Apr 2024 18:35:28 +0000 (20:35 +0200)]
tftpd: Immediately reject any request shorter than 4 bytes.
MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D44957
Dag-Erling Smørgrav [Thu, 25 Apr 2024 18:35:24 +0000 (20:35 +0200)]
tftpd: Check the server status after each test.
* In the setup phase, wait for the server to start (or fail to start)
before proceeding with the test. This makes it possible to write test
cases that don't expect a response from the server without ending up
in a race over the server PID file.
* After running each test, wait up to 30 seconds for the server to exit
and check that the exit status matches what the test case says to
expect (usually 0).
* We still kill and collect the server in the cleanup phase, in case the
test ended early.
MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D44956
Dag-Erling Smørgrav [Thu, 25 Apr 2024 18:35:20 +0000 (20:35 +0200)]
tftpd: Clean up the tests.
MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D44955
Dag-Erling Smørgrav [Thu, 25 Apr 2024 18:35:15 +0000 (20:35 +0200)]
tftpd: Use `size_t` where appropriate.
* Limit the use of `ssize_t` to only where it's needed.
* Correct one case of `int` being used for a length.
MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D44954
Zhenlei Huang [Thu, 25 Apr 2024 18:19:11 +0000 (02:19 +0800)]
if_bridge: Minor style fixes
And more comments on the #ifdef INET blocks to improve readability.
While here, revert the order of two prototypes to produce minimal diff
compared to stable branches.
MFC with:
65767e6126a7
Bjoern A. Zeeb [Thu, 25 Apr 2024 14:47:30 +0000 (14:47 +0000)]
bsdinstall: update comment related to pkg
pkg_add has been gone since 2013(?). Refer to pkg(8) instead.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Reviewed by: jrtc27
Differential Revision: https://reviews.freebsd.org/D44946
Dimitry Andric [Thu, 25 Apr 2024 16:47:31 +0000 (18:47 +0200)]
Merge commit
0f329e0246d1 from llvm-project (by Dimitry Andric):
[sanitizer_symbolizer] Cast arguments for format strings in markup (#89815)
When compiling the common sanitizer libraries, there are many warnings
about format specifiers, similar to:
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:31:32: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat]
31 | buffer->AppendF(kFormatData, DI->start);
| ~~~~~~~~~~~ ^~~~~~~~~
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:33:46: note: format string is defined here
33 | constexpr const char *kFormatData = "{{{data:%p}}}";
| ^~
| %lu
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:46:43: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat]
46 | buffer->AppendF(kFormatFrame, frame_no, address);
| ~~~~~~~~~~~~ ^~~~~~~
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:36:48: note: format string is defined here
36 | constexpr const char *kFormatFrame = "{{{bt:%u:%p}}}";
| ^~
| %lu
...
This is because `uptr` is dependent on the platform, and can be either
`unsigned long long`, `unsigned long`, or `unsigned int`.
To fix the warnings, cast the arguments to the expected type of the
format strings.
PR: 276104
Reported by: pstef
MFC after: 3 days
Rick Macklem [Thu, 25 Apr 2024 16:41:23 +0000 (09:41 -0700)]
Revert "nfsd: Fix NFSv4.1/4.2 Claim_Deleg_Cur_FH"
This reverts commit
f300335d9aebf2e99862bf783978bd44ede23550.
It turns out that the old code was correct and it was wireshark
that was broken and indicated that the RPC's XDR was bogus.
Found during IETF bakeathon testing this week.
Dimitry Andric [Thu, 25 Apr 2024 15:05:29 +0000 (17:05 +0200)]
Skip building libclang_rt when WITHOUT_CLANG is used
As noted in bug 277096, when building a pkgbase repository using
WITHOUT_CROSS_COMPILER and WITHOUT_TOOLCHAIN (which sets WITHOUT_CLANG),
the following residual files are left over:
/usr/lib/clang/18/lib/freebsd/libclang_rt.asan-x86_64.so
/usr/lib/clang/18/share/asan_ignore_list.txt
/usr/lib/clang/18/share/cfi_ignore_list.txt
/usr/lib/clang/18/share/msan_ignore_list.txt
This is because the lib/libclang_rt directory is still descended into,
even if WITHOUT_CLANG is used. Fix it by not descending into the
libclang_rt directory in that case.
PR: 277096
Reported by: Siva Mahadevan <me@svmhdvn.name>
MFC after: 3 days
Mark Johnston [Thu, 25 Apr 2024 13:35:38 +0000 (09:35 -0400)]
kthread: Set *tdptr earlier in kproc_kthread_add()
See commit
ae77041e0714 ("kthread: Set *newtdp earlier in
kthread_add1()") for details. That commit was incomplete since
g_init()'s first call to kproc_kthread_add() will cause
kproc_kthread_add() to take the `*procptr == NULL` branch, which avoids
kthread_create().
To ensure that the thread pointer is initialized before the thread
starts running, we have to start the kernel process with RFSTOPPED.
We could perhaps go further and use RFSTOPPED only when tdptr != NULL,
but it's probably better to have consistent behaviour.
Reviewed by: olce, kib
Reported by: syzbot+
e91e798f3c088215ace6@syzkaller.appspotmail.com
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D44927
Mateusz Piotrowski [Tue, 23 Apr 2024 10:29:02 +0000 (12:29 +0200)]
checkstyle9: Allow a space between "*" and _*restrict
Before the change, we would get errors like this:
ERROR: "foo * bar" should be "foo *bar"
#369: FILE: foobar.c:369:
+barbaz(char * __restrict s,
Reviewed by: des, imp
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D44911
Mateusz Piotrowski [Tue, 23 Apr 2024 14:12:45 +0000 (16:12 +0200)]
sync.8: Document that the "sync dance" is not a thing
People still believe that it is essential to run sync(8) a couple of
times before a reboot/halt. Document that this has not been necessary
for a long time now.
Reviewed by: imp, bcr, Pau Amma <pauamma@gundo.com>
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D33233
Mateusz Piotrowski [Wed, 24 Apr 2024 11:31:54 +0000 (13:31 +0200)]
Document that gettimeofday() is obsolescent
Reported by: kaktus
Reviewed by: kaktus, pstef
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D23942
Gleb Smirnoff [Thu, 25 Apr 2024 04:50:58 +0000 (21:50 -0700)]
accept_filter: return different errors for non-listener and a busy socket
The fact that an accept filter needs to be cleared first before setting to
a different one isn't properly documented. The requirement that the
socket needs already be listening, although trivial, isn't documented
either. At least return a more meaningful error than EINVAL for an
existing filter. Cover this with a test case.
Gleb Smirnoff [Wed, 24 Apr 2024 20:36:43 +0000 (13:36 -0700)]
accf_tls: accept filter that waits for TLS handshake header
Brooks Davis [Wed, 24 Apr 2024 19:47:22 +0000 (20:47 +0100)]
syscalls.master: correct return type of {read,write}v
This was missed when read/write, etc were updated to return ssize_t.
Fixes:
2e83b2816183 Fix a few syscall arguments to use size_t instead of u_int.
Reviewed by: imp, kib
Differential Revision: https://reviews.freebsd.org/D44930
Konstantin Belousov [Wed, 24 Apr 2024 19:06:14 +0000 (22:06 +0300)]
vfs_lookup.c: only call ktrcapfail() if KTRACE is enabled
Reviewed by: emaste, imp, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44931
Konstantin Belousov [Wed, 24 Apr 2024 18:55:37 +0000 (21:55 +0300)]
sys/namei.h: move NI_CAP_VIOLATION() macro from namei.h to vfs_lookup.c
Reviewed by: emaste, imp, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44931
Simon J. Gerraty [Wed, 24 Apr 2024 19:25:42 +0000 (12:25 -0700)]
meta.autodep.mk do not override start_utc
Update meta.autodep.mk
If included at level 0 it is important not to override start_utc
Andrew Turner [Wed, 17 Apr 2024 13:18:24 +0000 (14:18 +0100)]
elf_common.h: Add STO_AARCH64_VARIANT_PCS
This is used to mark symbols that use a variant procedure call with
a different calling convention to the main ABI.
Reviewed by: kib, imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D44868
Andrew Turner [Thu, 18 Apr 2024 15:22:46 +0000 (16:22 +0100)]
showconfig: Set MACHINE for src.opts.mk
Also set MACHINE and MACHINE_ARCH when reading config options from
src.opts.mk. This ensures any machine-dependent options are reported
correctly.
Reviewed by: emaste, imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D44838
Andrew Turner [Mon, 8 Apr 2024 10:44:33 +0000 (10:44 +0000)]
arm64: Check DMAP address is valid in PHYS_IN_DMAP
When checking if a physical address is in the DMAP region we assume
all physical addresses between DMAP_MIN_PHYSADDR and DMAP_MAX_PHYSADDR
are able to be accesses through the DMAP. It may be the case that
there is device memory in this range that shouldn't be accessed through
the DMAP mappings.
Add a check to PHYS_IN_DMAP that the translated virtual address is a
valid kernel address. To support code that already checks the address
is valid add PHYS_IN_DMAP_RANGE.
PR: 278233
Reviewed by: alc, markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D44677
Andrew Turner [Mon, 15 Apr 2024 14:36:20 +0000 (14:36 +0000)]
arm64/vmm: Ensure the tlbi has completed
Ensure the TLB is invalidated before enabling the EL2 MMU. Without
this the TLB may be in an inconsistant state leading to a possible
exception when enabling the MMU.
PR: 277559
Reviewed by: markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D44799
Mark Johnston [Wed, 24 Apr 2024 13:57:42 +0000 (09:57 -0400)]
bhyve.8: Document arm64 support
- Mention the options that are amd64-only.
- Provide a minimal example for booting an arm64 guest.
Reviewed by: corvink
Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D44738
Mark Johnston [Wed, 24 Apr 2024 13:57:50 +0000 (09:57 -0400)]
vmrun.sh: Stop passing -A to bhyve
It's a no-op now.
Sponsored by: Innovate UK
Mark Johnston [Wed, 24 Apr 2024 13:57:12 +0000 (09:57 -0400)]
bhyve.8: Remove mention of the -A flag
It is a no-op on amd64 now and is not implemented on arm64, so let's
remove mention of it altogether so as to reduce confusion for arm64
users.
Reviewed by: corvink, jhb
Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D44737
Alan Somers [Mon, 22 Apr 2024 21:52:07 +0000 (15:52 -0600)]
geli.8: add some notes regarding performance tuning
MFC after: 1 week
Sponsored by: Axcient
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D44908
Mark Johnston [Tue, 23 Apr 2024 16:23:13 +0000 (12:23 -0400)]
busdma: uma_zcreate() does not fail
No functional change intended.
MFC after: 1 week
Mark Johnston [Tue, 23 Apr 2024 16:22:27 +0000 (12:22 -0400)]
khelp: uma_zcreate() does not fail
No functional change intended.
MFC after: 1 week
Mark Johnston [Tue, 23 Apr 2024 16:20:50 +0000 (12:20 -0400)]
udf: uma_zcreate() does not fail
While here remove an old comment regarding preallocation; it appears to
refer to an optimization that is almost certainly irrelevant at this
point.
No functional change intended.
MFC after: 1 week
Mark Johnston [Tue, 23 Apr 2024 16:19:08 +0000 (12:19 -0400)]
wg: uma_zcreate() does not fail
No functional change intended.
MFC after: 1 week
Mark Johnston [Tue, 23 Apr 2024 16:18:21 +0000 (12:18 -0400)]
dpaa: uma_zcreate() does not fail
No functional change intended.
MFC after: 1 week
Martin Vahlensieck [Wed, 17 Apr 2024 19:01:34 +0000 (21:01 +0200)]
ng_pipe: Do not panic when memory allocations fail
Signed-off-by: Martin Vahlensieck <git@academicsolutions.ch>
Reviewed by: markj
MFC after: 2 weeks
Pull Request: https://github.com/freebsd/freebsd-src/pull/1181
Martin Vahlensieck [Wed, 17 Apr 2024 18:59:22 +0000 (20:59 +0200)]
ng_pipe: Replace deprecated random() with prng32_bounded()
Signed-off-by: Martin Vahlensieck <git@academicsolutions.ch>
MFC after: 2 weeks
Reviewed by: markj
Pull Request: https://github.com/freebsd/freebsd-src/pull/1181
Martin Vahlensieck [Wed, 17 Apr 2024 18:51:40 +0000 (20:51 +0200)]
ng_pipe: Remove node when all hooks are disconnected
This is the behavior described in the man page.
Signed-off-by: Martin Vahlensieck <git@academicsolutions.ch>
Discussed with: glebius
Reviewed by: markj
MFC after: 2 weeks
Pull Request: https://github.com/freebsd/freebsd-src/pull/1181
Martin Vahlensieck [Wed, 17 Apr 2024 18:50:39 +0000 (20:50 +0200)]
ng_pipe: Fix whitespace
Signed-off-by: Martin Vahlensieck <git@academicsolutions.ch>
Reviewed by: markj
MFC after: 2 weeks
Pull Request: https://github.com/freebsd/freebsd-src/pull/1181
Cy Schubert [Fri, 10 Jan 2014 19:18:06 +0000 (13:18 -0600)]
heimdal: Fix compiling hdb ldap as a module
Fix build when WITH_OPENLDAP defined.
PR: 278430
Obtained from: Upstream
c1c7da7f79
Cy Schubert [Thu, 18 Apr 2024 18:56:54 +0000 (11:56 -0700)]
kdc: Add restart option
Add a new kdc_restart rc variable that manages kdc (or krb5kdc) under
daemon(8). This automatically restarts the kdc should it fail, i.e.
when it's configured to use LDAP as a backend and cannot connect to its
LDAP directory.
Set kdc_restart="YES" to auto restart kdc on abnormal termination.
Set kdc_restart_delay="N" to the number of seconds to delay before
restarting the kdc. The daemon(8) default seconds applies when not set.
Reported by: Lexi Winter <lexi.freebsd@le-fay.org>
PR: 278395
Differential Revision: https://reviews.freebsd.org/D44898
Ricardo Branco [Wed, 24 Apr 2024 05:29:46 +0000 (22:29 -0700)]
MFV: less: Do not trust st_size if it equals zero
This is a smaller version of upstream
1fafd968b48e5cea6c85f126d77071a8de707a55 to address the
issue that less not being able to operate on files
residing in pseudo-filesystems that advertize a zero
size value.
PR: bin/276133
MFC after: 3 days
Ricardo Branco [Fri, 5 Jan 2024 19:42:00 +0000 (20:42 +0100)]
less: Do not trust st_size if it equals zero
Warner Losh [Wed, 24 Apr 2024 03:18:00 +0000 (21:18 -0600)]
Revert "swapon: Do not overwrite Linux swap header"
This reverts commit
cf04a7775a4e8ff6fd28c768be9daa3d83dd382e.This is
broken on armv7, and closer scrutiny of the reviews shows I was in error
when I thought it was ready.
Warner Losh [Wed, 24 Apr 2024 03:16:58 +0000 (21:16 -0600)]
Revert "bsdinstall/distfetch.c: check environment variables before downloading and handle memory allocation errors"
This reverts commit
91bdebc958bb0da03f604bad19f99e3b10e96ac7. It wasn't
as ready as I thought
Jake Freeland [Wed, 24 Apr 2024 00:26:14 +0000 (19:26 -0500)]
ktrace: Remove CAPFAIL from default trace points
The CAPFAIL tracepoint was recently extended to report ECAPMODE
capability violations for processes that do not enter capability mode.
This allows developers that are interested in Capsicumizing their
programs to determine where violations are being raised.
Previously, CAPFAIL only produced output for processes using Capsicum(4)
capabilties. Thus, most ktrace users never received log output from the
trace point. With the recent changes, this is no longer the case.
Having this trace point enabled by default will produce output for all
processes that use syscalls that are not permitted in capability mode.
This may lead to confusion for users that are not familiar with the
feature. Remove KTRFAC_CAPFAIL from ktrace's default points to avoid
this.
Approved by: markj (mentor)
Reviewed by: markj
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D44887
Jake Freeland [Wed, 24 Apr 2024 00:25:16 +0000 (19:25 -0500)]
ktrace: Describe CAPFAIL trace point in man page
Update the ktrace(1) man page to describe the recently improved
capability failure tracing.
Approved by: markj (mentor)
Reviewed by: markj
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D44886
Gleb Smirnoff [Wed, 24 Apr 2024 00:17:14 +0000 (17:17 -0700)]
sockets: inherit SO_ACCEPTFILTER from listener to child
This is crucial for operation of accept_filter(9). See added comment.
Fixes:
d29b95ecc0d049406d27a6c11939d40a46658733
rilysh [Tue, 23 Apr 2024 22:40:19 +0000 (16:40 -0600)]
bsdinstall/distfetch.c: check environment variables before downloading and handle memory allocation errors
1. Currently, distfetch checks environment variables existence
when it will use them or in a case (in chdir()) it doesn't check
at all. As they are necessary to set before doing anything with
it, check them, if they set or not, before proceeding any further.
This also avoids extra cleaning when that environment variable
isn't set.
2. Handle memory allocation error in malloc(PATH_MAX) and replace
(sizeof const char *) with (sizeof char *). Both are similar and
const doesn't have a size.
3. Indent the error message a bit in chdir().
Signed-off-by: rilysh <nightquick@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1071
Martin Matuska [Tue, 23 Apr 2024 21:57:56 +0000 (23:57 +0200)]
zfs: merge openzfs/zfs@
1f940de07
Notable upstream pull request merges:
#16038
1f940de07 L2ARC: Cleanup buffer re-compression
#16093
c183d164a Parallel pool import
#16094
cd3e6b4f4 Add zfetch stats in arcstats
#16103
35bf25848 Fix: FreeBSD Arm64 does not build currently
#16104
4036b8d02 Refactor dbuf_read() for safer decryption
#16110
9f83eec03 Handle FLUSH errors as "expected"
#16117
c346068e5 zfs get: add '-t fs' and '-t vol' options
Obtained from: OpenZFS
OpenZFS commit:
1f940de07224c2068e7c721222b1f3a519820ca9
Ricardo Branco [Tue, 23 Apr 2024 21:47:56 +0000 (15:47 -0600)]
swapon: Do not overwrite Linux swap header
Reviewed by: imp, jhb
Pull Request: https://github.com/freebsd/freebsd-src/pull/1084
Jose Luis Duran [Tue, 23 Apr 2024 21:12:30 +0000 (15:12 -0600)]
release: Change vmimage EFI GPT label
This matches the default bsdinstall nomenclature.
PR: 278480
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1188
Jose Luis Duran [Tue, 23 Apr 2024 21:12:45 +0000 (15:12 -0600)]
nanobsd: Set a GPT label for EFI and cfg partitions
Use efiboot0 for the EFI partition, the nomenclature efiboot + #index
was taken from bsdinstall (zfsboot).
Use cfg for the cfg partition. Poudriere firmware images are already
using this label.
PR: 278480
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1187
Lexi Winter [Tue, 23 Apr 2024 21:11:24 +0000 (15:11 -0600)]
sys/*/conf: do not use "../../conf/" when including std.*
Since config(8) searches sys/conf by default, there's no need to specify
the full relative path here; replace it by the filename alone.
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1124
Lexi Winter [Tue, 23 Apr 2024 21:11:24 +0000 (15:11 -0600)]
sys: add conf/std.debug, generic debugging options
The new sys/conf/std.debug contains the list of debugging options
enabled by default in -CURRENT, so they don't need to be listed
individually in every kernel config.
The enabled options are the set of all debug options which were enabled
for the GENERIC kernel on any platform. This means some architectures
now have debugging options enabled in GENERIC which weren't previously
enabled:
- amd64: [1]
- arm64: [2]
- arm: [2]. [3]
- i386: [1], [2]
- powerpc: [1], [2], [3]
- riscv: [2]
[1] ALT_BREAK_TO_DEBUGGER is now enabled.
[2] BUF_TRACKING, FULL_BUF_TRACKING, and QUEUE_MACRO_DEBUG_TRASH are now
enabled.
[3] DEADLKRES is now enabled.
While here, move the documentation for the (commented out) K*SAN options
for amd64 from GENERIC to NOTES.
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1124
Lexi Winter [Mon, 22 Apr 2024 21:59:12 +0000 (15:59 -0600)]
sys/netpfil/pf: fix non-INET module build
pf.ko, when built as a module without 'options INET' but with 'options
VIMAGE', won't load:
link_elf_obj: symbol vnet_entry_in_loopback_mask undefined
This is because it uses IN_LOOPBACK(), which in the VIMAGE case uses
INET-specific symbols.
Fix by making this check conditional on #ifdef INET.
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1157
Lexi Winter [Tue, 23 Apr 2024 21:12:57 +0000 (15:12 -0600)]
sys/net/if_bridge: support non-INET kernels
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1159
HP van Braam [Tue, 23 Apr 2024 20:47:12 +0000 (14:47 -0600)]
ahc(4)/ahd(4): target mode: cancel outstanding AIOs and INOTs
When disabling a lun there can still be outstanding AIOs and INOTs, when
this happens previously the lun would just fail to disable and trying to
re-use the lun would break the card.
isp(4) in target mode does the same thing when disabling a lun, in
testing this allows re-starting of ctld(8) with connected initiators and
allows initiators to gracefully resume afterwards.
Signed-off-by: HP van Braam <hp@tmm.cx>
Reviewed by: imp, mav
Pull Request: https://github.com/freebsd/freebsd-src/pull/1190
HP van Braam [Tue, 23 Apr 2024 20:55:36 +0000 (14:55 -0600)]
ahc(4) clean up old Linux defines
Linux removed theirs starting in 2018 in commit:
"scsi: aic7xxx: Fix build using bare-metal toolchain"
Also remove now-useless sys/cdefs.h includes
Signed-off-by: HP van Braam <hp@tmm.cx>
Reviewed by: imp, mav, emaste
Pull Request: https://github.com/freebsd/freebsd-src/pull/1189
Warner Losh [Tue, 23 Apr 2024 20:03:28 +0000 (14:03 -0600)]
checkstyle9.pl: Warn if there's no SOB line
If there's no Signed-off-by: line, complain.
Sponsored by: Netflix
Karl Tomlinson [Tue, 23 Apr 2024 18:18:25 +0000 (12:18 -0600)]
pow,powf(3),__ieee754_rem_pio2(f): Avoid negative integer left shift UB
A compiler clever enough to know that z is positive with a non-zero
biased exponent could, for example, optimize away the scalbnf(z,n) in
pow() because behavior for left shift of negative values is undefined.
`n` is negative when y*log2(|x|) < -0.5. i.e. |x^y| < sqrt(0.5)
The intended behavior for operator<< in this code is to shift the two's
complement representation of the first operand.
In the pow() functions, the result is added to the IEEE 754 exponent of
z = 2^y'. n may be negative enough to underflow the biased IEEE 754
exponent below zero, which is manifested in the sign bit of j
(which would correspond to the IEEE 754 sign bit).
The conversion from uint32_t to int32_t for out-of-int32_t-range values
is implementation defined. The assumed behavior of interpreting the
uint32_t value as a two's complement representation of a signed value
is already assumed in many parts of the code, such as uses of
GET_FLOAT_WORD() with signed integers.
This code passes all the current tests, and makes some out of tree
fuzzing tests pass again rather than hit UB (detailed in the commentary
of the pull request).
Signed-off-by: Karl Tomlinson <karlt+@karlt.net>
Reviewed by: imp, steve kargl, dim
Pull Request: https://github.com/freebsd/freebsd-src/pull/1137
Konstantin Belousov [Tue, 23 Apr 2024 17:15:22 +0000 (20:15 +0300)]
libc printf_render_errno(): do not use strerror()
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44916
Konstantin Belousov [Tue, 23 Apr 2024 17:14:34 +0000 (20:14 +0300)]
libc: minor style, wrap long lines
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44916
Konstantin Belousov [Tue, 23 Apr 2024 17:10:30 +0000 (20:10 +0300)]
__vprintf(): switch from strerror() to strerror_rl()
This eliminates the use of non-thread-safe function in printf*() family,
and make the call locale-aware. Also, it stops obliterating the
strerror() static buffer, which aligns with the POSIX requirement that
implementations must behave as if no standard-mandated functions call
strerror().
PR: 278556
Reported by: Jonathan Gruber <jonathan.gruber.jg@gmail.com>
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44916
Konstantin Belousov [Tue, 23 Apr 2024 17:04:29 +0000 (20:04 +0300)]
libc: make strerror_rl() usable for libc
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44916
John Baldwin [Tue, 23 Apr 2024 18:48:50 +0000 (11:48 -0700)]
src.conf.5: Regen after removing MK_NVME
John Baldwin [Tue, 23 Apr 2024 18:47:44 +0000 (11:47 -0700)]
Remove the MK_NVME build option
The drivers and utilities are now built and installed unconditionally.
Reviewed by: imp, emaste
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44843
John Baldwin [Tue, 23 Apr 2024 18:47:26 +0000 (11:47 -0700)]
nvmecontrol: Always build instead of being conditional on WITH_NVME
This now builds fine on all platforms so always include it similar
to other tools such as camcontrol.
Reviewed by: imp, emaste
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44842
John Baldwin [Tue, 23 Apr 2024 18:46:53 +0000 (11:46 -0700)]
camcontrol: Enable WITH_NVME unconditionally
MK_NVME is no longer marked broken for any platforms, so just include
support for it always as we do for ATA and SCSI.
Reviewed by: emaste
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44841
Dimitry Andric [Tue, 23 Apr 2024 17:40:29 +0000 (19:40 +0200)]
Use MOVED_LIBS for usr/lib/libcxxrt.so.1 ObsoleteFiles.inc entry
Otherwise, the "make delete-old-libs" mechanism also deletes 32-bit
copies, such as in /usr/lib32.
Reported by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Fixes:
911a6479e18b
Mark Johnston [Tue, 23 Apr 2024 16:52:30 +0000 (12:52 -0400)]
RELNOTES: Add an entry for the nfs_reserved_port_only default change
Sponsored by: The FreeBSD Foundation
Mark Johnston [Tue, 23 Apr 2024 16:51:03 +0000 (12:51 -0400)]
nfsserver: Default to nfs_reserved_port_only="YES"
This setting causes the NFS server to check that all RPCs are sent from
a privileged (<= 1023) port, rejecting those that are not. This
slightly raises the bar for a user with network access to an
unauthenticated NFS server to access exported NFS filesystems.
Users that use traditional NFS clients (e.g., those provided by FreeBSD
or Linux) should not see any difference, assuming that unprivileged
filesystem mounting is disallowed.
Note that the setting is per-VNET, so may be overridden in VNET jails
without affecting the rest of the system.
Discussed with: freebsd-arch@
Reviewed by: rmacklem, bz, emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D44906
Konstantin Belousov [Sat, 20 Apr 2024 19:59:14 +0000 (22:59 +0300)]
Add test for pthread_sigqueue(3)
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44867
Konstantin Belousov [Sat, 20 Apr 2024 22:16:08 +0000 (01:16 +0300)]
pthread_sigqueue(3): document
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44867
Konstantin Belousov [Fri, 19 Apr 2024 14:40:40 +0000 (17:40 +0300)]
libthr: add pthread_sigqueue(3)
PR: 278459
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44867
Konstantin Belousov [Fri, 19 Apr 2024 14:57:51 +0000 (17:57 +0300)]
sys/signal.h: move union sigval into dedicated private header sys/_sigval.h
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44867
Konstantin Belousov [Sat, 20 Apr 2024 21:58:15 +0000 (00:58 +0300)]
sigqueue(2): Document __SIGQUEUE_TID
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44867
Konstantin Belousov [Fri, 19 Apr 2024 14:29:05 +0000 (17:29 +0300)]
sigqueue(2): add impl-specific flag __SIGQUEUE_TID
The flag allows the pid argument to designate a thread from the calling
process. The flag value is carved from the high bit of the signal
number, which slightly changes the ABI of syscall.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44867
Konstantin Belousov [Fri, 19 Apr 2024 14:27:42 +0000 (17:27 +0300)]
kern_thr.c: normalize includes
Remove extra sys/param.h, provided by sys/systm.h.
Order the rest alphabetically.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44867
Konstantin Belousov [Fri, 19 Apr 2024 14:25:04 +0000 (17:25 +0300)]
kern_thr.c/kern_sig.c: remove sys/cdefs.h
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44867
Konstantin Belousov [Fri, 19 Apr 2024 14:46:08 +0000 (17:46 +0300)]
kern_thread.c: remove unneeded include of sys/param.h
Handled by sys/systm.h already.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44867
Denny Page [Sat, 13 Apr 2024 17:16:08 +0000 (10:16 -0700)]
Support ARP for 802 networks
This is used by 802.3 Ethernet. (Also be used by 802.4 Token Bus and
802.5 Token Ring, but we don't support those.)
This was accidentally removed along with FDDI support in commit
0437c8e3b198, presumably because comments implied it was used only by
FDDI or Token Ring.
Fixes:
0437c8e3b198 ("Remove support for FDDI networks.")
Reviewed-by: emaste
Signed-off-by: Denny Page <dennypage@me.com>
Pull-request: https://github.com/freebsd/freebsd-src/pull/1166
Alexander Motin [Tue, 23 Apr 2024 16:06:00 +0000 (12:06 -0400)]
L2ARC: Cleanup buffer re-compression
When compressed ARC is disabled, we may have to re-compress when
writing into L2ARC. If doing so we can't fit it into the original
physical size, we should just fail immediately, since even if it
may still fit into allocation size, its checksum will never match.
While there, refactor the code similar to other compression places
without using abd_return_buf_copy().
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #16038
Mitchell Horne [Sun, 19 Mar 2023 22:58:56 +0000 (19:58 -0300)]
ieee80211_vap(9): fix the title
MFC after: 3 days
Christopher Davidson [Fri, 9 Feb 2024 03:57:52 +0000 (22:57 -0500)]
Update manual page references and macros to align to mandoc syntax
xlocale.3: Comment out reference to atof_l(3), atoi_l(3), atol_l(3), atoll_l(3)
These manual page references do not exist.
lagg.4: Change the reference for /etc/rc.conf from a reference link
.Xr -> .Pa based on the context within the manual page it is used.
buf.9: Remove .Xr entries from the file
The buf.9 manual page contains a commented out .Xr reference.
The <filmmein> 9 entry is a placeholder and has been removed for
clarity.
Reviewed by: mhorne
Pull Request: https://github.com/freebsd/freebsd-src/pull/1114
Ed Maste [Tue, 23 Apr 2024 12:48:18 +0000 (08:48 -0400)]
src.conf: regen after
91d35fb663e0, WITHOUT_CAPSICUM removal
Sponsored by: The FreeBSD Foundation
Ed Maste [Tue, 23 Apr 2024 11:20:59 +0000 (07:20 -0400)]
Remove WITHOUT_CAPSICUM build support
Capsicum is non-optional as of
c24c117b9644 ("Remove
WITHOUT_{CAPSICUM,CASPER} options").
`#ifndef WITHOUT_CAPSICUM` is left in the source for the benefit of
downstream consumers, but is never defined in FreeBSD.
Reviewed by: oshogbo
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D42077
Lexi Winter [Mon, 22 Apr 2024 22:07:30 +0000 (16:07 -0600)]
zfsbootcfg(8), zpool_influxdb(8): move to the zfs package
These tools are only useful on a system running ZFS.
Reviewed by: imp, manu
Pull Request: https://github.com/freebsd/freebsd-src/pull/1175
rilysh [Mon, 22 Apr 2024 21:52:25 +0000 (15:52 -0600)]
swab.c(libc): use a simplified version of byte swapping
This version of swab function simplifies the logic of swapping adjacent
bytes. Previous version of swab() used an arbitrary unrolling, which was
relevant back in the day but unnecessary for modern compilers, as if the
input size is known at compile time, they can do it automatically.
This version of swab() is inspired by musl.
A similar version can be found at: https://github.com/openbsd/src/blob/master/lib/libc/string/swab.c
Signed-off-by: rilysh <nightquick@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1086