Commit Graph

309175 Commits

Author SHA1 Message Date
Jilles Tjoelker 3ca8ec19b6 libc: correct posix_spawn_file_actions_init ENOMEM error
The return value of posix_spawn_file_actions_init() is an error number.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D56911
2026-05-10 00:02:25 +02:00
Aymeric Wibo fdd7daa231 thunderbolt: Fix typo in comment
Reported by:	adrian
Sponsored by:	The FreeBSD Foundation
2026-05-09 19:47:30 +02:00
Hartmut Brandt 27ad506d26 Document some more OIDs that are used by bsnmp. 2026-05-09 18:04:45 +02:00
Chuck Silvers 7906084ba2 Fix some memory leaks when fetching the mibII.
Reviewed by:	glebius
Sponsored by:	Netflix
Differential Revision:	<https://reviews.freebsd.org/D55998>
2026-05-09 17:52:14 +02:00
Paarth Shirsat 6499888ca7 gpart(7): Fix reference to the zfsprops man page
PR:	292147
2026-05-09 14:01:12 +00:00
Gisle Nes 555ffd9022 pci: use uint32_t for eecp
eecp holds the extended capability offset. If that offset is larger
than 0xff, storing it in uint8_t truncates it, which can make the
early EHCI/XHCI capability walk read the wrong location and loop during
boot.

Seen on AMD device 1022:151e, where HCCPARAMS1 = 0x0118ffc5 and the
first xHCI extended capability offset is 0x460. Widen eecp to uint32_t
in xhci_early_takeover(), matching xhci_pci_take_controller().

Signed-off-by: Gisle Nes <gisle@gisle.net>
Reviewed by:    zlei, aokblast
MFC after:      3 days
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2127
Closes:         https://github.com/freebsd/freebsd-src/pull/2127
2026-05-09 17:09:05 +08:00
Dag-Erling Smørgrav 44338ccd12 BSD.root.dist: Correct tag for /etc/sysctl.kld.d
This is only used by rc.subr and belongs in rc, not runtime.

Fixes:		fa6d67cd16 ("BSD.root.dist: Add package tag for all directories")
MFC after:	3 days
Reviewed by:	ivy
Differential Revision:	https://reviews.freebsd.org/D56900
2026-05-09 11:04:25 +02:00
Laurent Chardon 072f79d0a2 hwpstate_amd: Initialize CPPC driver type
Assign the driver type instead of preserving uninitialized stack data

PR:     294899
Reviewed by:    aokblast
2026-05-09 16:38:21 +08:00
Lianwei Wang 10e342c1ec fsck_msdosfs: fix FAT header correction not persisting in cache mode
When fsck_msdosfs runs with FAT32 cache mode (used for large
filesystems that cannot be mmap'd), a detected FAT header correction
was written into the in-memory buffer but the corresponding cache
entry (fat32_cache_allentries[0]) was never marked dirty.  As a
result, fat_flush_fat32_cache_entry() skipped it, the corrected
bytes were never written to disk, and copyfat() propagated the
uncorrected on-disk data to all backup FAT copies.  Every subsequent
fsck run would repeat the same "FAT starts with odd byte sequence /
FIXED" cycle indefinitely.

Fix by marking fat32_cache_allentries[0].dirty = true after applying
the in-memory correction, ensuring the chunk is flushed before
copyfat() runs.

Obtained from:	https://android-review.googlesource.com/c/platform/external/fsck_msdos/+/4047981
MFC after:	3 days
2026-05-08 21:56:12 -07:00
Navdeep Parhar 1bef5535c1 cxgbe(4): Updates to the hw and fw headers and config file
MFC after:	1 week
Sponsored by:	Chelsio Communications
2026-05-08 15:26:02 -07:00
Ryan Libby 324d53c26b sys/time: rework saturation ifdef to avoid direct arch ref
Suggested by:	kib
Reviewed by:	imp, kib
Differential Revision:	https://reviews.freebsd.org/D56401
2026-05-08 12:37:24 -07:00
Ryan Libby 94323513dd types: provide __SIZEOF_{INT{8,16,32,64},TIME,TIME32}_T
Suggested by:	kib
Reviewed by:	imp, kib
Discussed with:	emaste, jrtc27
Differential Revision:	https://reviews.freebsd.org/D56783
2026-05-08 12:37:24 -07:00
Dimitry Andric d9b272a19d Merge commit 871038759afb from llvm git (by Marco Elver):
Thread Safety Analysis: Fix pointer handling of variables with deprecated attributes (#148974)

  de10e44b6fe7 ("Thread Safety Analysis: Support warning on
  passing/returning pointers to guarded variables") added checks for
  passing pointer to guarded variables. While new features do not
  necessarily need to support the deprecated attributes (`guarded_var`,
  and `pt_guarded_var`), we need to ensure that such features do not cause
  the compiler to crash.

  As such, code such as this:

          struct {
            int v __attribute__((guarded_var));
          } p;

          int *g() {
            return &p.v;  // handleNoMutexHeld() with POK_ReturnPointer
          }

  Would crash in debug builds with the assertion in handleNoMutexHeld()
  triggering. The assertion is meant to capture the fact that this helper
  should only be used for warnings on variables (which the deprecated
  attributes only applied to).

  To fix, the function handleNoMutexHeld() should handle all POK cases
  that apply to variables explicitly, and produce a best-effort warning.

  We refrain from introducing new warnings to avoid unnecessary code bloat
  for deprecated features.

  Fixes: https://github.com/llvm/llvm-project/issues/140330

This fixes an assertion while building the net/openvswitch port:
"Assertion failed: ((POK == POK_VarAccess || POK == POK_VarDereference)
&& "Only works for variables"), function handleNoMutexHeld, file
/usr/src/contrib/llvm-project/clang/lib/Sema/AnalysisBasedWarnings.cpp,
line 2120.'

Reported by:	cy
PR:		295101, 292067
MFC after:	1 month
2026-05-08 19:59:54 +02:00
Alan Somers bd1e789b84 Make "make update-packages" idempotent
If the user runs "make update-packages" without bumping BRANCH, then it
isn't possible to copy packages from the old location to the new one
(because the two locations are the same).  So just skip that step.

Sponsored by:		ConnectWise
PR:			295085
MFC after:		1 week
Reviewed by:		ivy, emaste
Differential Revision:	https://reviews.freebsd.org/D56872
2026-05-08 09:17:57 -06:00
Mateusz Piotrowski 076e448391 uio.9: Document uiomove_fromphys()
Reviewed by:	kib
Discussed with:	markj, royger
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D54070
2026-05-08 11:05:57 +02:00
Alan Somers 1d24638d3e Fix LOCAL_PEERCRED in 32-bit compat mode
Previously the cr_pid field would be incorrectly copied to userland, due
to a size mismatch between the structure as defined in 32-bit vs 64-bit
builds.  Fix it by converting the structure before copying it to
userland.

PR:		294833
Sponsored by:	ConnectWise
MFC after:	1 week
Reviewed by:	emaste
Differential Revision: https://reviews.freebsd.org/D56675
2026-05-07 14:52:35 -06:00
Konstantin Belousov 8eef59db25 vm_map_growstack(): use local for p->p_vmspace
Noted by:	alc
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2026-05-07 22:58:18 +03:00
Dag-Erling Smørgrav 2c88636e0e stat: Expand devname test case
Test what happens when we ask for the rdev of a non-device.

MFC after:	1 week
Sponsored by:	Klara, Inc.
Reviewed by:	kevans
Differential Revision:	https://reviews.freebsd.org/D56838
2026-05-07 20:45:14 +02:00
John Hall e9912b7e88 smartpqi.4: Document runtime debug_level sysctl
Update smartpqi(4) to document the dev.smartpqi.<unit>.debug_level
sysctl for runtime debug level changes, and note that device
add/remove and controller event messages always appear in dmesg
regardless of the debug_level setting.

PR:		294161
Reviewed by:	imp
Approved by:	imp
MFC after:	2 weeks

Differential Revision:	https://reviews.freebsd.org/D56832
2026-05-07 11:08:27 -07:00
John Hall 0d48d6d7bb smartpqi: Add runtime sysctl for debug_level and log device state changes
The smartpqi driver did not log device add/remove or controller events
to syslog, and hw.smartpqi.debug_level could only be set at boot via
loader.conf with no runtime sysctl interface.

Add a read-write sysctl at dev.smartpqi.N.debug_level for runtime
debug level changes. Add device_printf calls for device addition,
removal, and controller events (hotplug, hardware, physical/logical
device, AIO state/config changes) so state changes always appear in
dmesg. Add DBG_DISC logging for discovery state transitions. Fix
spelling errors in strings and comments across the driver.

Bump driver version to 14.4691.1.2000 / 15.2.1.2000.

PR:		294161
Reviewed by:	imp
Approved by:	imp
MFC after:	2 weeks

Differential Revision:	https://reviews.freebsd.org/D56832
2026-05-07 11:08:26 -07:00
Ryan Libby 944a4eb089 stand/libsa/zfs: disable ZSTD_TRACE and DYNAMIC_BMI2 code paths
Enabling ZSTD_TRACE leaves behind undefined weak symbols, which causes a
problem for gcc builds.  The bfd linker emits an obscure error about
overlapping FDEs.  We don't need ZSTD_TRACE for libsa, so just disable
it.

Also disable BMI2 instruction optimizations.  The addition of the
optional BMI2 code paths caused the boot loader binaries to grow larger
(28 KiB for clang, 32 KiB for gcc).  The boot loader binaries are size
constrained, and this pushed the gcc-generated lua_loader.bin over the
500000 byte limit, and the clang one to within 4k of the limit.

Fixes:	8a62a2a565 ("zfs: merge openzfs/zfs@f8e5af53e")
Reviewed by:	delphij, imp, mm
Differential Revision:	https://reviews.freebsd.org/D56866
2026-05-07 10:30:05 -07:00
Mark Johnston 54625dfb36 git-arc: Update the usage message to mention create -d
Fixes:	448ec129bc ("git-arc: Add a create-draft mode")
2026-05-07 17:18:32 +00:00
Konstantin Belousov 18c5a26f8a vm_map_growstack(): give a hint to user that stack was blown out
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D56863
2026-05-07 20:00:14 +03:00
Konstantin Belousov 642dd17ee9 vm_map_growstack(): consistently use local vars instead of curthread/proc
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D56863
2026-05-07 20:00:14 +03:00
Kristof Provost 4e7c1ff95a pfctl: relax interface name requirement
The FreeBSD network stack, for better or worse, does not impose any
requirements on interface names. As such it's valid for an interface
name to start with a number (or indeed, be something like '').

Allow this in pfctl, and add a test case for the specific case of
interface names starting with a number.

Note that we don't support UTF-8 names fully, so those may still fail.

PR:		295064
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2026-05-07 17:07:23 +02:00
Kristof Provost 726ff260ec pfctl: optionally print the rule in the state overview
When dumping states optionally (at '-vv') also show the rule which
created the state. This can be helpful if the ruleset changed and we
want to know what rule created the state.

Sponsored by:	Rubicon Communications, LLC ("Netgate")
2026-05-07 17:06:56 +02:00
Mateusz Piotrowski 2b9301a22b d.7: Document macro variables
MFC after:	1 week
2026-05-07 16:20:46 +02:00
Mateusz Piotrowski 640af0d906 cam: Cross-reference dtrace_cam.4 and cam.4
While here, remove empty sections from cam.4.

MFC after:	3 days
Fixes:		1a7151f796 cam: Add probes for xpt actions
2026-05-07 15:13:47 +02:00
Konstantin Belousov ce4e8c478a bufspace_wait(): only try to help bufdaemon if there is a chance to help
Only call buf_flush() if there are some dirty buffers belonging to the
vnode we are allocating the buffer for.  Otherwise the bd dirty queue
scan cannot find anything and it makes no sense to spend CPU doing it.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2026-05-07 14:59:11 +03:00
Mateusz Piotrowski ef19cae253 dtrace_mib.4: Document the DTrace MIB provider
Reviewed by:	kp
MFC after:	1 week
Obtained from:	60d8dbbef0 netinet: add a probe point for IP, IP6, ICMP, ICMP6, UDP and TCP stats counters
Differential Revision:	https://reviews.freebsd.org/D53709
2026-05-07 13:53:50 +02:00
Mateusz Piotrowski 242050278a dtrace: Document the syscall provider
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D56831
2026-05-07 11:57:03 +02:00
Alex Richardson 40d59ee35d p9fs: Fix creating files with restrictive permissions
When a file is created via p9fs with restrictive permissions (like 000),
the 9P TCREATE request successfully creates and natively opens the file,
returning an open, writable file descriptor. Previously, p9fs would
attempt a subsequent TOPEN. That TOPEN would fail with EACCES due to the
restrictive mode, leaving a 0-byte file and causing operations like 'mv'
to abort.

We now preserve the writable descriptor returned by TCREATE so that the
subsequent VOP_OPEN can use it directly, avoiding the failing TOPEN.
Additionally, p9fs_compatible_mode now appropriately isolates the base
access intent when matching fids, preventing extended flags from
breaking the match.

A test case for this behavior has been submitted to pjdfstest:
https://github.com/pjd/pjdfstest/pull/87

Resolves: https://github.com/CTSRD-CHERI/cheribsd/issues/2617

Reviewed by:	markj
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D56494
2026-05-06 21:23:28 -07:00
Alex Richardson 96b2f4a912 p9fs: implement basic pathconf support
This is needed for various pjdfstest tests which fail with syntax errors
if pathconf _PC_NAME_MAX/_PC_PATH_MAX return -1. For NAME_MAX we can use
the 9P2000.L Tstatfs call to get namelen from the host. While this could
theoretically be different for nested filesystems in the shared mount it
is a much better guess than just returning 255.
There does not seem to be a way to get the host PATH_MAX, so we just
return the conservative kernel default.

Found while fixing https://github.com/CTSRD-CHERI/cheribsd/issues/2617.

Reviewed by:	markj, kib
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D56493
2026-05-06 21:23:04 -07:00
Alex Richardson 1ed2ef42e0 p9fs: Move UMA zone initialization to VFS module lifecycle
Previously, the UMA zones required for 9P requests (p9fs_buf_zone,
p9fs_req_zone, etc.) were initialized and destroyed in the
virtio_p9fs transport module. This caused issues when unloading
the core p9fs module.

This change moves p9_init_zones() and p9_destroy_zones() into
p9fs_init() and p9fs_uninit() inside p9fs_vfsops.c so that they
are correctly bound to the VFS filesystem module lifecycle via
vfs_modevent, aligning p9fs with standard FreeBSD VFS semantics.

Found while fixing https://github.com/CTSRD-CHERI/cheribsd/issues/2617.

Reviewed by:	kib
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D56492
2026-05-06 21:23:04 -07:00
Alex Richardson 3fe5069ce2 virtio_p9fs: Fix kernel panic on module unload
The virtio_p9fs module event handler can be invoked multiple times.
Previously, this caused p9_init_zones() and p9_register_trans() to be
executed multiple times, leaking UMA zones and corrupting the transport
list. During module unload, p9_destroy_zones() was also called multiple
times on the same zone pointers, triggering a duplicate free kernel panic
in uma_zdestroy().

This patch introduces a static reference counter in vt9p_modevent() to
ensure the zones and transports are only initialized and destroyed exactly
once, aligning with the approach used by other virtio drivers like vtnet.

Reviewed by:	kib, markj
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D56497
2026-05-06 21:23:03 -07:00
Alex Richardson 3daa43b1bb sys: Make priority.h and rtprio.h include all dependencies
This ensures this header can be included without an explicit or implicit
sys/types.h include first. This causes issues building SPEC2017 which
includes sys/rtprio.h and then we get an error due to missing u_char
definition.

Reviewed by:	emaste
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D52041
2026-05-06 21:23:03 -07:00
Simon J. Gerraty 586838724e Remove PROC_CHECK_PRIV macro from sys_process.c
Just put the priv_check calls in the code.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D56864
2026-05-06 20:49:06 -07:00
Maxim Konovalov 09d81767e3 freebsd-base.7: style 2026-05-07 01:50:45 +00:00
Marek Zarychta b2e4da0b53 devd: Use PF_LOCAL instead of PF_INET
Avoid dependency on INET (IPv4) by using PF_LOCAL,
allowing media check to work on systems without INET support.

PR:		295045
Reviewed by:	kevans
MFC after:	1 week
2026-05-06 20:28:08 -05:00
Jan Bramkamp 58811b0ae0 jail: open the fstab files with fopen("re")
This protects against accidentally leaking them past fork()+exec()
in future refactorings.

PR:		295052
Reviewed by:	kevans
2026-05-06 18:28:53 -05:00
Jan Bramkamp 276d9b88a9 jail: avoid leaking jail config fds to exec.* hooks
The jail(8) command must not leave parsed configuration files open
since the file descriptors will be leaked to child processes
including the untrusted exec.start or exec.stop hooks.

While fopen() doesn't provide direct access to O_CLOEXEC, it does
provide access to FD_CLOEXEC via "e" in the mode string which
provides the desired defense in depth against leaking file descriptors
into exec.* hooks since those always execve() into a shell.

Jail configuration is potentially sensitive and some hooks execute from
within the jail context, leaving some opening for the jail to exfiltrate
information about the host environment.

(Commit message wordsmithed by kevans)

PR:		295052
Reviewed by:	kevans
MFC after:	3 days
2026-05-06 18:28:53 -05:00
Enji Cooper 3348fa7a45 Revert "Skip sys.netinet6.frag6.frag6_19.frag6_19 in CI"
Per [siva@'s comment on the PR][1], this testcase now passes cleanly in CI.

PR:	274941
MFC after:	1 week

[1]: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274941#c6

This reverts commit 86e87c3bd1.
2026-05-06 16:08:26 -07:00
Martin Matuska efa8679e7f zfs: merge openzfs/zfs@a12c6ed62
Notable upstream pull request merges:
 #18473 b8d959640 Fix rare cksum errors after rebuild
 #18477 e78a51dd6 Fix off-by-one in PREVIOUSLY_REDACTED handler that drops
                  last block
 #18482 d5099c330 Initialize vr_last_txg for rebuild
 #18483 872f01019 Zstd: rework ZSTD_isError symbol renaming
 #18489 366b1f9a3 Fix long POSIX_FADV_DONTNEED for single block files

Obtained from:	OpenZFS
OpenZFS commit:	a12c6ed62f
2026-05-07 01:07:56 +02:00
Alexander Ziaee c4af3f13a4 freebsd-base.7: Document adding a local repo
MFC after:		1 day
Discussed with:		bcr, ivy, kevans, ngie
Differential Revision:	https://reviews.freebsd.org/D56608
2026-05-06 17:25:26 -04:00
Baptiste Daroussin 2a86992ab5 nuageninit: modify the test to show the issue fixed inc316ec259011
Ensure the script used is invalid when parsed by libyaml which
highlight the issue revealed in PR295062

while at here validate the mode of the file is properly changed

PR:		295062
MFC After:	1 day
2026-05-06 23:16:37 +02:00
John Baldwin 5df7dae10d kobj: Use M_WAITOK in kobj_init
Blocking allocation is safe in all of the current callers of kobj_init
(most of them do a M_WAITOK malloc of the structure passed as the
first argument to kobj_init just before calling it).  kobj_init
doesn't return an error code but instead panics if the nested malloc
in kobj_class_compile1 fails, so using M_WAITOK here is more robust.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D56625
2026-05-06 16:53:46 -04:00
John Baldwin 5a6e5954d1 kobj: Assert class passed to kobj_init_static is compiled
Inspired by discussion in
https://github.com/freebsd/freebsd-src/pull/2016

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D56624
2026-05-06 16:53:46 -04:00
Ariel Ehrenberg bf636accdd mlx5en: destroy TIR before DEK during TLS RX teardown
Reorder the TLS RX teardown sequence so the TIR is destroyed before
the DEK.  DESTROY_TIR for a TLS-enabled TIR issues a TRA RX fence
that drains all in-flight packets from the crypto pipeline.  If the
DEK is destroyed first, packets still in flight hit a TPT encryption
error (vendor syndrome 0x55) because the key they reference is
already gone.

Reviewed by:	kib
Sponsored by:	Nvidia networking
MFC after:	1 week
2026-05-06 23:52:12 +03:00
Baptiste Daroussin c316ec2590 nuageinit: only parse user_data as yaml when necessary
This fixes a regression introduced in cae280931c which prevents
user_data as a shell script to be used

PR:		295062
Reported by:	Ross McKelvie <ross@exitzero.uk>
MFC After:	1 day
2026-05-06 22:20:45 +02:00
Hans Rosenfeld 84a9574180 sys/cdefs.h: Introduce __maybe_unused attribute
The __maybe_unused attribute should be used for variables which may or
may not be used, such as when their only use is in an assertion. This
attribute is functionally identical to __unused, suppressing compiler
warnings for particular variable if it remains unused.

Reviewed by:	Minsoo Choo <minsoo@minsoo.io>, imp
Differential Revision:	https://reviews.freebsd.org/D56517
2026-05-06 15:51:46 -04:00