This is a display of mostly-automatically-classified git commits from 2026-03-30 to 2026-04-05.
Table of contents and commits per category:
| (1) | Highlighted commits (these are copies, not in stats) | |
| 1 | 1.0% | Userland programs |
| 9 | 9.2% | Documentation |
| 13 | 13.3% | Hardware support |
| 15 | 15.3% | Networking |
| 11 | 11.2% | System administration |
| 8 | 8.2% | Libraries |
| 1 | 1.0% | Filesystems |
| 16 | 16.3% | Kernel |
| 8 | 8.2% | Build system |
| 2 | 2.0% | Internal organizational stuff |
| 2 | 2.0% | Testing |
| 8 | 8.2% | Style, typos, and comments |
| 4 | 4.1% | Contrib code |
| 0 | 0.0% | Reverted commits |
| 0 | 0.0% | Unclassified commits |
| 98 | 100% | total |
| Technical notes about this page |
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.
Commits about commands found in man section 1 (other than networking).
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
Man pages, release notes, etc.
atexit(3) is one of the cases when _exit(2) must be used instead of exit(3). MFC after: 3 days Reviewed by: mhorne, ziaee Differential Revision: https://reviews.freebsd.org/D54467
The current indentation is shorter than all but one of these flags. This renders much more nicely. MFC after: 3 days
procctl.2: Align list indentation Remove 81 lines of whitespace at default manual rendering width. MFC after: 3 days
procctl.2: remove space at EOL Fixes: https://cgit.freebsd.org/src/commit/?id=db9bbe131c92f55e6cf03657dc030c9eea93a9fb
Sponsored by: The FreeBSD Foundation MFC after: 3 days
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
Reviewed by: dim Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D56222
Hardware drivers and architecture-specific code.
Reported by: Tom <freebsd@fizz.buzz> Reviewed by: markj Tested by: Tom <freebsd@fizz.buzz> MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56021
MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=1e39b5d4833e ("nvme_sim: Attach as a child of nvme") Sponsored by: The FreeBSD Foundation
This lock doesn't need to be held across seldrain/knlist_destroy. It is also redundant (and a bug) to hold it across knlist_add and knlist_remove since it is the mutex for the knlist. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293901 Reported by: Jiaming Zhang <r772577952@gmail.com> Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55994
This is effectively a no-op, as it does not make use of the sndcard_func->varinfo field, so eventually ua_probe() always succeeds. Also change ua_probe()'s value to 0. There is no need to return BUS_PROBE_DEFAULT, because snd_uaudio() attaches the sound(4)'s children with bus_attach_children(). Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56160
Add support for Cezanne chips. The only real difference vs Rembrandt/Phoenix is the idlemask register. Also simplify getting IP block count by having this straight in struct amdsmu_product and remove Strix Point from the list for now, as that doesn't support S0ix and our driver can't handle that. Reviewed by: mckusick Approved by: mckusick Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55594
"Low Power S0 Idle" doesn't mean that much. "System Power Management Controller" is what "SPMC" stands for in the first place. Sponsored by: The FreeBSD Foundation
This driver enables bcm2835-virtgpio GPIO controller found on RPi3B and some CM boards. On which, the ACT (green) LED is connected to this controller. It is essential for FreeBSD to have this driver to control this LED. It will be exposed via gpioled(4). Reviewed by: mhorne MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D51456
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
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
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
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
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
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
Network-related commands, library, and kernel.
The thread running if_vmove_reclaim() may race with other threads those
running if_detach(), if_vmove_loan() or if_vmove_reclaim(). In case the
current thread loses race, two issues arise,
1. It is unstable and unsafe to access ifp->if_vnet,
2. The interface is removed from "active" list, hence if_unlink_ifnet()
can fail.
For the first case, check against source prison's vnet instead, given
the interface is obtained from that vnet.
For the second one, return ENODEV to indicate the interface was on the
list but the current thread loses race, to distinguish from ENXIO, which
means the interface or child prison is not found. This is the same with
if_vmove_loan().
Reviewed by: kp, pouria
Fixes: https://cgit.freebsd.org/src/commit/?id=a779388f8bb3 if: Protect V_ifnet in vnet_if_return()
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D55997
I would like to support per-FIB multicast routing tables, such that one can run a routing daemon per-FIB, with each daemon oblivious to the existence of others. Currently the multicast routing code is completely unaware of FIBs. To that end, start collecting various global variables in ip_mroute.c into a per-VNET struct mfctable. In a future patch this will be expanded into an array of mfctable structures, one per FIB. For now, all of the state is collected into V_mfctables[0]. Each mfctable contains, among other things: - a pointer to the routing socket, if routing is enabled, - a hash table of routing cache entries, - an table of network interfaces participating in the routing configuration This change has no functional effect, it is just factoring out these global variables to make the subsequent patches simpler. MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55237
As in the IPv4 version of this change, I added a struct mf6ctable structure which holds all global routing table state, soon to become per-FIB state. Note that much of the v6 multicast routing code was not VNETified; this change fixes that too. MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55238
The multicast routing code will start implementing per-FIB routing tables. As a part of this, it needs to be notified when the number of FIBs changes, so that it can expand its tables. Add an eventhandler for this purpose. MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55239
Use the new rtnumfibs_change event to expand the mfctable array when the number of FIBs increases. MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55240
ip_mroute: FIBify Modify the control plane (ioctl and socket option handlers) to use the routing socket FIB to index into the mfctable array. Modify the forwarding plane to use the mbuf's FIB to determine which routing table to use. MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55241
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")
ip6_mroute: FIBify Modify the control plane (ioctl and socket option handlers) to use the routing socket FIB to index into the mfctable array. Modify the forwarding plane to use the mbuf's FIB to determine which routing table to use. MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55242
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")
MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55243
There's no need to pass a pointer to the interface number. No functional change intended. MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55245
When an interface goes away we need to make sure the v6 multicast routing tables don't carry any dangling references to the ifnet. The v4 code handles this already. Copy the approach there and use an eventhandler to purge the corresponding MIF, if one exists, and further go through all routes in the FIB and remove references to the interface. MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55246
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
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
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
Stuff in man section 8 (other than networking).
Some Kyua directories were improperly tagged as belonging to the tests package. Move them to the kyua package, which contains all of the files found in these directories. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294129 MFC after: 1 week Reviewed by: ivy, emaste Differential Revision: https://reviews.freebsd.org/D56159
Reviewed by: dim, emaste, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56151
MFC after: 1 week
Reviewed by: zlei, markj Differential Revision: https://reviews.freebsd.org/D56202
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
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
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56152
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
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
MFC after: 1 week Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D56034
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
namely
fegetexceptflag(3)
fetestexcept(3)
fesetround(3)
fegetround(3)
fesetenv(3)
Same as it was done in f39754d51b7dc65c4cf9f for feclearexcept(3).
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277958
Reviewed by: dim
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D56139
namely
fegetexceptflag(3)
fesetexceptflag(3)
feraiseexcept(3)
fetestexcept(3)
fegetround(3)
fesetround(3)
fegetenv(3)
feholdexcept(3)
fesetenv(3)
feupdateenv(3)
feenableexcept(3)
fedisableexcept(3)
fegetexcept(3)
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277958
Reviewed by: dim
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D56139
namely
fegetexceptflag(3)
fesetexceptflag(3)
feraiseexcept(3)
fetestexcept(3)
fegetround(3)
fesetround(3)
fegetenv(3)
feholdexcept(3)
fesetenv(3)
feupdateenv(3)
feenableexcept(3)
fedisableexcept(3)
fegetexcept(3)
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277958
Reviewed by: dim
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D56139
namely
fegetexceptflag(3)
fesetexceptflag(3)
feraiseexcept(3)
fetestexcept(3)
fegetround(3)
fesetround(3)
fegetenv(3)
feholdexcept(3)
fesetenv(3)
feupdateenv(3)
feenableexcept(3)
fedisableexcept(3)
fegetexcept(3)
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277958
Reviewed by: dim
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D56139
namely
fegetexceptflag(3)
fesetexceptflag(3)
feraiseexcept(3)
fetestexcept(3)
fegetround(3)
fesetround(3)
fegetenv(3)
feholdexcept(3)
fesetenv(3)
feupdateenv(3)
feenableexcept(3)
fedisableexcept(3)
fegetexcept(3)
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277958
Reviewed by: dim
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D56139
The 'extern inline' usage is removed. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277958 Reviewed by: dim Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56139
Drop the _np suffix. Reviewed by: dim Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56222
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
* 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
Kernel stuff (other than networking, filesystems, and drivers).
The call to vn_start_write_refed() from vfs_write_resume() with
'mplocked' set to 'true' exactly boils down to doing an increment of
'mnt_writeopcount', albeit with lots of unnecessary verifications.
Replace it with an inline incrementation. As the original call was the
last with 'mplocked' with 'true', remove the 'mplocked' parameter from
vfs_write_resume(), simplifying its code accordingly ('mplocked' always
false).
While here, in vfs_write_resume(), initialize 'error' out of the mount
lock.
Reviewed by: kib
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56108
Approved by: ziaee Differential Revision: https://reviews.freebsd.org/D56015
This will fix LINT-NOIP build. This actually adds very little to the kernel text, e.g. 500 bytes on amd64. A perfect solution would be to instead declare rss_config.c as 'optional inet | inet6', but that would fail to build LINT-NOIP in several NIC drivers, that use RSS and absolutely ignore that both INET and INET6 are optional. It is very unlikely that vendors who maintain these drivers will will ever chase the holy grail of a build that doesn't support IPv4 and IPv6. Fixes: https://cgit.freebsd.org/src/commit/?id=d9c55b2e8cd6b79f6926278e10a79f1bcca27a4b
- add a missing sysctl to the deprecated list - add a comment to not add new generic sysctls and point to SYSCTL_JAIL_PARAM instead Reviewed by: jamie Differential Revision: https://reviews.freebsd.org/D51150
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
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
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.
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
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
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
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
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
Reviewed by: kevans, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56212
Fixes: https://cgit.freebsd.org/src/commit/?id=b538d4911004ca541507166b8ec9689d2e87d1aa MFC after: 2 weeks
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
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
Up to now the LinuxKPI wlan drivers were using local variables starting with a WITH_ prefix in their Makefiles. That is likely to collide with other mechanisms like WITH_ and WITHOUT_ from src.conf. Adjust the local variables to use a driver name prefix for now to control what is built and what is not. These variables are mainly for the time of development so we can turn off/on a feature or bus attachment while working on it. Otherwise they are there for documentation purposes. The only reason one would change them locally would be if someone was to build a very custom image and not want certain bits (e.g., USB support) being compiled into the modules. While here, try to harmonize some parts of the Makefiles. Suggested by: imp Discussed with: imp Reviewed by: imp Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D55977
Document the vmgenc(4) ACPI driver which detects virtual machine cloning and snapshot restoration via the VM Generation ID specification. The driver reseeds the kernel entropy pool when a generation change is detected. MFC after: 3 days Reviewed by: cem (previous), ziaee Signed-off-by: Christos Longros <chris.longros@gmail.com> Differential Revision: https://reviews.freebsd.org/D56011
These are not used in our world and kernel build targets. We use the compiler driver for assembly, and ar adds the archive index (symbol table) automatically. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55964
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
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
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
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
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
FreeBSD has not yet established an AI submission policy. For now remove text that implies we have.
Approved by: makc (mentor)
Parts of ATF (including the licence and some of the documentation) were for some reason part of the tests package instead of the atf package. Moving them to where they logically belong poses no problem since tests already depends on atf. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294129 MFC after: 1 week Reviewed by: ivy Differential Revision: https://reviews.freebsd.org/D56158
These use atf_python to create a number of hosts linked to a router. The router runs pimd (for IPv4) or ip6_mrouter (simplistic IPv6 multicast router that I wrote since I couldn't find one in the ports tree). The vnet_host*_handler() methods are invoked in different VNET jails connected to the router; they register the connected epair with a multicast group and verify that they can send messages to each other. The tests are synchronized by sending messages over a unix domain socket. The flow is something like: 1) test startup_method() is called, the unix socket is created, 2) the superclass creates jails and links them together using the declared topology, 3) we wait for all child jails to start up and send a message on the unix socket indicating that they are ready 4) we start the routing daemon in the main jail, 5) the test actually starts; starttest() kicks off the vnet_host*_handlers(), which mostly just verify that they can send messages to each other using multicast packets 6) once they finish running, they signal their completion, and waittest() returns once they're all done There are two tests, repeated for v4 and v6. One just exchanges packets between two hosts, and the other has four hosts divided across two FIBs. MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55244
These could go in other categories, but it's more clear if they're here instead.
- s/reimplemeted/reimplemented/ MFC after: 3 days
- s/impementations/implementations/ MFC after: 3 days
- s/THis/This/ - s/impementation/implementation/ MFC after: 3 days
- s/seperated/separated/ MFC after: 3 days
- s/implemeted/implemented/ MFC after: 3 days
- s/THis/This/ MFC after: 3 days
Reviewed by: tuexen Fixes: https://cgit.freebsd.org/src/commit/?id=c70755bc0d8f ("virtio: add loader tunables to sysctl") MFC after: 3 days
Reported by: vladlen
Security: CVE-2026-34743 MFC after: 3 days
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
Reviewed by: dim Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56222
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
-- no commits in this category this week --
Not classified automatically, and waiting for manual attention.
-- no commits in this category this week --
Dates:
cgit.freebsd.org/src. Git accurately records the
order of commits, but not their dates.Automatic grouping:
This reverts commit \\b([0-9a-fA-F]{40})\\b
and the hash was found in this week's commits.
Automatic categories:
Source code:
Generated with commits-periodical 0.20 at 2026-04-13 18:39:30+00:00.
This work is supported by Tarsnap Backup Inc.
Alternate version: 2026-03-30 (debug) (contains info about the classification)