FreeBSD git weekly: 2025-10-13 to 2025-10-19

Introduction

This is a display of mostly-automatically-classified git commits from 2025-10-13 to 2025-10-19.

In the future, these reports might include summaries or additional information, but for now our focus is figuring out what type of classification would be most useful.

DEBUG: This version of the report is primarily for checking the classifiers, and therefore contains extra information (in this colour).

DEBUG: In addition, debug pages for the latest week are often produced by a daily or hourly cronjob, and thus might not have any human review. Don't worry if you see commits in the wrong section; I'll check and fix them.

Table of contents and commits per category:

(3) Highlighted commits (these are copies, not in stats)
3 1.6% Userland programs
14 7.6% Documentation
25 13.6% Hardware support
27 14.7% Networking
16 8.7% System administration
5 2.7% Libraries
6 3.3% Filesystems
45 24.5% Kernel
15 8.2% Build system
3 1.6% Internal organizational stuff
12 6.5% Testing
7 3.8% Style, typos, and comments
6 3.3% Contrib code
0 0.0% Reverted commits
0 0.0% Unclassified commits
184 100% total
Technical notes about this page

debug: info about the automatic classification

num % num changed stage
7 3.8% 0 01-style
25 13.6% 0 02-filenames_wildcards
6 3.3% 0 02b-filenames_wildcards2
77 41.8% 0 03-filenames_plain1
60 32.6% 0 04-filenames_plain2
6 3.3% 0 05-summary-prefix
3 1.6% 0 Manually-classified commits
0 0.0% 0 Unclassified commits

debug: more stats

num % stage
0 0.0% Misclassified commits
181 98.4% Classified commits, no corrections

debug: groups

0 0.0% num in revert
1 0.5% num in fixes
22 12.0% num in consecutive
23 12.5% Commits in groups

Highlighted commits

For extra visibility, these are copies of commits found in other sections. Most (if not all) come from the commit message containing "Relnotes:", or commits modifying UPDATING.

blocklist: Add an UPDATING entry
Add an UPDATING entry about the renaming of blocklist.

Approved by:    emaste (mentor)
Fixes:  https://cgit.freebsd.org/src/commit/?id=7238317403b9 ("blocklist: Rename blacklist to blocklist")
MFC after:      1 day
ffa8165009365ff93050626d880f2d1d6aacc31a Jose Luis Duran 2025-10-13 14:35:12

debug: classified in 03-filenames_plain1 by 'UPDATING'

packages: Rename unbound to local-unbound
This more accurately reflects its purpose, and its contents, since
everything in the package is prefixed with "local-".

While here, add a message on upgrade about regenerating the config.

MFC after:      3 seconds
Requested by:   des
Reviewed by:    des
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53056
bf84861460f9287fe9cf66b2cd22fefe8e242a28 Lexi Winter 2025-10-15 11:00:35

debug: classified in 05-summary-prefix by 'packages:'

UPDATING: Belatedly note OpenZFS sysctls moving
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52665
9f85cf09d48bb1bebeddab0913fc9ab2735cb810 Ed Maste 2025-10-16 16:47:08

debug: classified in 03-filenames_plain1 by 'UPDATING'

Userland programs

Commits about commands found in man section 1 (other than networking).

login.conf: Remove never used ignoretime/ignoretime@
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240378
Reviewed by:    otis (mentor), glebius (src committer)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D52991
4835fc45efe8b593fa49786ec4bfb6ce5050756c Paul Armstrong 2019-09-06 21:40:01

debug: classified in 04-filenames_plain2 by 'usr.bin/'

mkimg: Add a -h option and improve usage output to be more expressive
Reviewed by:  imp, kp
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52906
6fa18fe74461497f9a557af806552d246159272e Brad Davis 2025-10-03 21:57:06

debug: classified in 04-filenames_plain2 by 'usr.bin/'

find: fix pathnames printed by the SIGINFO handler
Don't duplicate the last component.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290362
Reported by:    John F. Carr <jfc@mit.edu>
Fixes:          https://cgit.freebsd.org/src/commit/?id=d06a00963b7
MFC after:      3 days
Reviewed by:    jilles, Goran Mekić <meka@tilda.center>
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1878
f6d767fe862964f704baf4eb388a30ed8227bb65 Alan Somers 2025-10-19 15:53:50

debug: classified in 04-filenames_plain2 by 'usr.bin/'

Documentation

Man pages, release notes, etc.

pam_xdg.8: Remove bogus note
The pam_xdg module does set the XDG_RUNTIME_DIR in the environment, it's actually
its main purpose.

Reported by:    arrowd
f08c46c8c83b4de306db1c8fab36a51c6c0ca28e Emmanuel Vadot 2025-10-13 05:57:46

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

bridge.4: Fix the synopsis for -ifuntagged
This command doesn't accept a vlan-id.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290141
MFC after:      3 days
Reported by:    Paul Procacci <pprocacci@gmail.com>
Reviewed by:    ziaee (manpages)
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53049
dc978c5cb55b75d292c7ef32564f5c376685234b Lexi Winter 2025-10-13 05:57:57

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

bridge.4: Improve VLAN documentation
Document how bridge implements VLANs, and provide an example of
configuring a bridge with VLAN filtering.

MFC after:      3 days
Reviewed by:    ziaee, pauamma_gundo.com (previous version)
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D51185
dd69f1261ec5eb91cd7786d4462a15cfdd810d25 Lexi Winter 2025-10-13 10:39:56

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

realpath: Belatedly document POSIX conformance
We've been mostly POSIX-conforming since r236400 and fully since r240410,
which fixed a corner case where a missing non-leaf directory would be
reported as ENOTDIR instead of ENOENT.

Sponsored by:   Klara, Inc.
Fixes:          https://cgit.freebsd.org/src/commit/?id=7877ed7ce33e ("Avoid mapping ENOENT to ENOTDIR for non-existent path components.")
Reviewed by:    ziaee, markj
Differential Revision:  https://reviews.freebsd.org/D53027
7c66667d45e95af59f59e41ef169119a974a6be1 Dag-Erling Smørgrav 2025-10-13 11:53:31

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

blocklist: Add an UPDATING entry
Add an UPDATING entry about the renaming of blocklist.

Approved by:    emaste (mentor)
Fixes:  https://cgit.freebsd.org/src/commit/?id=7238317403b9 ("blocklist: Rename blacklist to blocklist")
MFC after:      1 day
ffa8165009365ff93050626d880f2d1d6aacc31a Jose Luis Duran 2025-10-13 14:35:12

debug: classified in 03-filenames_plain1 by 'UPDATING'

certctl.8: Update documentation of BUNDLE
- Fix a typo.
- Provide the default path.

Reviewed by:    des
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53001
ec8e07e8fa94767dceb409c4c7c1840bba39172b Mark Johnston 2025-10-14 13:32:46

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

socket(2): refactor the manual page
Create a chapter on every important socket type: stream, datagram,
seqpacket.  Always list what protocol families do support what kinds of
sockets.  Improve some statements possessing language from the
specification [1].  Reduce some statements that are mostly specific to
TCP.  Provide more external links and references to various important
syscalls that can be used on sockets.

Add a paragrph on non-blocking mode.

The big factual change is documentation of SOCK_SEQPACKET.  In FreeBSD 15
this socket now fully follows the specification and is a stream socket
with record boundaries.

[1] https://pubs.opengroup.org/onlinepubs/9799919799/functions/V2_chap02.html#tag_16_10_06

Differential Revision:  https://reviews.freebsd.org/D52771
86d17239233ea4f5766bee68ba6355804525cefa Gleb Smirnoff 2025-10-14 18:41:25

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

socket.2: spell
ad13fd5a8fa1607805d11ced3428e86dbd94778e Maxim Konovalov 2025-10-14 20:32:07

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

nvd.4: Add a HARDWARE section for HW Relnotes
MFC after:    3 days
Reviewed by:    dab
Differential Revision:  https://reviews.freebsd.org/D52867
7f5267a99895a797ea135b67aa58d561ee52b279 Alexander Ziaee 2025-10-16 17:16:23

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

release.7: Update RPI example + CHROOTDIR + SPDX
+ arm/RPI-B.conf no longer exists, adjust for arm64/RPI.conf
+ document default CHROOTDIR, also add to FILES list
+ tag SPDX

MFC after:      3 days
Reviewed by:    cperciva
Differential Revision:  https://reviews.freebsd.org/D53078
8a9f1a2286689c447e8528dc79ee6c4a47423fdc Alexander Ziaee 2025-10-16 17:16:48

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

UPDATING: Belatedly note OpenZFS sysctls moving
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52665
9f85cf09d48bb1bebeddab0913fc9ab2735cb810 Ed Maste 2025-10-16 16:47:08

debug: classified in 03-filenames_plain1 by 'UPDATING'

manpages: Use canonical names for Linux filesystems
The manpages of linprocfs(5) and linsysfs(5) document incomplete names without
"fs" suffix. Make them identical to other filesystems.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283079
MFC after:      3 days
Reviewed by:    ziaee, markj
Differential Revision:  https://reviews.freebsd.org/D53155
88b9ca860ef332d4d32e97e0f8a166f12cffc8e3 Michael Osipov 2025-10-17 09:24:12

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

VOP_OPENCLOSE.9: note that td may be NULL for VOP_CLOSE
MFC after:    3 days
Reviewed by:    asomers, olce
Differential Revision:  https://reviews.freebsd.org/D53137
8a1d6d6da5cfe0b69c08f20e52817aa9920efe87 Jason A. Harmening 2025-10-16 15:25:51

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

kqueue.2: document KQUEUE_CPONFORK
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
a4981ededef3c2d867ddd991905e4b65bc917a62 Konstantin Belousov 2025-10-08 03:06:20

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

Hardware support

Hardware drivers and architecture-specific code.

Commit group #0: nvme: use nitems() rather than hard coded value
nvme: use nitems() rather than hard coded value

Suggested by: jhb@
Sponsored by: Netflix
d714732b598bd6ac04ba8214b80a6b5f61881e3a Warner Losh 2025-10-13 05:16:20

debug: classified in 03-filenames_plain1 by 'sys/dev/'


nvme: Use unsigned

CI complains about signed/unsigned comparisons, but normal build does
not. Fix this by transitioning to unsigned and using a loop-scoped
variable.

Fixes: https://cgit.freebsd.org/src/commit/?id=d714732b598b
Sponsored by: Netflix
96e0a62abd93664ad52d18a899f83cd866793a90 Warner Losh 2025-10-13 06:12:36

debug: classified in 03-filenames_plain1 by 'sys/dev/'

dev/fdt: Use proper prototype for SYSINIT functions
MFC after:    1 week
d82653aee7e357916403147dc21d342e6b543106 Zhenlei Huang 2025-10-13 10:12:28

debug: classified in 03-filenames_plain1 by 'sys/dev/'

iommu_gas: Use proper prototype for SYSINIT functions
MFC after:    1 week
05c313cd2cbcc6c0a6ffa97363b70232d02542f3 Zhenlei Huang 2025-10-13 10:12:29

debug: classified in 03-filenames_plain1 by 'sys/dev/'

nvme: Use proper prototype for SYSINIT functions
MFC after:    1 week
dd256c3fa738b6941f58355c077224c9a227b169 Zhenlei Huang 2025-10-13 10:12:29

debug: classified in 03-filenames_plain1 by 'sys/dev/'

xdma: Use proper prototype for SYSINIT functions
MFC after:    1 week
ef56b9188937eec1ceef458d02c71c6b890b398a Zhenlei Huang 2025-10-13 10:12:29

debug: classified in 03-filenames_plain1 by 'sys/dev/'

xen: Use proper prototype for SYSINIT functions
The only possible return value of function xen_intr_init() is 0. Make
it return void to match the prototype of SYSINIT.

MFC after:      1 week
19061a898ac809c8e9a30839b7200ff13a6eb9c0 Zhenlei Huang 2025-10-13 10:12:30

debug: classified in 03-filenames_plain1 by 'sys/dev/'

arm: Use proper prototype for SYSINIT functions
The only possible return value of function module_info_init() is 0. Make
it return void to match the prototype of SYSINIT.

MFC after:      1 week
0b9c12fa976446705635a94984f45232f034eecf Zhenlei Huang 2025-10-13 10:12:35

debug: classified in 03-filenames_plain1 by 'sys/arm/'

arm64 coresight: Use proper prototype for SYSINIT functions
MFC after:    1 week
5d5ba0c0fa9e2eaeda9d41508bb0f83d5a55f367 Zhenlei Huang 2025-10-13 10:12:36

debug: classified in 03-filenames_plain1 by 'sys/arm64/'

i386: Use proper prototype for SYSINIT functions
MFC after:    1 week
0039721e3bab22446413fb62532e622345770ffb Zhenlei Huang 2025-10-13 10:12:36

debug: classified in 03-filenames_plain1 by 'sys/i386/'

powerpc: Use proper prototype for SYSINIT functions
MFC after:    1 week
9caa16bd028746af7bee01c6bcc6394de91265db Zhenlei Huang 2025-10-13 10:12:37

debug: classified in 03-filenames_plain1 by 'sys/powerpc/'

tsc: Use proper prototype for SYSINIT functions
MFC after:    1 week
bf8f6545f6ca41e080cc3bc42009bdf253f596b4 Zhenlei Huang 2025-10-13 10:12:37

debug: classified in 03-filenames_plain1 by 'sys/x86/'

x86/xen: Use proper prototype for SYSINIT functions
MFC after:    1 week
c8e077e57b2535b840d391f3217d00465b0514c4 Zhenlei Huang 2025-10-13 10:12:37

debug: classified in 03-filenames_plain1 by 'sys/x86/'

mv88e151x: fix potential attach and autonegotiation issues
Reported by:  GCC -Wmaybe-uninitialized, -Wtautological-compare
Reviewed by:    kp
Differential Revision:  https://reviews.freebsd.org/D45919
68501a93076ac095be7a96ecd55d15287c497c9d Ryan Libby 2025-10-15 04:01:48

debug: classified in 03-filenames_plain1 by 'sys/dev/'

arm64: Move BP hardening and SSBD workaround to CPU_FEAT framework
Port the BP hardening and SSBD workaround from cpu_quirks to the
CPU_FEAT framework.

Reviewed by:    andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53112
d970d0246fdd70f65db7226104071330c83e27bd Sarah Walker 2025-10-16 16:11:51

debug: classified in 03-filenames_plain1 by 'sys/arm64/'

tools: Update sysctl to its new name
The kern.ipc.somaxconn sysctl has been replaced with
kern.ipc.soacceptqueue since FreeBSD 10.0.

Reviewed by:    emaste
MFC after:      1 hour
Differential Revision:  https://reviews.freebsd.org/D34598
84333aada464296c1e28126b5c91ae2fb3f79eef Jose Luis Duran 2025-10-16 17:18:51

debug: Commit manually moved from "unknown" to "hardware".

ixl(4): fix multicast promiscuous mode state tracking and filter management
This change reapplies the improvements from commit 89e7335 and adds
additional fixes and code optimizations on top of it.

The ixl driver supports up to 128 multicast filters in hardware. When this
limit is exceeded, the driver should enable multicast promiscuous mode.
When the count drops below 128, it should disable promiscuous mode and
restore individual filters.

The driver previously had problems that could corrupt multicast filters list.
The main issue was that ixl_dis_multi_promisc() would attempt to disable
promiscuous mode without checking if it was actually enabled, potentially
corrupting existing filters. There was also no state tracking across driver
functions, leading to redundant operations.

This change adds an IXL_FLAGS_MC_PROMISC flag to track the multicast
promiscuous mode state. The flag is set when enabling promiscuous mode and
cleared when disabling it. Early return checks prevent redundant operations
when the mode is already in the desired state, avoiding filter corruption
and unnecessary hardware calls.

Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283820
Approved by:    kbowling (mentor)
Tested by:      gowtham.kumar.ks_intel.com
MFC after:      2 weeks
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D52549
46a8a1f08f88c278e60ebb6daa7a551eb641c67b Bhosale, Yogesh 2025-10-16 20:02:45

debug: classified in 03-filenames_plain1 by 'sys/dev/'

netmap: Fix error handling in nm_os_extmem_create()
We bump the object reference count prior to mapping it into the kernel
map, at which point the vm_map_entry owns the reference.  Then, if
vm_map_wire() fails, vm_map_remove() will release the reference, so we
should avoid decrementing it in the error path.

Reported by:    Ilja van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    vmaffione
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53066
dfc1041c08ba32f24b8050b4d635a0bbbfd9b767 Mark Johnston 2025-10-17 12:55:17

debug: classified in 03-filenames_plain1 by 'sys/dev/'

vmm: Fix a deadlock between vm_smp_rendezvous() and vcpu_lock_all()
vm_smp_rendezvous() invokes a callback on all vCPUs, blocking the
initiator until all vCPUs have responded.  vcpu_lock_all() blocks each
vCPU by waiting for it to go idle and setting the vCPU state to frozen.
These two operations can deadlock on each other, particularly when
booting a Windows guest, when vcpu_lock_all() blocks waiting for a
rendezvous initiator, and the initiator is blocked waiting for the vCPU
thread which called vcpu_lock_all() to invoke the rendezvous callback.

Implement vcpu_lock_all() in a way that avoids deadlocks with
vm_smp_rendezvous().  In particular, when traversing vCPUs, invoke the
rendezvous callback on the vCPU's behalf to help the initiator finish.
We can only safely do so when the vCPU is IDLE or we have already locked
it, otherwise we may be racing with the target vCPU thread.  Thus:
- Use an exclusive lock to serialize vcpu_lock_all() callers, which lets
  us lock vCPUs out of order without fear of deadlock with parallel
  vcpu_lock_all() callers.
- If a rendezvous is pending, lock all idle vCPUs and invoke the
  callback on their behalf.  If the vcpu_lock_all() caller is itself a
  vCPU thread, this will handle that thread.
- Block waiting for all non-idle vCPUs to idle, or until one of them
  initiates a rendezvous, in which case we go back and invoke callbacks
  on behalf of already-locked vCPUs.

Note that on !amd64 no changes are needed since there is no rendezvous
mechanism, so there is a separate vcpu_set_state_all() for them based on
the previous vcpu_lock_all().  These will be merged together once vcpu
state handling is consolidated into sys/dev/vmm.

Reviewed by:    corvink (previous version)
MFC after:      3 weeks
Differential Revision:  https://reviews.freebsd.org/D52968
f39768e52e513264da60add0ca2412bddda271ff Mark Johnston 2025-10-17 13:09:38

debug: classified in 03-filenames_plain1 by '['sys/amd64/', 'sys/arm64/', 'sys/dev/', 'sys/riscv/']'

pci/n1sdp: Disable HotPlug
Work around an issue when HotPlug is enabled where pcib3 and pcib5
continuously report the following:

pcib3: HotPlug interrupt: 0x30
pcib3: Command Completed
pcib3: HotPlug interrupt: 0x30
pcib3: Command Completed
...

As a workaround disable HotPlug on the N1SDP as it's unlikely anyone
will depend on it.

Reviewed by:    br
Fixes:  https://cgit.freebsd.org/src/commit/?id=1f5c50a86173 ("pci_host_generic:Add pcib_request_feature on ACPI")
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53134
edbbf26e2650e02cd3925dd1deaacf9b8fb2e2a0 Andrew Turner 2025-10-17 15:02:19

debug: classified in 03-filenames_plain1 by 'sys/dev/'

dc(4): fix argument to if_foreach_llmaddr() for 21143.
As found on RTEMS the argument to if_foreach_llmaddr() was wrong
causing crashes.

Fixes:          https://cgit.freebsd.org/src/commit/?id=51e80820552e0
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290314
MFC after:      3 days
33afdf0e356d84ffe5c62c886f84cf12ba147d3e Chris Johns 2025-10-17 12:38:30

debug: classified in 03-filenames_plain1 by 'sys/dev/'

bluetooth: ng_ubt_rtl/rtlbtfw: remove duplicate entry in device table
Remove the single 8822CU entry in all three places.
It seems the only entry referencing a USB device.  The same device is
listed with the 8822CE devices.

MFC after:      3 days
Reviewed by:    wulf
Differential Revision: https://reviews.freebsd.org/D52324
0ee6e36ea9b2dd959b0fb9f04ab98a01f93729fc Bjoern A. Zeeb 2025-09-01 18:27:02

debug: classified in 05-summary-prefix by 'bluetooth:'

pt: Switch to swi(9)
The pt hwt(4) backend uses NMIs to receive updates about the latest t
racing buffer offsets from the tracing hardware. However, it uses
taskqueue(9) to schedule the bottom-half handler. This can lead to
a panic since the taskqueue(9) code isn't aware it's being called
from an NMI context and uses the regular scheduling interfaces.

Fix this by scheduling the bottom-half handler using swi(9) and the
SWI_FROMNMI flag.

Fixes:  https://cgit.freebsd.org/src/commit/?id=310162ea218a
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52491
96d82d2d133acaf8effa2e3aee546276e39ff9f2 Bojan Novković 2025-08-11 18:57:31

debug: classified in 03-filenames_plain1 by 'sys/amd64/'

achiem: quiet gcc -Warray-bounds
gcc complains about accessing the byte as ads->common.bytes[3] as that
field is declared as being one byte.

Reviewed by:    mav
Differential Revision:  https://reviews.freebsd.org/D53152
5bd3ce4ef629d2ffd57b4b58a7e7d56cb0e171a8 Ryan Libby 2025-10-17 22:43:06

debug: classified in 03-filenames_plain1 by 'sys/dev/'

kqueue: handle copy for netmap filters
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
7a72e88781ae294aae6b97e1972cb19b2a670412 Konstantin Belousov 2025-08-23 14:42:19

debug: classified in 03-filenames_plain1 by 'sys/dev/'

Networking

Network-related commands, library, and kernel.

net: Use proper prototype for SYSINIT functions
MFC after:    1 week
6f8259eae61981d7e5d049be7eed9235f0e8172e Zhenlei Huang 2025-10-13 10:12:32

debug: classified in 03-filenames_plain1 by 'sys/net/'

net80211: Use proper prototype for SYSINIT functions
MFC after:    1 week
7449e59110b8abbb3d647c3565ca3de1d21b2c84 Zhenlei Huang 2025-10-13 10:12:32

debug: classified in 03-filenames_plain1 by 'sys/net80211/'

netinet: Use proper prototype for SYSINIT functions
MFC after:    1 week
6613b6ad1ecc5384c119018b9b27c18bd7516e3f Zhenlei Huang 2025-10-13 10:12:33

debug: classified in 03-filenames_plain1 by 'sys/netinet/'

netinet6: Use proper prototype for SYSINIT functions
MFC after:    1 week
d4a80fa271b148b269869e5ca34e1861d9fcdfb0 Zhenlei Huang 2025-10-13 10:12:33

debug: classified in 03-filenames_plain1 by 'sys/netinet6/'

netipsec: Use proper prototype for SYSINIT functions
MFC after:    1 week
360bb45690d918fac5bae78ab44f45d11327067a Zhenlei Huang 2025-10-13 10:12:33

debug: classified in 03-filenames_plain1 by 'sys/netipsec/'

ipfw: Use proper prototype for SYSINIT functions
The only possible return value of function ipfw_init() is 0. Make it
return void to match the prototype of SYSINIT.

MFC after:      1 week
1bba2194c8a960235f8eae36e7d3e96f347ce779 Zhenlei Huang 2025-10-13 10:12:33

debug: classified in 03-filenames_plain1 by 'sys/netpfil/'

pf: Use proper prototype for SYSINIT functions
MFC after:    1 week
0ce8c20fcd44c1595b42fcb540913d3802edd438 Zhenlei Huang 2025-10-13 10:12:34

debug: classified in 03-filenames_plain1 by 'sys/netpfil/'

nfs: Use proper prototype for SYSINIT functions
MFC after:    1 week
a06ecc4f70c296f62f666421c3cf9643d40bdca2 Zhenlei Huang 2025-10-13 10:12:34

debug: classified in 03-filenames_plain1 by 'sys/nfs/'

Commit group #1: tcp
tcp: Initial ktest for HPTS

Reviewed by:            rrs, tuexen
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52979
be1ad90e6bb6ea915d122f7abe407dc18d38a673 Nick Banks 2025-10-13 19:47:31

debug: classified in 03-filenames_plain1 by 'sys/netinet/'


tcp: simplify tcp_hpts_insert signature

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
790d941880812146ec566cae0cc22ae831e25981 Nick Banks 2025-10-13 19:53:20

debug: classified in 03-filenames_plain1 by 'sys/netinet/'


tcp: remove notion of ticks from HPTS

To improve consistency of the code, don't use slots and ticks,
just use slots.

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
23461f4997c24896058152d9de56bb4f4527984a Nick Banks 2025-10-13 20:00:27

debug: classified in 03-filenames_plain1 by 'sys/netinet/'


tcp: fix KASSERT in HPTS

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
e79941bcb9d8758070a97d780582e097bb82396e Nick Banks 2025-10-13 20:24:52

debug: classified in 03-filenames_plain1 by 'sys/netinet/'


tcp: fix a bug in HPTS

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
0eef2b4a002aace2ac9cc092bee6e10f6332f5ce Nick Banks 2025-10-13 20:27:43

debug: classified in 03-filenames_plain1 by 'sys/netinet/'

Commit group #2: tcp
tcp: use time instead of slots in the HPTS API

This makes slots an internal concept of HPTS.

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
156dfc3e6e53a07bfa2d1e9d6e1ec37871cb887a Nick Banks 2025-10-13 20:35:29

debug: classified in 03-filenames_plain1 by 'sys/netinet/'


tcp: remove unused argument in HPTS

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
bf48bc994a92850f7717b79da3a10a80725073bd Nick Banks 2025-10-13 20:38:51

debug: classified in 03-filenames_plain1 by 'sys/netinet/'


tcp: add missing header file

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
2241cd10d6e0eaf16d1f3090f1d438543e127f0c Nick Banks 2025-10-13 20:45:39

debug: classified in 03-filenames_plain1 by 'sys/netinet/'

ipfw: Check for errors from sooptcopyin() and sooptcopyout()
Note, it looks like this code may be unused since commit 4a77657cbc01
("ipfw: migrate ipfw to 32-bit size rule numbers").  In particular, it
looks like the ipfw_nat_*_ptr pointers are unused now.

Reviewed by:    ae
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53068
2df39ce5d4a8836ef5fd3c2666f48041042eff42 Mark Johnston 2025-10-14 13:33:13

debug: classified in 03-filenames_plain1 by 'sys/netpfil/'

sockstat: improve handling of path state
Only suppress the path state column when producing traditional text
output. When generating html output, always include the column.
Please note that when generating json or xml output, optional fields
like the path state are only generated if they is applicable. This
has not been changed.
The changes in this patch were suggested by asomers.

Reviewed by:            asomers
Fixes:                  https://cgit.freebsd.org/src/commit/?id=746eadecaa7d ("sockstat: show path state column only when useful")
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53005
97e858f5b335ae8f98619f9cee8ab9a0501cd06d Michael Tuexen 2025-10-14 06:39:37

debug: classified in 03-filenames_plain1 by 'usr.bin/sockstat/'

openssh: blocklist: Remove non async-signal safe probe
BLOCKLIST_NOTIFY() is called within a signal handler for the alarm after
the grace period has expired that may only take async-signal safe
actions.

Reviewed by:    emaste
Fixes:          https://cgit.freebsd.org/src/commit/?id=e02003bce726 ("openssh: blocklist: Use NetBSD probes")
MFC after:      1 day
Differential Revision:  https://reviews.freebsd.org/D53109
9c82c17c2a3ac61a69cb5337cb6f92ae88bc0b08 Jose Luis Duran 2025-10-15 13:29:30

debug: classified in 05-summary-prefix by 'openssh:'

tests/hpts: provide stub KTEST module compiled without TCP_HPTS_KTEST
This will close a panic on test run when kernel is compiled without HPTS
KTEST support.
f8b76ec4cac745fcb1659e1ae34033a777d35a40 Nick Banks 2025-10-15 17:37:07

debug: classified in 03-filenames_plain1 by 'sys/netinet/'

netinet: do route lookup when asked to join multicast group on ifindex 0
The code to do the route lookup was already there, but was used only for
the legacy IP_ADD_MEMBERSHIP when called without index.  Do same lookup
for IP_ADD_MEMBERSHIP with index and what is more important for
MCAST_JOIN_GROUP, if the supplied index is 0.  This is a neat feature and
Linux does that, so this should make a few applications easier portable to
FreeBSD.

Differential Revision:  https://reviews.freebsd.org/D52918
be7bdb1cf0b0f665bcd57c03fde41bd6c01d8ead Gleb Smirnoff 2025-10-15 18:54:57

debug: classified in 03-filenames_plain1 by 'sys/netinet/'

tcp: bump max snd buffer size for autoscaling
This allows in higher throughput values with default settings.
In the review I was proposing using 16 MB, but in the transport
call today we settled on a more conservative value of 8.
Bumping it further will be done in combination with mitigations
for mbuf exhaustion attacks.

Reviewed by:            rscheff, cc, glebius, Nick Banks, Peter Lei, jtl, thj, rrs
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52872
9dd4742ee51ae80639b087a60ce7d15811c2b1e6 Michael Tuexen 2025-10-15 20:19:14

debug: classified in 03-filenames_plain1 by 'sys/netinet/'

tcp: bump max rcv buffer size for autoscaling
This allows in higher throughput values with default settings.
In the review I was proposing using 16 MB, but in the transport
call today we settled on a more conservative value of 8.
Bumping it further will be done in combination with mitigations
for mbuf exhaustion attacks.

Reviewed by:            rscheff, Peter Lei, jtl, thj
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52871
baeff75122e5cdb669c920414e054224270383d7 Michael Tuexen 2025-10-15 20:24:51

debug: classified in 03-filenames_plain1 by 'sys/netinet/'

tcp: cleanup of syncache_expand()
* Consistently free the string after unlocking the sch, if possible.
* Remove the failure handling in case of sc != NULL, since this is
  not possible anymore.
* Remove the use of goto and instead return 0 in the three cases.
The only change in behavior is that in three out of the four cases,
where 0 is returned, *lsop is not set to NULL anymore. So the behavior
is now consistent and also documented in a comment. The current in
tree callers only look at *lsop, if and only if syncache_expand()
returns 1.

Reviewed by:            Peter Lei
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52948
aafdbf83b926519cb47de8f16a1a40c1ef3c84b5 Michael Tuexen 2025-10-17 05:40:02

debug: classified in 03-filenames_plain1 by 'sys/netinet/'

libalias: quiet gcc -Wcalloc-transposed-args
Reviewed by:  phk
Differential Revision:  https://reviews.freebsd.org/D53151
bf427a09b617b60068af65a4c14632fea4ef7dda Ryan Libby 2025-10-17 22:43:06

debug: classified in 03-filenames_plain1 by 'sys/netinet/'

inline most of the considered lost condensation.
This is a small cleanup to consolidate the considered lost reduction and marking to an
inline function. There are two places where we are using hookery in SACK processing where
we can't use it. All other places we move to the function. This code in theory changes nothing
and just makes things a bit more readable and consistent.

Reviewed by:tuexen
Differential Revision:  <https://reviews.freebsd.org/D53021>
bcdef9d68a2103d78bb335d10bc5a68bf8dfb1aa Randall Stewart 2025-10-19 11:45:23

debug: classified in 03-filenames_plain1 by 'sys/netinet/'

pf: fix 'no rdr'
Ensure we always have a non-NULL rule pointer (ctx.rm).
It might have gotten set to NULL by pf_get_translation().

While here also restore the previous rdr behaviour be re-adding the incorrectly
removed 'break' in pf_match_translation_rule.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290177
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D53191
cb36bfee25b71d1223b8fb1237fcf823d514b50e Kristof Provost 2025-10-18 15:47:47

debug: classified in 03-filenames_plain1 by 'sys/netpfil/'

System administration

Stuff in man section 8 (other than networking).

fwget: pci: mediatek: correct package name
The port is called wifi-firmware-mt76-kmod not "mediatek" in the
moddle.

Reported by:    Lars Tunkrans (drsnx60 gmail.com)
MFC after:      3 days
Reviewed by:    emaste, jrm, imp
Differential Revision: https://reviews.freebsd.org/D53067
10d88a7aa670a3cc2bf763e64bd292b4caa3a811 Bjoern A. Zeeb 2025-10-13 13:15:58

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

Add --libxo support for geom status and list sub commands.
Submitted-by: Johan Söllvander
MFC-after:    1 week
Differential Revision: https://reviews.freebsd.org/D37615
0d4642a67e59f8da5e00a05001c342bdad2a806f Kirk McKusick 2025-10-13 21:15:05

debug: classified in 03-filenames_plain1 by 'sbin/'

ipfw: do not use errno value for error reporting
table_do_modify_record() already uses errno value on error.
Also this fixes problem when `ipfw table add` returns ENOTTY that
is unrelated to operation.

Tested by:      dhw
Fixes:          https://cgit.freebsd.org/src/commit/?id=09025a714708
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53050
dfd822b1f0846bdaa9a14457346f7431a86d3a64 Boris Lytochkin 2025-10-14 08:02:20

debug: classified in 03-filenames_plain1 by 'sbin/'

fsck_ffs: garbage collect calcsb
calcsb is unused since the logic moved to sbsearch / ffs_sbsearch in
e68866164212 ("Move the ability to search for alternate UFS superblocks
from fsck_ffs(8) into ffs_sbsearch() to allow use by other parts of the
system.")

Reviewed by:    mckusick
Differential Revision:  https://reviews.freebsd.org/D53038
b679303544b37b980a3128af9248ee97b0bca5e8 Ryan Libby 2025-10-15 04:03:57

debug: classified in 03-filenames_plain1 by 'sbin/'

bsdinstall: Limit default swap to maximum supported by kernel
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=251993
Reviewed by:    cperciva
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53106
52f9722e6ffff6fee309e6040b7b5313499a03ef Ed Maste 2023-03-06 20:24:05

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

vmrun.sh: Don't require firmware on amd64 unless -E was specified
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290232
Reported by:    David Marker <dave@freedave.net>
Fixes:          https://cgit.freebsd.org/src/commit/?id=aa34b1d20e44 ("vmrun.sh: Add arm64 support")
MFC after:      3 days
f19f17b3af675fbbc1244b66bbd8fb4a9836cb02 Mark Johnston 2025-10-16 14:48:39

debug: classified in 03-filenames_plain1 by 'share/examples/bhyve/'

nanobsd: rescue: Update legacy sysctls
Reviewed by:  emaste
MFC after:      1 hour
Differential Revision:  https://reviews.freebsd.org/D34598
93ee9bb424619f0189b3454380588c955222b89b Jose Luis Duran 2025-10-16 17:13:49

debug: classified in 05-summary-prefix by 'nanobsd:'

Update commit 0d4642a to fix failed tests.
Tests that fail are in
/root/.kyua/store/results.usr_tests_sys_geom_class_multipath.20251015-085403-959737.db

Submitted-by: Johan Söllvander
MFC-after:    1 week
Differential Revision: https://reviews.freebsd.org/D53110
2168e15ee89b4206d8e65a4ea04e4721f60f4060 Kirk McKusick 2025-10-16 20:27:40

debug: classified in 03-filenames_plain1 by 'sbin/'

arp: fix adding proxy entries for P2P interfaces
The old rtsock implementation used in-kernel workaround to do so.
When route to specified destination address used P2P interface, the
kernel did the search with ifa_ifwithnet() for most suitable network
and then add proxy entry to this interface.

Use similar approach with netlink implementation. We already have
get_ether_addr() function that does almost the same thing as
ifa_ifwithnet(). Use it when we find that destination route uses
P2P interface and then try to guess suitable interface. This should
fix the use of netlink-based arp(8) in mpd5.

Rename get_ether_addr() to get_ifinfo(), since now it is used to find
only ifindex in case when hwaddr is specified by user.
Also make set_nl() and delete_nl() prototype similar to rtsock.
And allow '-i' to be used with '-S', since we already allow the same
for '-s'.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290221
Reported by:    eugen
Reviewed by:    eugen
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53113
c26d6bf9da013e839d9a696746ea1741569e619e Andrey V. Elsukov 2025-10-17 07:53:35

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

Commit group #3: quot
quot: Fix benign buffer overflow

If it encounters an inode whose owner does not have a pw entry, quot
allocates a 7-byte buffer (8 in practice, since that is the minimum
allocation size) and uses it to store the numeric uid preceded by a
hash character.  This will overflow the allocated buffer if the UID
exceeds 6 decimal digits.  Avoid this by using asprintf() instead.

While here, simplify the common case as well using strdup().

Reported by:    Igor Gabriel Sousa e Souza <igor@bsdtrust.com>
MFC after:      3 days
Reviewed by:    obiwac, emaste
Differential Revision:  https://reviews.freebsd.org/D53129
5854d1cbab1073d78519e7ad9a6eb5726341d587 Dag-Erling Smørgrav 2025-10-17 11:54:48

debug: classified in 04-filenames_plain2 by 'usr.sbin/'


quot: Clean up

* Fix numerous style violations.
* Modernize somewhat.
* Don't bother examining errno after calling get_inode(), as it always
  exits on error.
* Fix confusing wording in the manual page.

The code remains somewhat idiosyncratic, e.g. in its insistance on
counting down rather than up in simple for loops, but in the absence
of comprehensive automated tests, the risk of introducing bugs exceeds
the benefit of rewriting these into more idiomatic forms.

Reviewed by:    obiwac
Differential Revision:  https://reviews.freebsd.org/D53130
195b00ec45e55c38da13d1bcd2d7eb6614abec59 Dag-Erling Smørgrav 2025-10-17 11:54:59

debug: classified in 04-filenames_plain2 by 'usr.sbin/'


quot: Drop the COMPAT version

We've had this code for 30 years, but there has never been a way to
build it.  We have no idea if it still works, or if it ever worked.

Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53131
0eaca4a24b97c02685532f86c121a4cf415942c5 Dag-Erling Smørgrav 2025-10-17 11:55:03

debug: classified in 04-filenames_plain2 by 'usr.sbin/'


quot: Drop the -h option

There was probably a time, more than 30 years ago, when the actual
size of a file had to be calculated and this option saved time, but
all it does today is give incorrect results for no benefit.

Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53132
8209311c51d34c81edec8d09778201cb6e67c6a5 Dag-Erling Smørgrav 2025-10-17 11:55:07

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

devd/snd.conf: Note that any command can be used for the action
Sponsored by: The FreeBSD Foundation
MFC after:      1 day
Differential Revision:  https://reviews.freebsd.org/D53175
56eee778325b2c839cfbc86a7fec4a355c51ba58 Christos Margiolis 2025-10-18 13:17:38

debug: classified in 03-filenames_plain1 by 'sbin/'

virtual_oss(8): Retire unused utils.h
Sponsored by: The FreeBSD Foundation
MFC after:      1 day
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53174
30a873ee3739dfd44b233907534ec1c33c21b78a Christos Margiolis 2025-10-18 13:17:43

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

rc: dmesg: Allow umask to be configurable
Allow umask to be configurable.

Being able to set the umask via an rc variable is useful when setting:

    security.bsd.unprivileged_read_msgbuf=0

As it allows a user to configure:

    dmesg_umask="066"

Without modifying the rc script, and preventing the contents of the
$dmesg_file (/var/run/dmesg.boot) from being publicly readable.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272552
Reviewed by:    netchild
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53169
edadbc6ee95570627679f3bc14a1d5476d0ce339 Jose Luis Duran 2025-10-17 14:34:55

debug: classified in 03-filenames_plain1 by 'libexec/'

Libraries

realpath: Report correct path on failure
If lstat() fails with EACCES or ENOTDIR, the path we need to return in
the caller-provided buffer is that of the parent directory (which is
either unreadable or not a directory; the latter can only happen in the
case of a race) rather than that of the child we attempted to stat.

Sponsored by:   Klara, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53025
1406de21e176d8700240ac9e473df007cd41eec1 Dag-Erling Smørgrav 2025-10-13 11:53:22

debug: classified in 04-filenames_plain2 by 'lib/'

libpam: Add newline at EOF in modules.inc
2976a7ce2e9b0ba1f59601218583c6330776f401 Ed Maste 2025-10-15 15:30:43

debug: classified in 04-filenames_plain2 by 'lib/'

libc: Add "Z" as TZ designator for strptime.
ISO 8601 allows use of "Z" as the time zone designator. Update the
strptime parser to allow this usage.

While we are at it, update the manpage to reflect that both UTC and Z
are now valid options.

Reviewed by:    des
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53083
79e57ea662d92ffcbe7d65854a284aefac6a332d Gordon Tetlow 2025-10-15 22:24:06

debug: classified in 04-filenames_plain2 by 'lib/'

include/stdckdint.h: make the header compatible with C++
by removing the cast to _Bool.  The _Bool type is not defined for C++,
and the specification from the gcc info doc states that the return
type of the  __builtin_{add,sub,mul}_overflow() is bool already.

This is done instead of including stdbool.h to avoid namespace
pollution, since defining bool from stdckdint.h simingly is not
sanctioned by ISO/IEC 9899:2024.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290299
Reviewed by:    des
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53149
3c052bec12fcf09f81ba0760ebecec38e196d332 Konstantin Belousov 2025-10-17 03:49:14

debug: classified in 03-filenames_plain1 by 'include/'

libc: Import OpenBSD's inet_net_{ntop,pton}
Our versions of these functions (originally taken from BIND) simply
don't work correctly for AF_INET6.  These were removed from BIND itself
quite a while ago, but OpenBSD has made several fixes in the mean time,
so import their code.

Add tests for both functions.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289198
Reported by:    Nico Sonack <nsonack@herrhotzenplotz.de>
MFC after:      1 week
Reviewed by:    des
Obtained from:  OpenBSD (lib/libc/net)
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52629
8f4a0d2f7b96099001dbc51e06114df1a0e6d291 Lexi Winter 2025-10-18 14:18:40

debug: classified in 04-filenames_plain2 by 'lib/'

Filesystems

p9fs: Use proper prototype for SYSINIT functions
MFC after:    1 week
11cfa861e3ff83649c54e5781b541166dc73e80b Zhenlei Huang 2025-10-13 10:12:30

debug: classified in 03-filenames_plain1 by 'sys/fs/'

fuse_flush: Reuse the struct mount *mp variable
Approved by: asomers
Differential Revision: https://reviews.freebsd.org/D53082
af30e8d90b772c0997da013b17e67a64841282ac Gleb Popov 2025-10-14 09:24:27

debug: classified in 03-filenames_plain1 by 'sys/fs/'

unionfs: fix NULL deref on closing an fd passed through SCM_RIGHTS
If the last reference to an open file is contained in an SCM_RIGHTS
message in a UNIX domain socket, and that message is discarded without
being read out by the receiver, VOP_CLOSE will ultimately be called
with ap->a_td == NULL.

Change unionfs_close() to check for this condition instead of blindly
passing the thread to unionfs_find_node_status() which will try to
dereference it.  Also add relevant asserts on the node status lookup
paths.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289700
Reported by:    asomers
Reviewed by:    asomers, olce
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D53079
880d180bb21c764aec6bd5bc8c0a6b07b8c2e199 Jason A. Harmening 2025-10-13 20:40:46

debug: classified in 03-filenames_plain1 by 'sys/fs/'

ffs_truncate: correct INVARIANTS panic debug output
Reported by:  GCC -Warray-bounds
Reviewed by:    mckusick
Differential Revision:  https://reviews.freebsd.org/D53037
a0ea4c04b5269ac138a3cf551047076472c6028e Ryan Libby 2025-10-15 04:03:04

debug: classified in 03-filenames_plain1 by 'sys/ufs/'

unionfs: avoid vdrop()ing a locked but doomed vnode
unionfs_lock() unconditionally calls vdrop() on the target vnode
after locking it, but it's possible this vnode may be doomed.
In that case, vdrop() may free the vnode, which in certain cases
requires taking the vnode lock.  Commit a7aac8c20497d added an
assert to this effect, which unionfs_lock() now trips over.

Fix this by lightly reworking the flow of unionfs_lock() so that
the target vnode is vdrop()ed after being unlocked in the case
where the unionfs lock operation needs to be restarted (which
will happen if the unionfs vnode has been doomed, which is a
prerequisite for the target vnode in the underlying filesystem
to have been doomed).

While here, get rid of a superfluous vhold/vdrop sequence in
unionfs_unlock() that was probably inherited from nullfs and whose
nullfs equivalent was recently removed.

MFC after:      1 week
Reviewed by:    kib, markj, olce
Tested by:      pho
Differential Revision: https://reviews.freebsd.org/D53107
a498c5e1a111ae8c48b8e7028daff861785c2bf2 Jason A. Harmening 2025-10-14 19:40:39

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nfscommon: Update the nfs_bigreply array
The variable is simply a long series of flags.  Mark as boolean to allow
the compiler to use smaller types.

Convert to designated initializer to better indicate which operations it
is set for.  Without this the array is kind of long and sparse.

nfsv4_setsequence() is no longer used outside nfs_commonsubs.c, so now
mark it as static.  The fourth argument is true/false, so convert to
boolean.

No semantics change is made by this commit.

Discussed with: jrtc27
MFC after:      2 weeks
a6369fb9e4b40396ea6ef1987436019612c387cd Elliott Mitchell 2025-10-19 20:29:08

debug: classified in 03-filenames_plain1 by 'sys/fs/'

Kernel

Kernel stuff (other than networking, filesystems, and drivers).

scsi: Use proper prototype for SYSINIT functions
MFC after:    1 week
f94b1a8ca6e016aeff09e2053dc293b83c3aa912 Zhenlei Huang 2025-10-13 10:12:28

debug: classified in 04-filenames_plain2 by 'sys/'

opensolaris: Use proper prototype for SYSINIT functions
MFC after:    1 week
41c0b64f021ecda09c0d42bfc539dba69ec51e4c Zhenlei Huang 2025-10-13 10:12:28

debug: classified in 04-filenames_plain2 by 'sys/'

kern: Use proper prototype for SYSINIT functions
MFC after:    1 week
9c35c4470ad131c748efba7f64ad2fff7d21060f Zhenlei Huang 2025-10-13 10:12:31

debug: classified in 04-filenames_plain2 by 'sys/'

kern_sharedpage.c: Remove an unneeded type cast
The function shared_page_init() already has the right prototype.

MFC after:      1 week
141b44e0afc2912a0a1c7bbb4116921ead1d58d4 Zhenlei Huang 2025-10-13 10:12:31

debug: classified in 04-filenames_plain2 by 'sys/'

jail: Use proper prototype for SYSINIT functions
The only possible return value of function jm_sysinit() and jm_sysuninit()
is 0. Make them return void to match the prototype of SYSINIT.

MFC after:      1 week
a988393b469be58ff87f4d044af61fd2251b490c Zhenlei Huang 2025-10-13 10:12:31

debug: classified in 04-filenames_plain2 by 'sys/'

libkern: Use proper prototype for SYSINIT functions
MFC after:    1 week
850a88e8db761c55b9aa56c2cf4da258dc61dec5 Zhenlei Huang 2025-10-13 10:12:31

debug: classified in 04-filenames_plain2 by 'sys/'

audit: Use proper prototype for SYSINIT functions
MFC after:    1 week
32c1e940e07c48ab80427efd3d6ff2091407d577 Zhenlei Huang 2025-10-13 10:12:34

debug: classified in 04-filenames_plain2 by 'sys/'

MAC: Use proper prototype for SYSINIT functions
MFC after:    1 week
12ac59a0d1f6ae2065e8e2cb36c53c00771bfc74 Zhenlei Huang 2025-10-13 10:12:35

debug: classified in 04-filenames_plain2 by 'sys/'

sys/sysent.h: Remove an unneeded type cast
The function exec_sysvec_init() already has the right prototype.

While here, remove an extra semicolon from the macro INIT_SYSENTVEC.

MFC after:      1 week
296db8c72dca1c17d9a4ce94cc8881e48df8187b Zhenlei Huang 2025-10-13 10:12:35

debug: classified in 04-filenames_plain2 by 'sys/'

vm: Use proper prototype for SYSINIT functions
MFC after:    1 week
a5d5851c86ebba87f580e4f9bada495ebeedc465 Zhenlei Huang 2025-10-13 10:12:35

debug: classified in 04-filenames_plain2 by 'sys/'

tcp: improve testing of HPTS
Improve the HPTS API to allow testing and add several tests.

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
bfdd5b643d23171c53920accc2f15f78e984dfae Nick Banks 2025-10-13 20:31:30

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #4: sys/rpc
sys/rpc: UNIX auth: Rename 'ngroups' => 'supp_ngroups' for clarity

MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
bda3b61512b2597d4c77d2b9c9074b844dec0405 Olivier Certner 2025-10-07 10:03:07

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: UNIX auth: Fix OOB accesses, notably writes on decode

When the received authentication message had more than XU_NGROUPS, we
would write group IDs beyond the end of cr_groups[] in the 'struct
xucred' being filled (as 'ngroups_max' is always greater than
XU_NGROUPS).

For robustness, prevent various OOB accesses that would result from
a change of value of XU_NGROUPS or a 'struct xucred' with an invalid
'cr_ngroups' field, even if these cases are unlikely.

Reviewed by:    rmacklem
Fixes:          https://cgit.freebsd.org/src/commit/?id=dfdcada31e79 ("Add the new kernel-mode NFS Lock Manager.")
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52960
47e9c81d4f1324674c624df02a51ad3a72aa7444 Olivier Certner 2025-10-07 10:02:23

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: Define AUTH_SYS_MAX_{GROUPS,HOSTNAME}

As, respectively, the maximum number of "supplementary" groups and the
maximum hostname size allowed in the credentials structure for AUTH_SYS
(aka, AUTH_UNIX).

Will be used in subsequent commits.

Reviewed by:    rmacklem
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52961
f7c4f800cc0b4fac1c99cda8e22d46b67592f9fa Olivier Certner 2025-10-07 07:51:23

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: UNIX auth: Use AUTH_SYS_MAX_{GROUPS,HOSTNAME} as limits (1/2)

Consistently with the XDR_INLINE() variant of xdr_authunix_parms()
(_svcauth_unix() in 'svc_auth_unix.c'), reject messages with credentials
having a machine name length in excess of AUTH_SYS_MAX_HOSTNAME or more
than AUTH_SYS_MAX_GROUPS supplementary groups, which do not conform to
RFC 5531.  This is done mainly because we cannot store excess groups
anyway, even if at odds with the robustness principle ("be liberal in
what you accept").

While here, make sure the current code is immune to AUTH_SYS_MAX_GROUPS
changing value (in future RFCs?) even if that seems improbable.

Reviewed by:    rmacklem
Fixes:          https://cgit.freebsd.org/src/commit/?id=dfdcada31e79 ("Add the new kernel-mode NFS Lock Manager.")
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52962
b119ef0f6a81eb32b0e1cd0075cec499543e7ddd Olivier Certner 2025-10-07 08:46:56

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: UNIX auth: Use AUTH_SYS_MAX_{GROUPS,HOSTNAME} as limits (2/2)

Remove local defines from 'svc_auth_unix.c' and use the new limit
macros instead.

Reviewed by:    rmacklem
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52963
e665c0f6f7a611d25d9d7e7f64d98c84b3a92820 Olivier Certner 2025-10-07 13:33:53

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: UNIX auth: Fix OOB reads on too short message

In the inline version (_svcauth_unix()), fix multiple possible OOB reads
when the credentials part of a request is too short to contain mandatory
fields or with respect to the hostname length or number of groups it
advertises.  The previously existing check was arriving too late and
relied on possibly wrong data coming from earlier OOB reads.

While here, use 'uint32_t' as the length/size type, as it is more than
enough and removes the need for conversions, explicit or implicit.
While here, factor out setting 'stat' to AUTH_BADCRED and then jumping
to 'done' on error, through the new 'badcred' label.  While here,
through comments, refer to what the non-inline version is doing
(xdr_authunix_parms() in 'authunix_prot.c') and the reasons.

Reviewed by:    rmacklem
Fixes:          https://cgit.freebsd.org/src/commit/?id=dfdcada31e79 ("Add the new kernel-mode NFS Lock Manager.")
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52964
d4cc791f3b2e1b6926420649a481eacaf3bf268e Olivier Certner 2025-10-07 15:51:16

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: UNIX auth: Support XDR_FREE

xdr_authunix_parms() does not allocate any auxiliary memory, so we can
simply support XDR_FREE by just returning TRUE.

Although there are currently no callers passing XDR_FREE, this makes us
immune to such a change in a way that doesn't cost more but is more
constructive than a mere KASSERT().

Suggested by:   rmacklem
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
4ae70c3ea498e06676040ee99254d261e29ae82e Olivier Certner 2025-10-13 15:13:09

debug: classified in 04-filenames_plain2 by 'sys/'

sys/rpc: UNIX auth: Do not log on bogus AUTH_SYS messages
Remove the printf() stances added in commit d4cc791f3b2e ("sys/rpc: UNIX
auth: Fix OOB reads on too short message").

Even if it can be helpful to know why an authentication message is
rejected, printing explanatory messages on each request attempt is
a remote log filler that could be triggered by accident, and the generic
RPC code generally does not do that.  These printf() calls should be
restored only after some limiting or configuration mechanism is devised.

MFC with:       d4cc791f3b2e ("sys/rpc: UNIX auth: Fix OOB reads on too short message")
Sponsored by:   The FreeBSD Foundation
2110ae0ef9d6ca8cf52b29fcaf926c4343f56826 Olivier Certner 2025-10-14 12:54:55

debug: classified in 04-filenames_plain2 by 'sys/'

imgact: Mark brandinfo and note structures as const
No functional change intended.

Reviewed by:    olce, kib, emaste
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53062
80336636b6b9f7a3bdad007c400e85eae017d2a2 Mark Johnston 2025-10-14 13:31:06

debug: classified in 04-filenames_plain2 by 'sys/'

exec: Check for errors when mapping the shared object
In the non-ASLR case, there is no check for an error from
vm_map_fixed().  Restore it, it was dropped in commit 939f0b6323e0a.
This bug could result in a refcount leak of the object used to map the
VDSO page.

Reviewed by:    kib
Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
MFC after:      1 week
Fixes:  https://cgit.freebsd.org/src/commit/?id=939f0b6323e0 ("Implement shared page address randomization")
Differential Revision:  https://reviews.freebsd.org/D53065
7117c86fcb7ebee4483097cefa9b143de8d78ee0 Mark Johnston 2025-10-14 13:33:33

debug: classified in 04-filenames_plain2 by 'sys/'

sockets: add PF_HYPERV alias
Just make it like all other sockets that have PF_FOO -> AF_FOO alias.
663a571514fbbc237ac841f7ff2f5e26db966445 Gleb Smirnoff 2025-10-14 18:41:25

debug: classified in 04-filenames_plain2 by 'sys/'

conf: enable TCP_HPTS_KTEST on debug builds
Enable the kernel build option TCP_HPTS_KTEST on debug builds and
disable it on non-debug builds.

PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290234
Reviewed by:            Nick Banks, glebius
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53108
1985940204dc01d4524c6351ab25a182bfde23ae Michael Tuexen 2025-10-14 23:36:54

debug: classified in 04-filenames_plain2 by 'sys/'

unix/stream: repair SO_SNDTIMEO
The send operations are waiting on the peer's socket buffer, but we shall
use our timeout value.  Provide a test for that.

Reported by:            phk
Reviewed by:            asomers
Differential Revision:  https://reviews.freebsd.org/D53081
Fixes:                  https://cgit.freebsd.org/src/commit/?id=d15792780760ef94647af9b377b5f0a80e1826bc
ead721935251ab5640ea736d4269814b7f9d2f64 Gleb Smirnoff 2025-10-15 00:29:31

debug: classified in 04-filenames_plain2 by 'sys/'

rb tree: remove strict aliasing violations
Rework internal RB macros to avoid assignments via type punned pointers.
RB uses low order pointer bits to encode information (whether children
are red), and was manipulating those values via (*(__uintptr_t *)&elm),
which leads to strict aliasing warnings.

In the kernel we use -fno-strict-aliasing, but this isn't necessarily
the case in user space.  This quiets thousands of -Wstrict-aliasing
warnings in the user space build.

Reported by:    GCC -Wstrict-aliasing
Reviewed by:    dougm
Discussed with: kib
Differential Revision:  https://reviews.freebsd.org/D52939
c44d2663a790b31bc1cd08958b45a661487c0287 Ryan Libby 2025-10-15 04:05:19

debug: classified in 04-filenames_plain2 by 'sys/'

linux: make linux_to_bsd_sockaddr() use memory supplied by caller
No functional change.

Differential Revision:  https://reviews.freebsd.org/D52936
479e29157259086c40eb61b1326299c22de5a59c Gleb Smirnoff 2025-10-15 18:55:06

debug: classified in 04-filenames_plain2 by 'sys/'

linux: add translation for MCAST_JOIN_GROUP family of socket options
Differential Revision:        https://reviews.freebsd.org/D52937
47b2732650252a1d31b25f6008aaa42e963eb8c1 Gleb Smirnoff 2025-10-15 18:55:14

debug: classified in 04-filenames_plain2 by 'sys/'

imgact_elf: Check note body sizes
In parse_notes we validate that the note name fits within the note
buffer, but we do not do the same for the note data, so there is some
potential for an OOB read in the note handler.  Add a bounds check.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    kib, emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53063
c86af2cc4cd12fb0174843b22d737c3b5b5d55d0 Mark Johnston 2025-10-15 20:14:36

debug: classified in 04-filenames_plain2 by 'sys/'

socket: Annotate sooptcopyin() and sooptcopyout() with __result_use_check
Just like we do with copyin() and copyout().

Reviewed by:    glebius
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53114
3509dcd11a982107d957b99f6740704e9c522bd8 Mark Johnston 2025-10-15 20:15:51

debug: classified in 04-filenames_plain2 by 'sys/'

unix/stream: plug a corner case when control externalization failed
while peer has closed its end.

Reported by:    syzbot+ffcc3612ea266e36604e@syzkaller.appspotmail.com
4548b9f3a8167a340a5086ed51a76d932c9ab3cc Gleb Smirnoff 2025-10-15 20:01:25

debug: classified in 04-filenames_plain2 by 'sys/'

socket: bump socket buffer limit to 8MB
Bump the socket buffer limit from 2 MB to 8MB.
In particular, this allows to use larger values for TCP sockets,
which may result in higher throughput values with default settings.
In the review I was proposing using 16 MB, but in the transport
call today we settled on a more conservative value of 8.
Bumping it further will be done in combination with mitigations
for mbuf exhaustion attacks.

Reviewed by:            rscheff, Peter Lei, jtl, thj
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52873
1fe6497b48d6954ac07870d920b2e5d6d206be5e Michael Tuexen 2025-10-15 20:04:00

debug: classified in 04-filenames_plain2 by 'sys/'

vm: Fix iterator usage in vm_thread_stack_create()
After commit 7a79d0669761 we no longer hold the VM object lock when
initializing or advancing the domainset iterator in
vm_thread_stack_create().

We could lift the lock out of vm_thread_stack_back() but that poses
complications since we cannot allocate KVA with a VM object lock held.

Instead of overridding the object's iterator, just borrow that of the
current thread.  Kernel stacks are basically always allocated with a
DOMAINSET_POLICY_PREFER policy, so it's not very important to maintain a
global iterator for round-robin allocation.

As a part of this, fix up flag handling: make sure we handle
M_NOWAIT/M_WAITOK from the caller.  Delete a comment in vm_thread_new()
which refers to a non-existent consideration (stack swapping has been
removed).  I suspect vm_thread_new() can use M_WAITOK but opted not to
make that change here.

Reported by:    olce
Reviewed by:    olce, alc, kib
Fixes:          https://cgit.freebsd.org/src/commit/?id=7a79d0669761 ("vm: improve kstack_object pindex calculation to avoid pindex holes")
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D52982
3b9b64457676561b8de2bec7c94c561bbd807b0c Mark Johnston 2025-10-16 23:12:54

debug: classified in 04-filenames_plain2 by 'sys/'

Add FENESTRASX to LINT to avoid breakage
c1e7e8f5cb0f948abc4679dab295f1447363604d David E. O'Brien 2025-10-17 01:01:34

debug: classified in 04-filenames_plain2 by 'sys/'

linprocfs: Add nodes for inotify
These map directly onto sysctls under vfs.inotify of the same name.

Reviewed by:    olce, des
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53142
28c0ef76841bbb322b6e39668e1c8e997c1f8000 Mark Johnston 2025-10-17 12:55:56

debug: classified in 04-filenames_plain2 by 'sys/'

vm_domainset: Ensure round-robin works properly
All iterators that rely on an object's 'struct domainset_ref' (field
'domain' on 'struct vm_object'), which is the case for page allocations
with objects, are used with the corresponding object locked for writing,
so cannot lose concurrent iterator index's increases even if those are
made without atomic operations.  The only offender was thread stack
allocation, which has just been fixed in commit 3b9b64457676 ("vm: Fix
iterator usage in vm_thread_stack_create()").

However, the interleaved policy would still reset the iterator index
when restarting, losing track of the next domain to allocate from when
applying round-robin, which all allocation policies do if allocation
from the first domain fails.

Fix this last round-robin problem by not resetting the shared index at
iterator's phase init on DOMAINSET_POLICY_INTERLEAVE.

Add an assertion to check that, when passed, an object is write-locked
in order to prevent the problem mentioned in the first paragraph from
reappearing.

Reviewed by:    markj
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52733
7b0fe2d405ae09b1247bccc6fa45a6d2755cbe4c Olivier Certner 2025-09-25 14:40:30

debug: classified in 04-filenames_plain2 by 'sys/'

struct file: add DFLAG_FORK, indicate copying on fork
instead of referencing or ignoring.

The pass to handle copying is performed after all passable files are
installed into the new file descriptor's table, since one of the future
consumers of this interface (kqueue) needs all passable file descriptors
already valid. After all fds are installed, the additional call for each
copyable file is done to copy the underlying object.

[MFC note: use fo_spares for fo_fork]

Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
1265516c5c610fbc0d65451140e3f17b358cd015 Konstantin Belousov 2025-08-20 19:07:43

debug: classified in 04-filenames_plain2 by 'sys/'

kern_descrip.c: add struct proc argument to fdcopy()
The proc is the owner of the copied filedesc.

Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
37ce6052f6ac5064c5a982beed7393109111dd10 Konstantin Belousov 2025-08-20 19:02:33

debug: classified in 04-filenames_plain2 by 'sys/'

kqueue_fo_release(): print filter with underflow
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
47ed42f3f44ca21210c9d9c56c693248dbca29bb Konstantin Belousov 2025-08-21 13:54:36

debug: classified in 04-filenames_plain2 by 'sys/'

kern/kern_event.c: extract kern_kqueue_alloc() from kern_kqueue()
The new helper function allows to allocate a kqueue and its file,
without also allocating file descriptor.

Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
78382caa3edbea4c3d3aad2b47ff9db3d77fc978 Konstantin Belousov 2025-08-19 04:32:43

debug: classified in 04-filenames_plain2 by 'sys/'

kern/kern_event.c: extract kqueue_acquire_ref() from kqueue_acquire()
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
25cecc4ba284096376b1348a807c0e2704d1b746 Konstantin Belousov 2025-08-19 04:54:27

debug: classified in 04-filenames_plain2 by 'sys/'

kqueuex(2): add KQUEUE_CPONFORK
The created kqueue is copied on fork, together with the registered
events. This means that a new kqueue is created at the same fd index
as the parent' kqueue, and all registered events are copied into the
new kqueue (when possible). The current active events list is also
duplicated.

Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
b11289f87123f8ae06fc70bc70d26a25d4356a65 Konstantin Belousov 2025-08-19 04:34:04

debug: classified in 04-filenames_plain2 by 'sys/'

kern_event.c: support copy for timer events
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
c0e70e7b97dcfcbeedfdfbacf1543b756a616a18 Konstantin Belousov 2025-08-20 19:06:05

debug: classified in 04-filenames_plain2 by 'sys/'

kqueue: handle copy for vnode filters
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
6b71c4ff698e1ba2266a85ff2ad89f2c2a8a16de Konstantin Belousov 2025-08-23 12:06:42

debug: classified in 04-filenames_plain2 by 'sys/'

knotes: kqueue: handle copy for trivial filters
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
36138969847b231cd98f48272e2bdf88a8dc08dd Konstantin Belousov 2025-10-16 22:32:45

debug: classified in 04-filenames_plain2 by 'sys/'

imgact: Mark brandinfo and note structures as const
No functional change intended.

Reviewed by:    kib
MFC after:      10 days
MFC with:       80336636b6b9f7a3bdad007c400e85eae017d2a2
Differential Revision:  https://reviews.freebsd.org/D53173
301e6c47127d358073a35c1ecd7b8cf014d0bb92 Zhenlei Huang 2025-10-18 16:11:30

debug: classified in 04-filenames_plain2 by 'sys/'

Build system

blacklist: Avoid duplicate manual pages in METALOG
Previously, blacklist man pages were just a symlink to their blocklist
counterpart, this in turn installed blocklist man pages twice, and
resulted in a duplicate error when running metalog_reader.lua -c.

Take advantage of the duplication to document nuances in blacklist, such
as the fact that it uses the new database and socket name (blocklist).
Also, note that it has been renamed to blocklist.  In the future, it
will help to document its deprecation.

Approved by:    emaste (mentor)
Fixes:  https://cgit.freebsd.org/src/commit/?id=7238317403b9 ("blocklist: Rename blacklist to blocklist")
MFC after:      2 days
c6240045536548c22ce40d9ef36c1dc52abcfc9c Jose Luis Duran 2025-10-13 00:53:50

debug: classified in 02-filenames_wildcards by '.*Makefile'

Makefile.inc1: Build source packages before sets
To build set-src, we first need to build the source packages.  Add a
.ORDER to ensure this happens.  Otherwise, in a parallel build, sets
might be built before the src-* packages have finished building, and
set-src will be mysteriously missing.

MFC after:      3 seconds
Reported by:    cperciva
Actually diagnosed by:  jrtc27
One-line fix by:        ivy
Reviewed by:    cperciva
Differential Revision:  https://reviews.freebsd.org/D53076
ea5685ba79fc9309698ef72cf48bc1f0c91ad3dd Lexi Winter 2025-10-13 18:30:31

debug: classified in 02-filenames_wildcards by '.*Makefile'

packages: Compress in parallel
The FreeBSD-base pkg repository is currrently dominated by a handful of
large packages: Out of a compressed repository size of ~960 MB, about
160 MB is taken up by the FreeBSD-src package, 128 MB (on amd64) is
used by the FreeBSD-kernel-generic-dbg package, and 91 MB is used by
the FreeBSD-src-sys package.  Consequently, running 'make packages -jN'
provides less benefit than one might hope, as most of the packages
finish building quickly, ultimately leaving the FreeBSD-src package
building by itself for a couple minutes while all the other CPUs are
idle.

Pass -T${PKG_CTHREADS} to the 'pkg create' commands (with a default
of -T0) in order to instruct pkg's zstd compression to use multiple
threads.

Testing on an EC2 r7i.48xlarge instance with -j192, this reduces the
time taken by 'make packages' from 6m17s to 1m39s; package creation
time itself (excluding the initial process of installing into world
and kernel staging directories) dropped from 5m37s to 59s.

Reviewed by:    ivy
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53053
16155cccc4bf42a5a76806128e7ef637f9ae61fe Colin Percival 2025-10-12 21:44:14

debug: classified in 02-filenames_wildcards by '.*Makefile'

Ping: Make build reproducible
As recently fixed in sockstat (9934558460e4), having tests/Makefile
include files from the parent directory with SRCS= ../foo.c results
in a race condition as the parent build and the tests build try to
produce the same object file but contain different paths.

Use .PATH to tell make to find sockstat.c in the parent directory
but place the object file in the current object directory.

Reviewed by:    emaste, jrtc27, kevans
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53075
3c9a2f383fc25cdffa80c1348cb5388290e0f283 Colin Percival 2025-10-13 15:58:10

debug: classified in 02-filenames_wildcards by '.*Makefile'

packages: Rename unbound to local-unbound
This more accurately reflects its purpose, and its contents, since
everything in the package is prefixed with "local-".

While here, add a message on upgrade about regenerating the config.

MFC after:      3 seconds
Requested by:   des
Reviewed by:    des
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53056
bf84861460f9287fe9cf66b2cd22fefe8e242a28 Lexi Winter 2025-10-15 11:00:35

debug: classified in 05-summary-prefix by 'packages:'

ncurses: Add an ncurses-lib package
Set LIB_PACKAGE= in lib/ncurses/Makefile.inc so the ncurses libraries
go into the ncurses-lib subpackage rather than the base package. This
means applications that depend on ncurses can be installed without
needing to install the various utilities and manpages.

This removes a dependency from runtime to ncurses (it now depends on
ncurses-lib instead).

MFC after:      3 seconds
Reviewed by:    kevans
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53060
bde703e8b6ab3acc73bbb20f1ebe26221f33e9f1 Lexi Winter 2025-10-15 12:28:43

debug: classified in 02-filenames_wildcards by '.*Makefile'

pkg-stage: Correct /packages permissions
Include /packages in the METALOG used to create dvd1.iso.  Previously
we used an expression ^./packages/ (with a trailing /) which did not
match /packages itself, and then with no METALOG entry /packages on
dvd1.iso ended up with mode d---------.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290222
Reviewed by:    cperciva
MFC after:      1 minute
Sponsored by:   The FreeBSD Foundation
2db11dda840c4889aeb719761cdafa62730083a2 Ed Maste 2025-10-15 13:04:58

debug: classified in 02-filenames_wildcards by 'release/.*'

stand/i386: quiet gcc -Warray-bounds
GCC has started to warn about memory accesses under address 0x1000.
Tweak it to 0x400 for stand/i386 to avoid warnings for access to BIOS
data area memory and above but still retain most of the warning value.

Reviewed by:    dab, imp
Differential Revision:  https://reviews.freebsd.org/D53036
c2fa94ad0868378c420237d842308156d9133519 Ryan Libby 2025-10-17 06:49:22

debug: classified in 02-filenames_wildcards by '.*Makefile'

bsd.man.mk: Support MANGROUPS.yes
Similar to SUBDIR and CONFGROUPS, this allows the use of
MANGROUPS.${MK_FOO}, simplifying Makefile logic for optional
manpages.

MFC after:      3 seconds
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53126
e757a92282fcd064c82cf2685dde4730743fc425 Lexi Winter 2025-10-17 10:40:39

debug: classified in 03-filenames_plain1 by 'share/mk/'

tar: Move to the utilities package
tar(1) is not a core runtime utility; in particular, nothing in
/etc/rc.d/* requires it.  Move it to utilities, which is also
where cpio(1) lives.

This removes the dependency from runtime to libarchive.

MFC after:      3 days
Reviewed by:    manu, emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53059
c0f17d637a4ab1e5dcae6b931623b7b0ee5bece2 Lexi Winter 2025-10-17 10:42:03

debug: classified in 02-filenames_wildcards by '.*Makefile'

igc(4): also build module on aarch64
igc(4) seems to work fine on arm64 for as much as I could test with
a 2.5Gbit/s interface on a mPCIe card.
Enable the module build so it is available.

MFC after:      3 days
51fbeadac4ccce6aafe51be9377d4114321295e5 Bjoern A. Zeeb 2025-10-17 12:56:43

debug: classified in 02-filenames_wildcards by '.*Makefile'

vmimage.subr: Add missing directories to METALOG
Theoretically METALOG should include everything which needs to go
into disk images; unfortunately there are still a few bugs which
are resulting in directories not being listed -- and if METALOG
has files in unrecorded directories, the directories end up being
created with 000 permissions.

Oddly enough, systems where / has 000 permissions are not very
usable.

As a temporary hack, compare the staging tree against METALOG and
add entries for any unrecorded directories.  This will hopefully
be reverted before 15.0-RELEASE.

Reviewed by:    bapt, emaste, ivy
Sponsored by:   https://www.patreon.com/cperciva
MFC after:      5 minutes
Differential Revision:  https://reviews.freebsd.org/D53153
71b2f9853529b1d1a160eaaa202e93a14f91eed1 Colin Percival 2025-10-17 07:01:33

debug: classified in 02-filenames_wildcards by 'release/.*'

ncurses: Move utilities to the ncurses package
MFC after:    3 days
Reviewed by:    manu, kevans
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53163
09a49cd49b4fecfb31b2b6677a938ef847289055 Lexi Winter 2025-10-17 18:41:09

debug: classified in 02-filenames_wildcards by '.*Makefile'

Makefile: Don't allow install{world,kernel} with pkgbase
Using these targets on a pkgbase system will cause the installed system
to become out of sync with the package database, which is almost certain
to cause issues the next time pkg(8) is used.

To prevent users doing this accidentally, disallow install* if we detect
that FreeBSD-runtime is installed in the target.  The check can be
overridden with DESTDIR=/ for users who are sure they want to do this.

MFC after:      3 days
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52879
74a6bb524e5b9ad654a9acc5da5c195f406717b5 Lexi Winter 2025-10-17 19:06:17

debug: classified in 02-filenames_wildcards by '.*Makefile'

vmimage.subr: Fix when/where we fix up METALOG
We only need to check for unMETALOGed directories and sort the METALOG
file if we're using it, i.e. if we're doing a NO_ROOT build.  This
non-NO_ROOT builds by no longer bogusly writing to /METALOG*.

We only need to add databases (spwd.db etc) to METALOG if we're doing
a pkgbase-enabled NO_ROOT build; but we should always do this before
creating the filesystem, not only if we installed extra packages (in
vm_extra_install_packages, where that code was erroneously placed).
This fixes non-cloud VM images, which in 15.0-BETA2 shipped without
password databases.

Reviewed by:    ivy
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53194
012014403bdcb2b3aa7ed3895079a0059204c35f Colin Percival 2025-10-19 00:27:07

debug: classified in 02-filenames_wildcards by 'release/.*'

Internal organizational stuff

mailmap: Normalize jlduran author data
Reported by:  emaste (srcmgr)
194dadb5fcf436b5719db4c82653474313206ac0 Jose Luis Duran 2025-10-17 16:35:42

debug: classified in 03-filenames_plain1 by '.mailmap'

calendar: Add myself (jlduran) to calendar.freebsd
The bank no longer uses this information as a security question.
6812958929245d7226b75aae4541d39d53948f3c Jose Luis Duran 2025-03-19 19:00:49

debug: classified in 03-filenames_plain1 by 'usr.bin/calendar/calendars/calendar.freebsd'

mfc-candidates.lua: add -F fmt option
Add -F fmt option to give a free format string to git show --pretty=.
It can be used, for example, as:
  ./tools/tools/git/mfc-candidates.lua -F "%h %cD %s"
to see which commits have passed the minimum 3 days of waiting before
MFCing, or to see which group of commits belong together.

MFC after:      3 days
Reviewed by:    emaste
Differential Revision: https://reviews.freebsd.org/D53172
af445e1dd95d43c011f377ea6e6618637fecc61c Bjoern A. Zeeb 2025-10-17 16:57:41

debug: classified in 03-filenames_plain1 by 'tools/tools/git/mfc-candidates.lua'

Testing

realpath: Additional test cases
* Passing NULL should result in EINVAL
* Passing an empty path should result in ENOENT
* Failure with a non-null buffer should leave a partial result.  As
  pointed out in a comment in the test case, this reveals a discrepancy
  between the documentation and reality.

Sponsored by:   Klara, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53024
f3386dfeb429faaa30a915a4a422a25e07c8bf39 Dag-Erling Smørgrav 2025-10-13 11:53:04

debug: classified in 03-filenames_plain1 by 'lib/libc/tests/'

mdconfig_test: determine page size at run time rather than assuming 4k
Sponsored by: Netflix
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D52736
24458c243162db4170ba9404d7cb5411af09ab31 Chuck Silvers 2025-10-13 16:07:43

debug: classified in 02b-filenames_wildcards2 by 'sbin/.*/tests/.*'

mmap_test: determine page size at run time rather than compile time
Sponsored by: Netflix
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D52735
d5cfca008d63b3b9220ecbb152a36efa80423c31 Chuck Silvers 2025-10-13 16:13:22

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

fusefs: fix intermittency in the BadServer.ShortWrite test
This test implicitly depended on the order in which two threads
completed.  If the test thread finished first, the test would pass.  But
if the mock file system thread did, it would attempt to read from an
unmounted file system, and fail.  As a result, the test would randomly
fail once out of every several thousand executions.  Fix it by telling
the mock file system's event loop to exit without attempting to read any
more events.

Reported by:    Siva Mahadevan <me@svmhdvn.name>
MFC after:      1 week
Reviewed by:    Siva Mahadevan <me@svmhdvn.name>
Differential Revision: https://reviews.freebsd.org/D53080
d1bd541b385d49d2ae3a8bad9df72779b606e208 Alan Somers 2025-10-14 02:18:48

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

tests/multicast: fix test flakyness
The receiver is run as a background job, so we need a wait loop to
make sure it has been fully functional before launching sender.

Reported by:    Siva Mahadevan <me svmhdvn.name>
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290210
c8359b327104325af6dc97202e21d6131acb0573 Gleb Smirnoff 2025-10-14 23:43:15

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

tests/carp: kill routed(8) before destroying interfaces
Otherwise routed logs a warning:

"MCAST_LEAVE_GROUP ALLROUTERS: Can't assign requested address"

that may be misinterpreted as a problem.
8596810d02a1e361e0312d116339aa106aca4b19 Gleb Smirnoff 2025-10-15 18:44:54

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

openssl: add a simple smoke test for the legacy provider
This change adds a simple smoke test for the legacy provider to ensure
that the provider doesn't break in the future when performing updates.

This is not a functional or system test; the OpenSSL test suite does a
much better job at doing this than we can.

MFC after:              1 week
Differential Revision:  https://reviews.freebsd.org/D53045
3b6442370a17c57c4c290b9a8e1e8328da820705 Enji Cooper 2025-10-11 20:45:20

debug: Commit manually moved from "unknown" to "tests".

stress2: Added a regression test
86db3c735dd999f75eab54d848fb8402e6689c80 Peter Holm 2025-10-17 08:04:48

debug: classified in 03-filenames_plain1 by 'tools/test/'

quot: Add tests
To facilitate the task, we change the comparison function so that users
with equal filesystem usage are sorted by UID, and add an undocumented
option that prevents quot from replacing numerical UIDs with names.  We
also switch from getfsfile(3) to getmntpoint(3) so the first line is
identical regardless of whether we pass quot a mountpoint or a device.

Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53133
aa870a1935bccb66e02c4c31630706768a3e7d74 Dag-Erling Smørgrav 2025-10-17 11:55:12

debug: Commit manually moved from "unknown" to "tests".

Commit group #5: glabel: add a basic test
glabel: add a basic test

Reviewed by:    asomers
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D53178
e868a2026635c0e083bd6201645add811a7005ba Brad Davis 2025-10-17 19:55:10

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


Add glabel tests to mtree

Fixes:          https://cgit.freebsd.org/src/commit/?id=e868a2026635: glabel: add a basic test.
Submitted by:   Siva Mahadevan
Pointy hat to:  brd
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1877
f66068d937e6f278099f583447e9e305e620d5d1 Siva Mahadevan 2025-10-18 02:50:55

debug: classified in 03-filenames_plain1 by 'etc/'

debug: moved to tests because 'Need to be grouped with e868a2026635c0e083bd6201645add811a7005ba'

stress2: Added kqueuex(KQUEUE_CPONFORK) test scenarios
d7ff2ded474871d69f19b0d03deed5f66d78435e Peter Holm 2025-10-18 07:58:50

debug: classified in 03-filenames_plain1 by 'tools/test/'

Style, typos, and comments

These could go in other categories, but it's more clear if they're here instead.

UPDATING: Fix typo objump should be objdump
Approved by:  emaste (mentor)
Fixes:          https://cgit.freebsd.org/src/commit/?id=86edb11e7491 ("Always install llvm-objdump as objdump")
MFC after:      1 day
376508ef2f794a57606a791166f1ce7f20d3ccaf Jose Luis Duran 2025-10-13 14:50:30

debug: classified in 01-style by '[tT]ypo'

RELNOTES: Fix a typo in the 5000d023a446 entry
Reported by:  matteo
4fc1e7546f1289183ec5d0b80653cab090c60399 Rick Macklem 2025-10-13 22:04:24

debug: classified in 01-style by '[tT]ypo'

sys/rpc: UNIX auth: Style: Remove unnecessary headers, minor changes
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
a4105a5d4e179aa1ef661ee45d6008e83fefd2a7 Olivier Certner 2025-10-07 17:10:12

debug: classified in 01-style by '[sS]tyle'

style(9): white space after ; and around binary operators
in for() loops.  Also, use 'while', where only the
conditional test of 'for' was used.

Reviewed by: sjg
0050289464fa56ec79e060b8d8378b9ff7145a0e David E. O'Brien 2025-10-15 05:22:00

debug: classified in 01-style by '[sS]tyle'

rc.conf: Fix typo interferring -> interfering
Reviewed by:  emaste
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53168
982d70ca2e6333b7e8ccf828b004ccf20a9cc550 Jose Luis Duran 2025-10-17 14:15:46

debug: classified in 01-style by '[tT]ypo'

bsdinstall: Fix typos
Reviewed by:  emaste
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53170
4ee348e27143b857445fd261cbe6695d6d57c836 Jose Luis Duran 2025-10-17 15:16:32

debug: classified in 01-style by '[tT]ypo'

Match style in 3613896
Reviewed by:  kib
Differential Revision:  https://reviews.freebsd.org/D53193
7d6221ff14478ce70fab24c58e0326ff5c4baf52 David E. O'Brien 2025-10-18 23:23:31

debug: classified in 01-style by '[sS]tyle'

Contrib code

libnv: Fix a length check in nvpair_unpack_string_array()
A string array is represented by a set of nul-terminated strings
concatenated together.  For each string, we check to see if there's a
nul terminator at the end, taking care to avoid going past the end of
the buffer.  However, the code fails to handle the possibility that
size == 0 at the end of an iteration, leading to underflow.

Fix the length check.

Reported by:    Ilja van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53069
937693fc9e4ff4045cc674a14902f0d53e84ec98 Mark Johnston 2025-10-15 20:15:08

debug: classified in 03-filenames_plain1 by 'sys/contrib'

zfs: Emit warning upon use of legacy sysctls
The introduction of OpenZFS moved some sysctls, and legacy compat shims
were added.  For example:

Old (legacy) name: vfs.zfs.min_auto_ashift
New name:          vfs.zfs.vdev.min_auto_ashift

Upstream OpenZFS removed these, but we've temporarily restored them in
FreeBSD.

Note that l2arc sysctls use generic sysctl functions (e.g. SYSCTL_UQUAD)
and thus cannot trivially have warnings added, so they are not handled.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266374
Reviewed by:    jlduran
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53033
654a3aa9a1de176648eec00b3c201c33b10bd325 Ed Maste 2025-10-09 15:57:14

debug: classified in 03-filenames_plain1 by 'sys/contrib'

crypto/openssl: remove autogenerated files
These files contain build host paths and other configuration details
that can be regenerated via the standard vendor import process. Don't
clutter up the FreeBSD tree with these files.

Add the paths to .gitignore to prevent them from accidentally being
added in a future update.

MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53044
d271d2ce152435b14e309bd8b25f47a0f4a2040f Enji Cooper 2025-10-11 16:48:10

debug: classified in 05-summary-prefix by 'crypto/openssl:'

OpenSSL: install .pc files from the exporters subdir
The .pc files generated in the root directory are used as part of the
build; they should never be installed. Use the versions from the
exporters subdirectory--which should be installed--as the .pc files
which are distributed with FreeBSD. This avoids the need for "fixing up"
these files after the fact (see `crypto/openssl/BSDmakefile` for more
details as part of this change).

Garbage collect `secure/lib/libcrypto/Makefile.version`, et al,
as they're orphaned files. They were technically unused prior to this
change as the vendor process properly embeds the version numbers in
various files, but this commit formalizes the removal.

This correction/clarification on the .pc files will be made in an
upcoming release of OpenSSL [1].

References:
1. https://github.com/openssl/openssl/issues/28803

Suggested by:   Richard Levitte (OpenSSL project)
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53043
97388e7215e080f2cb9fd446f4be4e46a9aeb114 Enji Cooper 2025-10-11 20:47:20

debug: classified in 05-summary-prefix by 'OpenSSL:'

regex/exhaust_test: Skip flaky 'regcomp_too_big' testcase on all archs
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259971
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
1ddff51060ad759e35dcc4716b0bdcdb40255862 Siva Mahadevan 2025-10-03 13:56:32

debug: classified in 03-filenames_plain1 by 'contrib/'

regex/exhaust_test: Update require.memory
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259971
Obtained from:  NetBSD 7753bf0b705a
Sponsored by:   The FreeBSD Foundation
08345e62a28eb971f65125f45c512a12b39ee2eb Ed Maste 2025-10-17 14:43:25

debug: classified in 03-filenames_plain1 by 'contrib/'

Reverted commits

-- no commits in this category this week --

Unclassified commits

Not classified automatically, and waiting for manual attention.

-- no commits in this category this week --

Technical notes

Dates:

Automatic grouping:

Automatic categories:

Source code:


Generated with commits-periodical 0.18 at 2025-11-03 03:26:54+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2025-10-13 (release)