FreeBSD git weekly: 2026-04-01 to 2026-07-31

Introduction

This is a display of mostly-automatically-classified git commits from 2026-04-01 to 2026-07-31.

This report is still in progress.

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

Table of contents and commits per category:

(1) Highlighted commits (these are copies, not in stats)
1 1.5% Userland programs
8 12.3% Documentation
6 9.2% Hardware support
5 7.7% Networking
9 13.8% System administration
2 3.1% Libraries
2 3.1% Filesystems
12 18.5% Kernel
6 9.2% Build system
2 3.1% Internal organizational stuff
0 0.0% Testing
8 12.3% Style, typos, and comments
4 6.2% Contrib code
0 0.0% Reverted commits
0 0.0% Unclassified commits
65 100% total
Technical notes about this page

debug: info about the automatic classification

num % num changed stage
8 12.3% 0 01-style
11 16.9% 0 02-filenames_wildcards
23 35.4% 0 03-filenames_plain1
15 23.1% 0 04-filenames_plain2
2 3.1% 0 05-summary-prefix
6 9.2% 0 Manually-classified commits
0 0.0% 0 Unclassified commits

debug: more stats

num % stage
0 0.0% Misclassified commits
59 90.8% Classified commits, no corrections

debug: groups

0 0.0% num in revert
0 0.0% num in fixes
11 16.9% num in consecutive
11 16.9% 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.

RELNOTES: Document WITHOUT_BZIP2* removal
2d843b7c9758ad767216c1ae88c49157314857a7 Lexi Winter 2026-04-03 13:53:43

debug: classified in 03-filenames_plain1 by 'RELNOTES'

Userland programs

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

truss: add support for decoding Netlink messages
Netlink usage is growing in FreeBSD. This patch adds support to
`truss(1)` to decode Netlink headers in sendmsg/recvmsg calls, making
debugging network configuration tools significantly easier.

Changes:

libsysdecode: Add `sysdecode_netlink()` to parse struct `nlmsghdr`.
truss: Detect `AF_NETLINK` sockets and decode the message payload.

Reviewed by:    kp
Signed-off-by:  Ishan Agrawal <iagrawal9990@gmail.com>
Github PR:      https://github.com/freebsd/freebsd-src/pull/1950
8ef0093f297af7c917037f058af9813105e67662 Ishan Agrawal 2026-01-06 12:05:59

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

Documentation

Man pages, release notes, etc.

Commit group #0: procctl.2: Align list indentation
procctl.2: Align list indentation

Remove 81 lines of whitespace at default manual rendering width.

MFC after: 3 days
db9bbe131c92f55e6cf03657dc030c9eea93a9fb Alexander Ziaee 2026-04-02 03:07:28

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


982b3c5565ff72a584833b5dfe5e6f732fd70914 Konstantin Belousov 2026-04-04 06:30:30

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

posix_spawn.3: fix formatting of xref
Sponsored by: The FreeBSD Foundation
MFC after:      3 days
59e9a4c05a81a25aaf355cb18c24835abad96ff2 Konstantin Belousov 2026-04-02 07:42:16

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

src.conf.5: Regen after MK_CROSS_COMPILER=no change
8f34b6b84c958f24a2f717b13876d57cdac07fd9 Ed Maste 2026-04-01 19:19:31

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

mq_open(2): document sysctl limit EINVAL and ENFILE conditions
Document two missing error conditions for mq_open(2):

- EINVAL: returned when mq_maxmsg exceeds kern.mqueue.maxmsg or
  mq_msgsize exceeds kern.mqueue.maxmsgsize.
- ENFILE: add kern.mqueue.maxmq sysctl name to the existing entry.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243209
Reviewed by:    mhorne
MFC after:      1 week
Signed-off-by:  Kit Dallege <xaum.io@gmail.com>
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2098
3e9f4fd6fc50300d052d5619d82a14d3488483d5 Kit Dallege 2026-04-02 17:37:49

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

posix_spawn_file_action_addopen.3: ignoring close failure is now approved
Reviewed by:  dim
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential revision:  https://reviews.freebsd.org/D56222
b7b485efac8c1b601b9c0ada39921bad0e342970 Konstantin Belousov 2026-04-02 08:06:52

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

RELNOTES: Document WITHOUT_BZIP2* removal
2d843b7c9758ad767216c1ae88c49157314857a7 Lexi Winter 2026-04-03 13:53:43

debug: classified in 03-filenames_plain1 by 'RELNOTES'

fmax.3: Add caveat for going beyond C std requirements
libm's fmax and fmin family of functions treat +0.0 as greater than
-0.0.  This is not required by the C standard, so the user may not see
this behaviour due to compiler optimization.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294214
Reviewed by:    fuz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56230
7764e9ca28a9702aed4ba7391e055ec2fcf35c41 Ed Maste 2026-04-02 21:59:42

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

Hardware support

Hardware drivers and architecture-specific code.

bce: Fix SYSCTL_IN error check in bce_sysctl_nvram_write()
The condition after SYSCTL_IN was inverted: success (error == 0) returned
immediately and skipped the NVRAM write path, while failure fell through.
Return only when SYSCTL_IN fails.

Signed-off-by: Weixie Cui <cuiweixie@gmail.com>
Reviewed-by: ngie
Pull-Request: https://github.com/freebsd/freebsd-src/pull/2113
f3b59bf28504f901f4fcb568004a92c02fa371ed Weixie Cui 2026-03-31 13:51:46

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

pmap: Do not use PMAP_LOCK_INIT with kernel_pmap
The kernel_pmap lock is a bit special: it does not need the DUPOK flag,
and it really belongs to a different lock class.  If it belongs to the
same class as regular pmap locks, then witness may report warnings when
performing UMA allocations under a regular pmap lock, if the allocation
triggers a pmap_growkernel() call.

Replace instances of PMAP_LOCK_INIT(kernel_pmap) with inline mtx_init()
calls to silence some witness warnings for harmless behaviour I see with
some uncommitted test programs.

Reviewed by:    alc, kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D56185
c6a1c1260f02e44b7f44b1e3735ce5dbd785544d Mark Johnston 2026-04-01 09:15:26

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

acpi_spmc: Fail probe if acpi_spmc device already attached
We cannot have more than one SPMC device.

Reviewed by:    olce
Approved by:    olce
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D56062
0307db7744d4cfe0d610ebece226dd20fdcc4ed5 Aymeric Wibo 2026-04-01 11:54:57

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

acpi_spmc: Call new MS turn on display DSM
Microsoft added a new function index (turn on display, 9) to their DSM
set. This revision calls this, which fixes S0ix on certain machines,
such as the Lenovo Yoga Slim 7i Aura, who's ECs use this method as a
trigger to restore power to certain devices.

See commit 229ecbaac6b3 ("ACPI: x86: s2idle: Invoke Microsoft _DSM
Function 9 (Turn On Display)") on Linux.

Also see the following:
https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby-firmware-notifications#turn-on-display-notification-function-9

Reviewed by:    olce
Approved by:    olce
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D56062
683f7a8374ff67417ac45949bd56a12c23781232 Aymeric Wibo 2026-04-01 11:56:03

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

splash: add shutdown splash
This commit adds a shutdown splash to the existing kernel startup splash(4)
screen feature. It can be customized by providing a PNG image to the
shutdown_splash directive loader.conf(5).

Sponsored by:   Defenso
MFC after:      2 weeks
Reviewed by:    vexeduxr, ziaee, manu
Differential Revision:  https://reviews.freebsd.org/D55140
4b862c713ac5556ab4bd1828b47c5eb9cb28e067 Quentin Thébault 2026-04-02 16:38:47

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

virtio: use modern mode for transitional device by default
This patch changes the default value of the loader tunable
hw.virtio.pci.transitional to 1. This means, virtio uses the
modern mode for transitional devices by default.

The return values of vtpci_modern_probe() and vtpci_legacy_probei()
were chosen to prefer modern mode, but hw.virtio.pci.transitional=0
prevents modern mode.
Setting hw.virtio.pci.transitional to 1 by default seems a better fit.

Reviewed by:            tuexen
Differential Revision:  https://reviews.freebsd.org/D55894
0b39d72d0491c77e3e9883015b1fac46663c71de Timo Völker 2026-04-04 14:49:54

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

Networking

Network-related commands, library, and kernel.

Commit group #1: ip6_mroute: FIBify
ip6_mroute: Fix the type name in sysctl_mfctable()

No functional change since apparently it's fine to compute the size of
a pointer type when the base type is undefined.

Fixes:  https://cgit.freebsd.org/src/commit/?id=0bb9c2b665d9 ("ip6_mroute: FIBify")
0dbbed21a643f6c95bebe23008a332ff68adb203 Mark Johnston 2026-04-01 11:13:05

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

ipfw_nptv6: fix handling the ifaddr removal event
The result of IN6_ARE_MASKED_ADDR_EQUAL() macro is not an integer, so
threat it as a boolean value.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294114
Reported by:    Peter Much <pmc citylink dinoex sub org>
MFC after:      1 week
d9d7b59486499615a5fdce54443ce62aecf557e8 Andrey V. Elsukov 2026-04-02 10:14:29

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

nd6: Fix delayed NA for proxy addresses
Delayed proxy addresses need special handling, since
they can use link-local ifa as their source address and
have different link-layer data in their response.

Fixes:          https://cgit.freebsd.org/src/commit/?id=f37fbe30f559
Reviewed by:    glebius, markj
Differential Revision: https://reviews.freebsd.org/D55850
cf275806b6eddd66a3d82be56b3672dc5afab525 Pouria Mousavizadeh Tehrani 2026-03-13 14:25:01

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

tcp: retire TF_SENTSYN
This TF_-flag is only used in the RACK stack and not really needed.
So replace it, since glebius@ needs a TF_ flag and right now all
of them are taken.
No functional change intended.

Reviewed by:            rrs, glebius, rscheff, Nick Banks
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D56025
32cc4beb0a8c3cadc0de4c255ba512fd7b196607 Michael Tuexen 2026-04-03 19:22:11

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

Commit group #2: ip_mroute: FIBify
Fix nooptions VIMAGE build

The recent FIBify commits deref struct thread without including
sys/proc.h, which can result in a compiler error.  This becomes
apparent when building with LINT-NOVIMAGE, as net/vnet.h includes
sys/proc.h.  Fix this by directly including sys/proc.h

Fixes: https://cgit.freebsd.org/src/commit/?id=4c486fe40267 ("ip_mroute: FIBify"), https://cgit.freebsd.org/src/commit/?id=0bb9c2b665d9 ("ip6_mroute: FIBify")
3f79bc9ca336f634e1afa262ccf5155882550a8a Andrew Gallatin 2026-04-04 23:10:45

debug: classified in 03-filenames_plain1 by '['sys/netinet/', 'sys/netinet6/']'

System administration

Stuff in man section 8 (other than networking).

rtadvd: Fix validation of the MTU parameter when parsing config
MFC after:    1 week
607f6be6ec19f49ff595226afe1c8aa6515c59a0 Mark Johnston 2026-04-01 12:14:24

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

route(8): Show weight of nexthop in multipath routes
Reviewed by: zlei, markj
Differential Revision: https://reviews.freebsd.org/D56202
759d8a13a3b4510b7fab4d6c32e5a8de5ab056e7 Pouria Mousavizadeh Tehrani 2026-03-31 19:50:51

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

bhyve/virtio: Fix comparison of integer expressions of different signedness
It's a bit silly to have iov_to_buf() and buf_to_iov() return a ssize_t
to begin with, just to be able to return -1 for error. Change this to
size_t and use 0 as an error indicator, which won't require any changes
to the code using these functions.

While here, switch iov_to_buf() to use reallocf() instead of realloc().

Reviewed by: jhb
Fixes: https://cgit.freebsd.org/src/commit/?id=2a514d377b37 ("bhyve/virtio-scsi: Preallocate all I/O requests")
Differential Revision: https://reviews.freebsd.org/D55800
970e0db1c38b8b5f873e7c9797bb9abcad76a1d7 Hans Rosenfeld 2026-03-09 18:10:54

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

rtld: allow dlopen("#<number>/<path>")
When a specially formatted path is passed to dlopen(), of the form
  #number/path
and the number is the valid dirfd file descriptor listed in the
LD_LIBRARY_FDS, interpret it as a relative path name against dirfd
number.

This complements the result returned from dladdr() for such objects
in dli_fname.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D56152
ffbf3fecdeffa17c0745e7ed342989acb620d68e Konstantin Belousov 2026-03-29 22:45:49

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

rtld: add test for dlopen("#dirfd/path")
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:   https://reviews.freebsd.org/D56152
72252591ac01037fa53501adb88f00d5d3cc09ed Konstantin Belousov 2026-03-30 00:42:00

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

Commit group #3: tunefs: Don't lower WARNS
tunefs: Don't lower WARNS

Use casts to silence the alignment warnings instead of potentially
suppressing other legitimate warnings.

MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D56033
c5e79c7e93dda07c383be9b99a1a91894652f546 Dag-Erling Smørgrav 2026-04-02 11:21:59

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


tunefs: Fix alignment warning on arm64

MFC after:      1 week
Fixes:          https://cgit.freebsd.org/src/commit/?id=c5e79c7e93dd ("tunefs: Don't lower WARNS")
Reviewed by:    bakul
Differential Revision:  https://reviews.freebsd.org/D56229
616f47f176c308a29b1f4a6bba1b1a4dc01c3091 Dag-Erling Smørgrav 2026-04-02 21:23:47

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

tunefs: Add tests
MFC after:    1 week
Reviewed by:    ngie
Differential Revision:  https://reviews.freebsd.org/D56034
6630c3a73688ae3c33df892f6802bea5b8460e17 Dag-Erling Smørgrav 2026-04-02 11:22:05

debug: classified in 03-filenames_plain1 by '['etc/', 'sbin/']'

New version of jng (2.0)
Changes for jng 1.0 -> 2.0 include:

+ Add experimental MSS clamping
+ Add support for ng_bridge(4) NGM_BRIDGE_GET_STATS (getstats)
+ Add JSON formatted ng_bridge(4) statistics (see above) via "jng stats -j <name>"
+ Add error messages
+ Minor refactoring for code readability (read: quietly() function)
+ Rename eiface variables to jiface to clarify as-for jail interface (not ng_eiface(4))
+ Fix missing description for alternate form of "jng show" usage
+ Update "jng show <name>" to accept multiple names (now "jng show <name> …" is allowed)
+ Update "jng shutdown <name>" to accept multiple names (now "jng shutdown <name> …" is allowed)
+ Add "-a" option to "jng stats" (as-in "jng stats -a") to show all ng_bridge(4) stats
+ Update "jng stats <name>" to accept any kind of name (make it easier to use)
+ Add version ident
+ Remove extraneous line in LICENSE section
+ Add -h to usage statements
+ Bump copyright

Reviewed by:    jlduran
Differential Revision:  https://reviews.freebsd.org/D43516
8e68f940c1d19aaf441c56b46583cbd9ab7448de Devin Teske 2026-04-04 19:39:22

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

Libraries

posix_spawn: actions chdir and fchdir are now required by POSIX
Drop the _np suffix.

Reviewed by:    dim
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D56222
7caa71145c5eea5925c295e0cdd95b517005acf9 Konstantin Belousov 2026-04-02 07:57:58

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

lib/msun: Added fmaximum and fminimum family. Tests and man page
Starting from the existing fmax{,f,l} functions I've added the fmaximum
family, which handles NaN according to the newest standard (propagating
it).

This commit is a PoC for GSoC 2026.

Reviewed by:    fuz, kargl
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D55834
e55db843ef45a8788f69e110d97210fb3968b92f Jesús Blázquez 2026-03-31 16:31:15

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

Filesystems

cd9660: Add length checks to Rock Ridge parser
* cd9660_rrip_slink() did not check that the lengths of individual
  entries do not exceed the length of the overall record.

* cd9660_rrip_altname() did not check that the length of the record
  was at least 5 before subtracting 5 from it.

Note that in both cases, a better solution would be to check the length
of the data before calling the handler, or immediately upon entry of
the handler, but this would require significant refactoring.

MFC after:      1 week
Reported by:    Calif.io in collaboration with Claude and Anthropic Research
Reported by:    Adam Crosser, Praetorian
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D56215
d0afead876076f605c363f03d92304d1bd75be1c Dag-Erling Smørgrav 2026-04-01 17:14:16

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

nfsid.h: Put the nfsd_idargs structure in a new .h
This patch moves the definition of the nfsd_idargs
structure out of nfs.h and into a new file called
nfsid.h.

This is being done so that it can be included in
nfs_diskless.c in a future commit.

There should be no semantics change from this
commit.

MFC after:      1 week
Fixes:  https://cgit.freebsd.org/src/commit/?id=8b9775912cbc ("nfs_diskless: Add support for an NFSv4 root fs")
e6db4dd9d7216067388ae91ac73c3917a93f9420 Rick Macklem 2026-04-06 14:09:01

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

Kernel

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

vmm: Restore the ability to create VMs as root in a jail
The new PRIV_VMM_CREATE and DESTROY permissions should be allowed by
jails, so need to be added to the list in prison_priv_check().  Then,
modify vmmdev_create() to verify that the jail was created with the
allow.vmm flag.  This is already verified when opening /dev/vmmctl, but
checking again doesn't hurt and ensures that one can't pass the
allow.vmm policy by passing a vmmctl fd along a unix domain socket from
outside the jail.

Rename vmm_priv_check() to vmm_jail_priv_check() to make the function's
purpose more clear.

Reported by:    novel
Reviewed by:    bnovkov
Fixes:          https://cgit.freebsd.org/src/commit/?id=d4c05edd410e ("vmm: Add privilege checks to vmmctl operations")
Differential Revision:  https://reviews.freebsd.org/D56119
f3c772361f3b6213ec7ae7de993b6953357c7b48 Mark Johnston 2026-04-01 09:25:27

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

linuxkpi: Handle bin attributes in sysfs attribute groups
For instance, this is used by DRM drivers to declare the EDID property
of an GPU output connector:

    sysctl -b sys.device.drmn1.card0.card0-DP-1.edid | edid-decode

    ...
    Block 0, Base EDID:
      EDID Structure Version & Revision: 1.4
      Vendor & Product Identification:
        Manufacturer: SAM
        Model: 29814
        Serial Number: 810635354 (0x3051505a)
        Made in: week 15 of 2025
    ...

Reviewed by:    bz, emaste, wulf
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55176
5bb0f63020669bd3675c651ba7745fc4356edc1a Jean-Sébastien Pédron 2026-02-08 10:11:39

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

compat/linux: map TCP_USER_TIMEOUT sockopt into TCP_MAXUNACKTIME
After reading both manual pages, our TCP_MAXUNACKTIME is fairly
similar to the TCP_USER_TIMEOUT, the only considerable difference
is ours is in seconds and linux's in milliseconds.

Round up linux's in setsockopt(2) to a next whole second and
clamp ours getter to UINT_MAX ms.

Reviewed by:    tuexen, glebius
Differential Revision: https://reviews.freebsd.org/D56168
MFC after:      2 weeks
Sponsored by:   Sippy Software, Inc.
5d4a39d8ed775d607e0702f317f687491ac0a23d Maxim Sobolev 2026-04-01 21:42:50

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

Commit group #4: kqueue
kqueue: compare against the size in kqueue_expand

This is a cosmetic change, rather than a functional one: comparing the
knlistsize against the fd requires a little bit of mental gymnastics to
confirm that this is fine and not doing unnecessary work in some cases.

Notably, one must consider that kq_knlistsize only grows in KQEXTENT
chunks, which means that concurrent threads trying to grow the kqueue
to consecutive fds will usually not result in the list being replaced
twice.  One can also more clearly rule out classes of arithmetic
problems in the final `else` branch.

Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D56209
0b4f0e0515d0c7ec855cd654ae5dc562f4931cae Kyle Evans 2026-04-01 22:30:48

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


kqueue: avoid a possible fork-deadlock

kqueue_fork_copy() is likely to have transitioned at least one knote
through a flux state, so we should check whether we need to wake
anything up on the way out to avoid a possible deadlock.

This was a part of D56210, but we'll close the review with the next
commit.

Fixes:  https://cgit.freebsd.org/src/commit/?id=b11289f87123f ("kqueuex(2): add KQUEUE_CPONFORK")
Reviewed by:    kib, markj
14d0baf2e89202cec3f9cb03a573372ccbc568b2 Kyle Evans 2026-04-01 22:30:48

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


kqueue: simplify knote_fdclose()

The influx logic in knote_fdclose() is a little misguided, the resulting
wakeup() call should always be redundant: knote_drop_detached() will
always issue a wakeup before it returns, so anything waiting on *that*
knote that had entered fluxwait should have been woken up then.  This is
the obvious divergence from the other influx/wakeup pattern in the
implementation, which will kn_influx-- and then issue the wakeup after
it has processed all of the knotes it can make progress on.

While we're here, the kq_knlist cannot shrink, so we can avoid that
condition in the loop and avoid potentially excessive wakeups from
fluxwait on kqueues that we didn't touch.

Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D56210
ff1050d2a366bd288a6ebbf63f98003272513f92 Kyle Evans 2026-04-01 22:30:48

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


kqueue: add some kn_knlist assertions around knlist_(add|remove)

We currently assert that kn_status is accurate, but there's more room
for error.  Neither of these are very likely, but currently we'd blow up
in SLIST*() macros instead of providing more obvious diagnostics.  It's
perhaps only worth testing these because knlist_remove() requires
getting logic across both f_attach() and f_detach() correct.

Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D56211
306c9049c642da6a59a5dc088589605a9aa38b87 Kyle Evans 2026-04-01 22:30:48

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


kqueue_fork_copy_knote(): zero kn_knlist for the copy before calling knlist_add()

Reported by:    pho, dhw
Fixes:  https://cgit.freebsd.org/src/commit/?id=306c9049c642da6a59a5dc088589605a9aa38b87
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
aab1ef4527f1b0935add3e8dba9e928e0623376f Konstantin Belousov 2026-04-02 11:02:14

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

kqueue: assert that kqueue knote lists own the knotes
Reviewed by:  kevans, markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D56212
51db69c14fb1a1c2dc807695e6f564d498d33d5a Konstantin Belousov 2026-03-31 09:13:35

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

subr_module: account for MODINFOMD_EFI_ARCH
b3d6829f4998ad8ac8c65d39ac9513ba85a9974b Ahmad Khalifa 2026-04-03 07:13:29

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

nfs_diskless: Add support for an NFSv4 root fs
Without this patch, diskless root NFS file systems
could only be mounted via NFSv3 (or NFSv2).
This patch adds the basic support needed to mount
a root fs via NFSv4.

At this time, the NFSv4 mount will only work if
the following is done on the NFS server configuration:
- The root directory specified in the "V4:" line in
  /etc/exports must be "/".  This is needed since the
  path to mount must be the same for NFSv3 and NFSv4.
- The NFS server must be configured to do both NFSv3
  and NFSv4, since the bootstrap code still uses NFSv3.
- The NFSv4 server must be configured with:
  vfs.nfs.enable_uidtostring=1
  vfs.nfsd.enable_stringtouid=1
  since the NFSv4 root fs cannot be running nfsuserd(8)
  when it is booting.  (This limitation may be removed
  in a future commit by hard-wiring enough id<-->name
  mapping entries to handle things until the nfsuserd(8)
  is running.)

To enable the root fs to be mounted via NFSv4, it needs:
- in the root file system's /boot/loader.conf
  boot.nfsroot.options="nfsv4"
  (Additional options like rsize=65536,wsize=65536 can
   also be specified.)
- in the root file system's /etc/sysctl.conf
  vfs.nfs.enable_uidtostring=1

Requested by:   Dan Shelton <dan.f.dhelton@gmail.com>
MFC after:      1 week
8b9775912cbc7bb3c05c1fdfc3597dc4b68a9b9e Rick Macklem 2026-04-05 16:00:24

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

net: Add SIOCGI2CPB ioctl & add page/bank fields to ifi2creq
This commit adds page & bank fields to ifi2creq in preparation
for adding CMIS support for 400g optics to ifconfig.
The new ioctl SIOCGI2CPB is added, so that drivers can distinguish
between callers asking for page/bank selection and legacy callers
that simply failed to zero out all ifi2creq fields.

The mlx5en(4) driver and iflib(4) driver frameork have been updated
to use this new SIOCGI2CPB ioctl and support page/bank operations.
A follow-on patchset will add support to ifconfig for reporting
data from CMIS optics.

This has been tested on Nvidia ConnectX-7 and Broadcom Thor2 (using
out of tree driver) based NICs.

Differential Revision: https://reviews.freebsd.org/D55912
Sponsored by: Netflix Inc.
Reviewed by: kib
cf1f21572897ffc85789fbb1792603967297f6fc Andrew Gallatin 2026-04-05 19:58:10

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

Build system

src.opts.mk: !CROSS_COMPILER implies !LLVM_BINUTILS_BOOTSTRAP
This fixes the build when WITHOUT_CROSS_COMPILER is set.

Reported by: fuz, vishwin
Fixes: https://cgit.freebsd.org/src/commit/?id=17494c6e6b7d ("build: Boostrap LLVM_BINUTILS for cross-tools")
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56219
7d82731e4311880845b0109484df6562ab0cd213 Ed Maste 2026-04-01 18:27:05

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

release: Restore licenses for kyua and ncurses
These were modified to avoid triggering a libucl bug which is now fixed.

MFC after:      1 week
Reviewed by:    ivy, kevans
Differential Revision:  https://reviews.freebsd.org/D52824
d7259292ae0b9c2aef4bdc1b8bd62674c38f7ad4 Dag-Erling Smørgrav 2026-04-02 21:42:10

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

libsamplerate: Only build when virtual_oss is built
Gate libsamplerate behind MK_CUSE and MK_SOUND, like virtual_oss.
Nothing else uses this library, so there's no point building it
if we aren't building virtual_oss.

This avoids building a useless FreeBSD-sound package containing
only this library when WITHOUT_SOUND is set.

MFC after:      1 week
Reviewed by:    christos, emaste
Differential Revision:  https://reviews.freebsd.org/D56164
Sponsored by:           https://www.patreon.com/bsdivy
baa7a870d65db324d4dd781702e7ccefde20a3ee Lexi Winter 2026-04-03 13:42:20

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

libauditd: Don't build if WITHOUT_AUDIT is set
When WITHOUT_AUDIT is set, nothing is built that uses this library,
so don't build the library.  This avoids building the FreeBSD-audit
package when WITHOUT_AUDIT is set.

MFC after:      never
Reviewed by:    csjp, imp, emaste
Differential Revision:  https://reviews.freebsd.org/D56157
Sponsored by:           https://www.patreon.com/bsdivy
b13d7062b3a65ba600745fef6a2b4058444e5f6c Lexi Winter 2026-04-03 13:43:18

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

Remove WITHOUT_BZIP2, WITHOUT_BZIP2_SUPPORT
WITHOUT_BZIP2_SUPPORT only affects a single binary, gzip(1); it doesn't
remove bzip2 support from other bits (e.g., libarchive) and there are
no similar options for gzip, xz or zstd.

WITHOUT_BZIP2 has not done anything at all since it was first added
in 2007.

MFC after:      never
Discussed on:   arch@
Reviewed by:    imp, des, adrian, delphij, emaste
Differential Revision:  https://reviews.freebsd.org/D56148
Sponsored by:           https://www.patreon.com/bsdivy
ab9257599a551cf4be8738ec52205998f4e7dd81 Lexi Winter 2026-04-03 13:50:09

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

packages: Fix build with libucl 0.9.3
In libucl 0.9.3, macros and includes are disabled by default when
creating a new UCL parser.  This breaks the package build, which
relies on includes.  Fix this by explicitly passing zero flags
to ucl.parser().

MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=abda442d92fd ("contrib/libucl:  Import libucl 0.9.3")
Reviewed by:    kevans, bapt
Reported by:    freebsd@walstatt-de.de
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D56266
63d0e3e3aa2483420f828686336d6615616363d5 Lexi Winter 2026-04-06 17:11:22

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

Internal organizational stuff

CONTRIBUTING.md: Make quality expectations section more concise
FreeBSD has not yet established an AI submission policy.  For now remove
text that implies we have.
fba8bd02340f0111a4f81c538718edcc46554794 Ed Maste 2026-04-04 21:19:28

debug: classified in 03-filenames_plain1 by 'CONTRIBUTING.md'

Add myself as a committer
Approved by:    makc (mentor)
c84049c0bef5be3a59159e9a9ae88e22caff429b Kenneth Raplee 2026-04-04 21:07:53

debug: classified in 03-filenames_plain1 by 'share/misc/committers-ports.dot'

Testing

-- no commits in this category this week --

Style, typos, and comments

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

pause.3: Fix a typo in the manual page
- s/reimplemeted/reimplemented/

MFC after:      3 days
9eea5eccf40d408ad22ac06d9962b3a98a0f0628 Gordon Bergling 2026-04-04 07:02:01

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

bhnd(4): Fix a typo in a source code comment
- s/impementations/implementations/

MFC after:      3 days
04be4d04bbcbd061455b4424488b06927487a948 Gordon Bergling 2026-04-04 07:03:51

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

isci(4): Fix a couple of typos in source code comments
- s/THis/This/
- s/impementation/implementation/

MFC after:      3 days
adc41a72b8843047d02265a6ab2d8a5025a9ce89 Gordon Bergling 2026-04-04 07:05:51

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

ixl(4): Fix a typo in a source code comment
- s/seperated/separated/

MFC after:      3 days
ef3703a8cd9ade13d0c7a685577100e1fc18ee09 Gordon Bergling 2026-04-04 07:06:58

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

shlib-compat: Fix two typos in error messages
- s/implemeted/implemented/

MFC after:      3 days
3957e233dd9cf7b7599dd0a5efc59a78adfa9441 Gordon Bergling 2026-04-04 07:08:25

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

bsdconfig(8): Fix a typo in a source code comment
- s/THis/This/

MFC after:      3 days
b427b661be01e7b112531ba0b1ea27377a963bb8 Gordon Bergling 2026-04-04 07:09:56

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

virtio.4: fix typo
Reviewed by:  tuexen
Fixes:          https://cgit.freebsd.org/src/commit/?id=c70755bc0d8f ("virtio: add loader tunables to sysctl")
MFC after:      3 days
39c44fc55f0ed595623fb6d66a4060b7be32fa51 Timo Völker 2026-04-04 14:43:07

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

CONTRIBUTING.md: Correct typo
Reported by:  vladlen
cb813145f0ad72705cb4ccf80222a408abe3d54c Ed Maste 2026-04-05 12:21:44

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

Contrib code

MFV: xz 5.8.3.
Security:     CVE-2026-34743
MFC after:      3 days
f81c1f4339cd20ea89dad51c0f7d96e0e34313a9 Xin LI 2026-04-01 01:45:14

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

contrib/expat: import expat 2.7.5
Changes: https://github.com/libexpat/libexpat/blob/R_2_7_5/expat/Changes
         https://github.com/libexpat/libexpat/blob/R_2_7_4/expat/Changes

Security:       CVE-2026-32776
Security:       CVE-2026-32777
Security:       CVE-2026-32778
Security:       CVE-2026-24515
Security:       CVE-2026-25210
MFC after:      3 days
ae04c7bbf065278687fa930e81a96767e9009d38 Philip Paeps 2026-04-02 00:12:18

debug: classified in 05-summary-prefix by 'contrib/'

posix_spawn test: switch to POSIX spelling for addchdir and addfchdir
Reviewed by:  dim
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D56222
e56858f05fd7071a39de7f7b1e632426fdf0624d Konstantin Belousov 2026-04-03 02:56:19

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

contrib/libucl: Import libucl 0.9.3
Differential Revision: https://reviews.freebsd.org/D54583
Approved by: bapt
MFC after:  3 days

Changelog: https://github.com/vstakhov/libucl/releases/tag/0.9.3
abda442d92fdbadcf81c79bc9ddba001d133c429 Muhammad Moinur Rahman 2026-04-03 11:53:18

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.20 at 2026-04-06 17:22:01+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2026-04-01 (release)