FreeBSD git weekly: 2025-11-24 to 2025-11-30

Introduction

This is a display of mostly-automatically-classified git commits from 2025-11-24 to 2025-11-30.

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.

Table of contents and commits per category:

(1) Highlighted commits (these are copies, not in stats)
1 0.7% Userland programs
12 8.0% Documentation
31 20.7% Hardware support
9 6.0% Networking
13 8.7% System administration
21 14.0% Libraries
1 0.7% Filesystems
20 13.3% Kernel
15 10.0% Build system
3 2.0% Internal organizational stuff
7 4.7% Testing
11 7.3% Style, typos, and comments
4 2.7% Contrib code
2 1.3% Reverted commits
0 0.0% Unclassified commits
150 100% total
Technical notes about this page

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.

libc: implement C23 <stdbit.h> functions
This new header complies with ISO/IEC 9899:2024 (C23).

Contrary to glibc, we do not provide inline definitions in
<stdbit.h> as we expect our system compiler to soon recognise
these as builtins anyway.

Relnotes:       yes
MFC after:      1 month
Reviewed by:    adrian
Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D53657
6296500a85c8474e3ff3fe2f8e4a9d56dd0acd64 Robert Clausecker 2025-11-18 17:32:53

Userland programs

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

mdo(1): Avoid calling getgroups() in some unnecessary cases
If the basis for supplementary groups are the current ones, we do not
need to fetch them when they are to be replaced entirely (which we
already have been doing), as in the '!start_from_current_groups' case,
but specifically also when they are not going to be touched at all.

This change in passing makes the modified code block's comment saying
that SETCREDF_SUPP_GROUPS need not be set here correct.

MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53771
b92b1b47583036bd02e656564ff22c92b8949077 Olivier Certner 2025-11-14 11:59:09

Documentation

Man pages, release notes, etc.

mount.8: document nosymfollow option
Document the nosymfollow mount option in more details.
Forgotten in 5ddc8ded1dbe650b7d83240a1f86a1eb6e2b9b5a
a067eb525e10acc9d7e1f3b1a8a6dfeca42b4424 Wolfram Schneider 2025-11-24 08:33:07
Add description of the LD_DEBUG environment variable.
a8151f196c3cc6af2f8de5682e8522df5986dcd6 George V. Neville-Neil 2025-11-25 14:14:26
lseek.2: SEEK_HOLE, SEEK_DATA & ENXIO conform to POSIX 2024
Signed-off-by: Ricardo Branco <rbranco@suse.de>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1891
51f278e685a0aa57930fabbcc7ab0d03fda0ee49 Ricardo Branco 2025-11-18 23:00:38
jemalloc: import jemalloc 5.3.0 man page
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1890
bf4c7487f25d3891425a9ba54516b740a948876b Minsoo Choo 2025-11-17 18:45:19
jemalloc: apply freebsd changes to jemalloc 5.3.0 man page
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1890
80ec82aba9ae7286cac1a4f8000262cf2cf34d0c Minsoo Choo 2025-11-17 18:48:15
mdo.1: Document group-related and fine-grained control functionalities
This is a manual page update describing the functionality that was added
to mdo(1) in commit 3ca1e69028ac ("mdo(1): Add support and shortcuts for
fully specifying users and groups").  Please either refer to that commit
or the new manual page's content for more information.

While here:
- Add to the introduction a description of process credentials and some
  specific vocabulary that is used throughout the page, as well as the
  relationship between mdo(1) and mac_do(4).
- Update the HISTORY section.
- Add AUTHORS and SECURITY CONSIDERATIONS sections.

Reviewed by:    ziaee
MFC after:      1 minute
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Google LLC (GSoC 2025)
Co-authored-by: Kushagra Srivastava <kushagra1403@gmail.com>
Differential Revision:  https://reviews.freebsd.org/D53905
73dd00f2fd7de2a5d8dda8fa25ebcd7c8964ff52 Olivier Certner 2025-09-01 15:24:54
papers: Retire phkmalloc paper
It has not been installed since commit cdc37953165c ("In preparation for
the removal of the roff toolchain, disconnect the") and turned up in
a search for outdated MALLOC_OPTIONS settings.

The rendered paper is available at
https://papers.freebsd.org/1998/phk-malloc

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287357
Reviewed by:    bapt
Event:          Kitchener-Waterloo Hackathon 202506
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50908
35232d8edb5b8b3f18b6d9b2a93ecc252f8ed5a2 Ed Maste 2025-06-17 15:07:42
loader: Note current autoboot_delay behavior
Some time ago, the boot loader stopped polling for a key press during
the kernel and module loading prior to the transition to lua. Inspection
of the code shows the polling is no longer there. Document the change.

Sponsored by:           Netflix
7fe881e87b4a9a65bb5cbba0e4d6808639a55781 Warner Losh 2025-11-27 04:39:48
man: RealTek -> Realtek
Realtek changed how it styled its name 25 or so years ago, but the old
style persisted in many places. These products use the new styling in
their datasheets.

Signed-off-by: ykla yklaxds@gmail.com
Sponsored by: Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1901
5fd8a01e9b7c0fcf3ac0bab5cd137c9bbdda3341 ykla 2025-11-26 08:43:52
umass(4): Update to include pointers to quirks
umass(4), while much improved, still sometimes need quirks. Add a
pointer to usb_quirk(4) and usbconfig(8).

Sponsored by:           Netflix
687ab0dc54a926092548310d71afdbe386150838 Warner Losh 2025-11-28 20:49:16
libc: remove ARMv5/6 from man page
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
53da09369c42333820762415cb6b829b10362389 Minsoo Choo 2025-11-29 00:40:11
man/man3: add cross references to stdbit(3)
Add cross references to relevant stdbit man pages

Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision: https://reviews.freebsd.org/D53661
5bfdb66ad985774b123ecd0cadee65c071b7ded0 Robert Clausecker 2025-11-10 09:43:37

Hardware support

Hardware drivers and architecture-specific code.

arm: Add missing argument in mtx_init() calls
Fixes:                https://cgit.freebsd.org/src/commit/?id=9d18115ca0ab ("sound: Retire snd_mtx* wrappers")
Reported by:    CI
Sponsored by:   The FreeBSD Foundation
MFC after:      4 days
120f8a4c2ae8a011827d83b098ecf70c791f794b Christos Margiolis 2025-11-24 12:19:25
sound: Fix revents in midi_poll()
Sponsored by: The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    christos
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1887
8f8b8e4af91d4e158caf6ba4b728482311bfc7c3 Nicolas Provost 2025-11-24 13:35:08
mlx5: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53091
Reviewed by: kib
Sponsored by: Netflix
8f94088bc5d3ee586b36f8f7b269223b420ac957 Andrew Gallatin 2025-11-24 15:36:09
nvme: Fix some comments
Tweak a couple of comments and fix a spelling error.

Sponsored by:           Netflix
8a766c9e81c3d9638fd0a1c3c2aa51cee2379539 Warner Losh 2025-11-19 00:00:12
cxgbe: Fix the RSS build
When "options RSS" is configured, opt_rss.h defines the "RSS" token.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291068
Fixes:  https://cgit.freebsd.org/src/commit/?id=17b4a0acfaf5 ("cxgbe(4): T7 related updates to shared code")
d78231ed04d333f64a73c891a45a94981baad251 Mark Johnston 2025-11-24 18:39:54
irdma(4): fix potential memory leak on qhash cqp operation
It was found that in some circumstances when launching
non-waiting create qhash cqp operation the refcount on
the cqp_request may be not properly decremented leading to a memory
leak.

Signed-off-by: Bartosz Sobczak <bartosz.sobczak@intel.com>

Reviewed by:    anzhu_netapp.com
Tested by:      mateusz.moga_intel.com
Approved by:    kbowling (mentor)
MFC after:      1 week
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D53732
7b6644e160ed63b633e7c68a3cacf2c71d216cd5 Bartosz Sobczak 2025-11-24 18:41:41
cxgbe(4): Fix compile warning for !RSS kernels
.../sys/dev/cxgbe/t4_main.c:7197:1: warning: unused function 'hashen_to_hashconfig' [-Wunused-function]
 7197 | hashen_to_hashconfig(int hashen)
      | ^~~~~~~~~~~~~~~~~~~~
1 warning generated.

Reported by:    bz
Fixes:  https://cgit.freebsd.org/src/commit/?id=d381a6b4a552 cxgbe: use newly exposed RSS hash key API rather than ad-hoc hashing
a303b1455fb5f76b193e10b0a96fabe4e93e9f40 Navdeep Parhar 2025-11-24 21:00:47
nvme(4): Increase HMB alignment.
The NVME controller in Crucial P310 disk does not accept 16-byte aligned
host memory buffer on Codasip Prime platform, but works fine on PAGE_SIZE
aligned memory.

Instead of adding a quirk, just increase alignment for everyone.

Reviewed by:    jhb
Discussed with: imp
Sponsored by:   CHERI Research Centre
Differential Revision:  https://reviews.freebsd.org/D53296
b87f6330013f2d04ef83c453f95db5cd3247e6e1 Ruslan Bukin 2025-11-25 08:38:37
em(4): fix capability bounds needed to access checksum context.
Ensure the offp capability bounds cover entire struct with checksum fields.

This is needed for CHERI systems to avoid bounds violation trap, as
otherwise offp allowed to dereference 4 bytes of csum_flags field only
so bzero failed.

Tested on ARM Morello.

Reviewed by:    kbowling
Discussed with: jrtc27
Sponsored by:   CHERI Research Centre
Differential Revision:  https://reviews.freebsd.org/D53903
64ee9c166ce5e807e575d205ac2e15cc5cf6581b Ruslan Bukin 2025-11-25 09:16:39
NOTES: Remove duplicate options KCSAN entries
Signed-off-by: ykla yklaxds@gmail.com
Sponsored by: Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1900
a4e3e724df8ad4f5a2d74b03636af55ca401b96e ykla 2025-11-25 10:00:16
fib_algo: add FIB_ALGO to GENERIC kernel config on riscv
FIB_ALGO modular FIB lookups have been enabled by default on
amd64 and arm64 since 2021, so enable it on riscv as well.

Reviewed by:    melifaro
MFC after:      1 month
b1b0fb3dcf00dd999fa2635ab0124d01e74ae551 Marko Zec 2025-11-25 18:18:37
cxgbe(4): Enable IFCAP_NV and implement SIOCGIFCAPNV/SIOCSIFCAPNV
MFC after:    1 week
Sponsored by:   Chelsio Communications
98f6f6e4f4bb7b19e12de89fc8cc034915f7a759 Navdeep Parhar 2025-11-25 19:04:30
nvme: Use 'unsigned int' in preference to bare unsigned
It's our preferred style. No functional change.

Noticed by: avg
Sponsored by: Netflix
718acd74657fdf21cfd03c721bb7484d3789aaa0 Warner Losh 2025-11-26 05:14:20
xae(4), axidma(4): rewrite DMA operation.
Due to performance constraints on a synthesized CHERI RISC-V core,
remove usage of xdma(4) scatter-gather framework.  Instead, provide
a minimalistic interface between two drivers.

This increases performance ~4-5 times.
Tested using scp(1) and nc(1) on Codasip Prime.

Sponsored by:   CHERI Research Centre
Differential Revision:  https://reviews.freebsd.org/D53932
974ecf68903d3887324f534a3bca21f1ae501819 Ruslan Bukin 2025-11-26 16:26:31
sound examples: Fix buffer mapping/allocation
The buffer in struct config should be allocated or mmap'ed. The code
without this patch allocates the buffer unconditionally, even for mmap
configs.

MFC after:      1 week
Reviewed by:    christos
Differential Revision:  https://reviews.freebsd.org/D53939
ebf1d98d60725feccd726ef8e4fa518661f9eae0 Goran Mekić 2025-11-26 19:33:05
vt: Allow VT_SETMODE with frsig=0
Linux does not check that any of the signals in vt_mode VT_SETMODE ioctl
(relsig, acqsig, frsig) are valid, but FreeBSD required that all three
are valid.  frsig is unusued in both Linux and FreeBSD, and software
typically leaves it unset.  To improve portability, allow frsig to be
set to zero.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289812
Reported by:    Dušan Gvozdenović
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52835
5198c32210039d8dc92554647384eee75688848c Ed Maste 2025-09-30 19:39:34
sys: RealTek -> Realtek
Realtek changed how it styled its name 25 or so years ago, but the old
style persisted in many places. These products use the new styling in
their datasheets.

Signed-off-by: ykla yklaxds@gmail.com
Sponsored by: Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1901
8cbe0dd5097fbcbfbfbba50b016ec48352892ca7 ykla 2025-11-26 09:02:25
riscv: include Xilinx PCIe controller driver.
This is used on Codasip Prime.

Sponsonred by: CHERI Research Centre
06a4a092e6846f64cacdff9a8c5efa294ce35a88 Ruslan Bukin 2025-11-27 08:56:34
bus: Add device_has_children predicate
Add a device_has_children() function which can be used to check if a
device has children without allocating a list of them which we aren't
going to use, or even counting them.

Also modify device_get_children() so it can be used to query the count
without allocating a list.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    imp, markj
Differential Revision:  https://reviews.freebsd.org/D53918
330d4437f2100fc05e576763f4f6a7198080663a Dag-Erling Smørgrav 2025-11-28 09:14:31
sound: Retire snd_mixer->busy
Does not really serve any real purpose. It gets set on mixer_open() and
unset on mixer_close(), so it essentially tells us whether the mixer is
open or not.

mixer_close() uses it to return EBADF in case the mixer is not busied,
as in, the mixer has not been open()'d yet. This is redundant. The other
place where this is used is to decide whether to serve an ioctl issued
by userland, in which case it won't if, again, the mixer has not been
busied (i.e., opened). Again, seems redundant.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53859
e5d50a679aa1a72a7cbcb0281b9420aad4a7dc7a Christos Margiolis 2025-11-28 14:35:56
acpi: Fix setting sleep state sysctls to NONE
This restores the functionality as it was pre-97d152698f48.

A stopgap was committed by glebius@ in 34dfccc64f47 ("acpi: in
acpi_stype_sysctl() use same logic as in acpi_sleep_state_sysctl()").

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290651
Reviewed by:    thj, emaste
Approved by:    thj
Fixes:  https://cgit.freebsd.org/src/commit/?id=97d152698f48 ("acpi: Use sleep types defined in sys/power.h")
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53909
eeaa865edba685545ac22c378b35552e09bf1b41 Aymeric Wibo 2025-11-25 19:34:34
Commit group #0: sys
sys: remove comment for armv5/6

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
42d704bfc45a1eee601e7cd33ae4bef01c24b9ed Minsoo Choo 2025-11-29 00:32:17

sys: remove armv6/6.1 support from debug monitor

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
f42421307b115345ea1a6c8fdf61fbb581e4400f Minsoo Choo 2025-11-29 00:34:40

sys: update comment for removal of armv6

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
3387a1bdbae6785306209cdbe0412dcc3d38c141 Minsoo Choo 2025-11-29 00:35:45

arm: Remove unused variable in dbg_arch_supported

Removed unused dbg_didr which had been used prior to f42421307b11 to
detect qemu unsupported debugger. I'm unsure how this slipped through my
testing.

Fixes: https://cgit.freebsd.org/src/commit/?id=f42421307b11
Sponsored by: Netflix
02b72b1540bf4e8daaeda4b4ef1670b766768db7 Warner Losh 2025-11-29 09:47:49
sys: Import snapshot of Aquantia ACQ107 vendor driver
Obtained from https://github.com/Aquantia/aqtion-freebsd commit
c61d27b1d94af72c642deefa0595884481ea7377.

This is not using a vendor branch.  The formerly-upstream repo is
abandoned and I do not believe it will receive updates.  This initial
import serves as a snapshot of the vendor code, but from here we will
iterate on it in the tree as our own code.

Bug fixes, code cleanup, and build infrastructure will follow.

NetBSD and OpenBSD have derivatives of this driver (with additional
hardware support).  We can look to changes in those drivers, and the
Linux driver, to add support here.

Reviewed by:    adrian
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53813
493d26c58e732dcfcdd87993ef71880adfe9d0cb Ed Maste 2025-11-13 18:48:54
aq(4): Remove #include of user header <unistd.h>
pause() has 2 different definition in unistd.h and sys/systm.h
14eb7ec7b7135ad1a3448590cbe70b1368b40ec7 Rozhuk Ivan 2022-10-26 12:37:57
aq(4): Port to IfAPI
Direct access to struct ifnet members is not possible in FreeBSD 15;
accessors must be used.  These exist in all supported FreeBSD versions,
so we do not need to make this conditional.
4756f5ff8f10cdda925cab60c0b66606698e49ee Olivier Cochard 2025-11-13 03:17:03
aq(4): Remove unused DRIVER_MODULE devclass
2b587c0c8a933cd110ae579366644a280c509b7f John Baldwin 2025-11-13 03:23:27
aq(4): Remove unimplemented functions
aq_if_priv_ioctl and aq_if_debug have prototypes but are not yet
implemented.  Just remove the commented-out DEVMETHODs and the unused
prototypes, to clear a build-time warning; the DEVMETHODs and prototypes
can be readded if / when they are implemented.
0156be41a1eb8e0408819466b912181aa7966df9 Ed Maste 2025-11-12 23:45:37
aq(4): Fix VLAN tag test
Previously emitted a compiler warning "warning: bitwise comparison
always evaluates to false."

Looking at the OpenBSD driver (which is based on this code) it looks
like the VLAN flag should be set if either of these bits is.  In the
OpenBSD driver these are AQ_RXDESC_TYPE_VLAN and AQ_RXDESC_TYPE_VLAN2
rather than a magic number 0x60.

Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53836
8666fda1afb03b3a88e57a20d76da8e7910b6407 Ed Maste 2025-11-13 14:15:38

Networking

Network-related commands, library, and kernel.

loopback: Clear hash unconditionally.
Clear the RSS hash on transmit, now that RSS hashing is enabled
unconditionally, and the network stack may want to trust that
it is getting the correct hash on input.

Differential Revision:  https://reviews.freebsd.org/D53090
Reviewed by: zlei
Sponsored by: Netflix
2fe37927d41990abe8d1c336e75fd75873285e90 Andrew Gallatin 2025-11-24 15:36:32
netlink: Fix overallocation of netlink message buffers
Prior to commit 0c511bafdd5b309505c13c8dc7c6816686d1e103, each time
snl_realloc_msg_buffer was called, it called snl_allocz to request a
new buffer.  If an existing linear buffer was used, then after the
call, the linear buffer effectively contained the old buffer contents
followed by the new buffer (so there was definitely wasted memory),
but the linear buffer state was consistent (lb->offset correctly
accounted for both copies).  For example, if the initial linear buffer
was 256 bytes in size, lb->size would be 256.  Using 16 bytes followed
by 32 bytes would first set lb->offset to 16, then the second realloc
would allocate 48 bytes (16 + 32) setting lb->offset to 64 (16 + 48).

Commit 0c511bafdd5b309505c13c8dc7c6816686d1e103 aimed to avoid this
memory waste by resetting the base pointer to the start of the
existing linear buffer if the new allocation was later in the same
linear buffer.  This avoided some of the waste, but broke the
accounting.  Using the same example above, the second realloc would
reuse the pointer at an offset of 0, but the linear buffer would still
claim that 64 bytes was allocated via lb->offset rather than the true
allocation of 48 bytes.

One approach to fix this would be to "extend" the allocation of an
existing linear buffer where a realloc would try to increase
lb->offset without setting a new base pointer so long as there was
still room remaining in the linear buffer for the new request.

However, this change takes a simpler approach.  If snl_allocz()
returned an allocation from a new linear buffer, just claim the entire
linear buffer for use by the snl_writer ensuring the accounting is
correct in both the linear buffer and the snl writer.  With this
approach, the initial snl_writer size would be 256 bytes for a 256
byte linear buffer and would only grow if it needs to allocate an
entirely new linear buffer.

Reviewed by:    igoro
Fixes:          https://cgit.freebsd.org/src/commit/?id=0c511bafdd5b ("netlink: fix snl_writer and linear_buffer re-allocation logic")
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D53697
828df4d36d9d5a6ca0dcc294d65572b4a0474142 John Baldwin 2025-11-24 15:55:05
pf: relax sctp v_tag verification
pf was too strict when validating SCTP tags. When a server receives a
retransmitted INIT it will reply with a random initiate tag every time.
However, pf saves the first initiate tag and expects every subsequent INIT_ACK
retransmission to have the same tag. This is not the case, leading to endless
INIT/INIT_ACK cycles.

Allow the tag to be updated as long as we've not gone past COOKIE_WAIT.

Add a test case to verify this.

MFC after:      2 weeks
See also:       https://redmine.pfsense.org/issues/16516
Sponsored by:   Rubicon Communications, LLC ("Netgate")
bc3b72ff48953551e0e8bd6e5a2c718ecd973285 Kristof Provost 2025-11-25 09:59:02
Commit group #1: ipfilter
ipfilter: Add ipf_check_names_string()

ipf_check_names_string will verify userland inputs in names strings
(fr.fr_names, in.in_names) for correctness.

Original concept of ipf_check_names_string() instead of macros by
markj.

Reviewed by:            markj
MFC after:              1 week
Differential revision:  https://reviews.freebsd.org/D53843
525c535d5aa87f686dcfee620619827f7c6090db Cy Schubert 2025-11-18 19:23:06

ipfilter: Verify frentry on entry into kernel

The frentry struct is built by ipf(8), specifically ipf_y.y when parsing
the ipfilter configuration file (typically ipf.conf). frentry contains
a variable length string field at the end of the struct. This data field,
called fr_names, may contain various text strings such as NIC names,
destination list (dstlist) names, and filter rule comments.  The length
field specifies the length of fr_names within the frentry structure and
fr_size specifies the size of the frentry structure itself.

The upper bound limit to the length of strings field is controlled by the
fr_max_namelen sysctl/kenv or the max_namelen ipfilter tuneable.

The initial concepts were discussed with emaste and jrm.

Reported by:            Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:            markj
MFC after:              1 week
Differential revision:  https://reviews.freebsd.org/D53843
eda1756d0454f9383940dc825cf571ff67e0c013 Cy Schubert 2025-10-29 17:23:23

ipfilter: Verify ipnat on entry into kernel

The ipnat struct is built by ipnat(8), specifically ipnat_y.y when
parsing the ipnat configuration file (typically ipnat.conf). ipnat
contains a variable length string field at the end of the struct. This
data field, called in_names, may contain various text strings such as
NIC names. There is no upper bound limit to the length of strings as
long as the in_namelen length field specifies the length of in_names
within the ipnat structure and in_size specifies the size of the ipnat
structure itself.

Reported by:            Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:            markj
MFC after:              1 week
Differential revision:  https://reviews.freebsd.org/D53843
821774dfbdaa12ef072ff7eaea8f9966a7e63935 Cy Schubert 2025-11-03 04:59:15

ipfilter: Remove unused variable

Reported by:    jlduran
Fixes:          https://cgit.freebsd.org/src/commit/?id=eda1756d0454, https://cgit.freebsd.org/src/commit/?id=821774dfbdaa
MFC after:      1 week
X-MFC with:     eda1756d0454, 821774dfbdaa
20c48f090b270d0124d5f0b31c6f3a639efbbc80 Cy Schubert 2025-11-26 23:24:17

ipfilter: Restore used variable

One of the "unused" i variables is actually used.

Fixes:          https://cgit.freebsd.org/src/commit/?id=20c48f090b27
78c6cfdc3dc0b84aa2daf0f32c7c9cdf3b34fee5 Cy Schubert 2025-11-26 23:39:24

ipfilter: fix broken build

Every commit earns me a dozen emails that LINT is broken. This should
stop that.

Fixes: https://cgit.freebsd.org/src/commit/?id=eda1756d0454f ipfilter: Verify frentry on entry into kernel
Sponsored by: Netflix
ddec4209b10d65ef19e1d1b884e1b876eab58c7d Warner Losh 2025-11-27 00:04:29

System administration

Stuff in man section 8 (other than networking).

Commit group #2: pam_krb5: Fix manual page in MIT case
pam_krb5: Fix manual page in MIT case

* Always install the manual page as pam_krb5(8) regardless of which
  version we're using.
* Regenerate it using pod2mdoc instead of pod2man so it doesn't claim
  to be part of “User Contributed Perl Documentation”.
* Put the correct section number in the header and footer.
* Don't cross-reference non-existent pam(7) manual page.

Reviewed by:    cperciva
Differential Revision:  https://reviews.freebsd.org/D53885
961b934407f09d4241cfad76a9c8833baa2650e1 Dag-Erling Smørgrav 2025-11-24 02:40:37

ObsoleteFiles: Fix repeated typo in recent entries

Fixes:          https://cgit.freebsd.org/src/commit/?id=685a78570b35 ("random: remove hifn(4)")
Fixes:          https://cgit.freebsd.org/src/commit/?id=5b9fba1cb0d8 ("Retire pccard(4)")
Fixes:          https://cgit.freebsd.org/src/commit/?id=3cf85a69ae7d ("hifn.4: Really remove")
Fixes:          https://cgit.freebsd.org/src/commit/?id=8a8c58f71e80 ("pccard.4: Really remove")
Fixes:          https://cgit.freebsd.org/src/commit/?id=6aaf184dc4e2 ("pcic.4: Really remove")
Fixes:          https://cgit.freebsd.org/src/commit/?id=daa1f9b415f3 ("apm(8): Drop MLINK to apmconf(8)")
Fixes:          https://cgit.freebsd.org/src/commit/?id=961b934407f0 ("pam_krb5: Fix manual page in MIT case")
5995c036df4871b10e3afb0810cdf73da670a745 Dag-Erling Smørgrav 2025-11-24 03:11:16
rtld: fix powerpc build
In arch_fix_auxv(), remove local variable shadowing the argument,
remove write-only variable, and declare the loop variable.
The wrong patch was committed after series of local reverts and
re-apply.

Fixes:  https://cgit.freebsd.org/src/commit/?id=b2b3d2a962eb00005641546fbe672b95e5d0672a
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
0628c252bd161ccdd1228a3b8aefeb471044ca04 Konstantin Belousov 2025-11-24 08:44:52
bhyve/slirp: Avoid a nested declaration of environ
Fixes:        https://cgit.freebsd.org/src/commit/?id=0e62ebd20172 ("bhyve: Move the slirp backend out into a separate process")
bac572b2b1c9aec0ebfd3ae1fd02b314984cb716 Mark Johnston 2025-11-24 14:08:21
bhyve/slirp: Drop privileges before entering capability mode
When in restricted mode, the slirp-helper process enters a capsicum
sandbox, after which we cannot look up the uid for the "nobody" user.
Reverse the order.

Reported by:    kp
Fixes:  https://cgit.freebsd.org/src/commit/?id=0e62ebd20172 ("bhyve: Move the slirp backend out into a separate process")
b0c7eaf83d21bbc333e247ab9e136965b3ca54ed Mark Johnston 2025-11-24 14:15:27
stand: Move from OZFS to ZFSTOP
Use ZFSTOP instead of OZFS. They are the saame thing.

Sponsored by:           Netflix
Reviewed by:            tsoome
Differential Revision:  https://reviews.freebsd.org/D53900
05346243dfa4ed85c4c3a31f2a32a861fd649c07 Warner Losh 2025-11-25 00:35:19
stand: Rename ZFSSRC to SAZFSSRC to avoid confusion
ZFSSRC is abiguous on its surface and too clos to ZFSTOP, so rename it
to SAZFSSRC.

Sponsored by:           Netflix
Reviewed by:            tsoome
Differential Revision:  https://reviews.freebsd.org/D53901
3c857567c10f9e30c86133729532188f5c3664f0 Warner Losh 2025-11-25 00:35:30
fdread: Fix logic bug when reading by sector
When reading by sector (because reading a whole track failed), we can
accidentally fall into the "should not happen" path, which both
(a) emits a spurious error message and (b) fouls up our position
accounting going forward.  Ensure we do not inappropriately fall into
that path.

Avoid obscuring the "short after" message in cases where it happens.

Signed-off-by: Matt Jacobson <mhjacobson@me.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1897
4c8bf76893a8b39eda15f91d1515c6bf6a02a9a6 Matt Jacobson 2025-11-25 01:30:10
ipfilter: Load optionlist prior to ippool invocation
As a safety precaution df381bec2d2b limits ippool hash table size to 1K.
This causes any legitimely large hash table to fail to load. The
htable_size_max ipf tuneable adjusts this but the adjustment is made
in the ipfilter rc script, invoked after the ippool script (because it
depends on ippool). Let's load the ipfilter_optionlist in ippool as well.
ipfilter_optionlist load will also occur in the ipfilter rc script in case
the user uses ipfilter without ippool.

Fixes:          https://cgit.freebsd.org/src/commit/?id=df381bec2d2b
MFC after:      3 days
d5d005e9bf4933d5680dd0bb5d42bdf440122aa4 Cy Schubert 2025-11-26 19:40:36
bsdconfig: RealTek -> Realtek
Realtek changed how it styled its name 25 or so years ago, but the old
style persisted in many places. These products use the new styling in
their datasheets.

Signed-off-by: ykla yklaxds@gmail.com
Sponsored by: Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1901
e27d5c190a41c79b3764ff1a9893eb81a9050e63 ykla 2025-11-26 09:15:09
pkg: Move FreeBSD-base to pkg.freebsd.org
Rather than fetching packages directly from the CDN which currently
backs pkgbase.freebsd.org, requests will go to pkg.freebsd.org mirrors
and be 302ed to the correct servers.  This adds ~70 seconds to the
process of installing or upgrading a pkgbase system; it also orphans
systems with 15.0-{PRERELEASE,ALPHA*,BETA*} installed since they are
expecting to see pkgbase files signed with the pkg keys, not the new
pkgbase signing keys.

Reviewed by:    dch, philip
MFC after:      immediately (for 15.0-RELEASE)
With hat:       re
Requested by:   clusteradm, core
Differential Revision:  https://reviews.freebsd.org/D53964
a3b0902d73901e7243103e60cf78c53cd7f566a1 Colin Percival 2025-11-27 21:30:10
mtree: Keep mtree files indented with spaces
The mtree tool indents directory entries with 4 spaces.

Reviewed by:    imp
Fixes:          https://cgit.freebsd.org/src/commit/?id=9cab9fde5eda ("virtual_oss: Port to base")
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53979
3d91a746380e81c2089d8beaae28438867ae6dbf Jose Luis Duran 2025-11-29 00:12:39
libc/tests: add stdbit test framework and unit tests
This adds unit tests for all 70 functions in <stdbit.h>.

I'm sorry for the test framework, but it makes it so I don't
have to write 70 unit tests by hand.

Reviewed by:    adrian, des
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53660
2fb8cbc6ef1b3cc6cd60e5db07f8305623f9b044 Robert Clausecker 2025-11-18 17:33:12

Libraries

libpfctl: improve error handling
If we fail to open /dev/pf don't try to close it again. That would result in
errno getting overwritten by close(), hiding potentially useful information.

MFC after:      2 weeks
Sponsored by:   Rubicon Communications, LLC ("Netgate")
238ad591da9eede122a708be925b6b6a20e9046b Kristof Provost 2025-11-25 13:48:29
Commit group #3: libefivar
libefivar: Standardize #ifndef __FreeBSD__

Standardize preprocessor directives that comment out unused functions
(essentially #if 0).

No functional change intended.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
b38f48d33616337a8931c1c61f9e53981d4c0bcc Jose Luis Duran 2025-11-13 16:08:44

libefivar: Move functions to match reference file

Move a few functions to match their locations in the reference file.
No functional change intended.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
ef191142dc2c51e51209090daf7e938222174ecf Jose Luis Duran 2025-11-13 20:54:15

libefivar: Add and comment out unused functions

This commit introduces gratuitous white space and unused functions.
This functionality is guarded/commented out.  This change is necessary
to reduce the differences with the reference file in subsequent commits.

No functional change intended.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
5b7b60af7ba164faa915002b336075e50c120f02 Jose Luis Duran 2025-11-13 17:35:54

libefivar: MdePkg: Clean up source files

1. Do not use tab characters
2. No trailing white space in one line
3. All files must end with CRLF

No functional change.

Obtained from:  https://github.com/tianocore/edk2/commit/9095d37b8fe5bfc3d02adad6ba7fd7359ebc0107

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
9677ae7864fa785bb994e5f07e25bad3cf1139db Jose Luis Duran 2025-11-13 16:36:48

libefivar: Add a checking step

Add a checking step in DevicePathUtilities.c to verify DevicePath.
https://bugzilla.tianocore.org/show_bug.cgi?id=1372

v2: Remove ASSERT() and the redundant checking step. Update related
    description.

Note that the link above no longer exists.  The commit message was kept
verbatim.  An archived version of the bug report can be found at:
https://web.archive.org/web/20240714192353/bugzilla.tianocore.org/show_bug.cgi?id=1372

Obtained from:  https://github.com/tianocore/edk2/commit/fd02394228ee1dc2378cccfde6098c461f96dd42

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
fd606b629f91560d4369ba8beda0a5ce763ee065 Jose Luis Duran 2025-11-13 16:45:16

libefivar: Add sanity check for FilePath device path

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1497

Current implementation of IsDevicePathValid() is not enough for type
of MEDIA_FILEPATH_DP, which has NULL-terminated string in the device
path. This patch add a simple NULL character check at Length position.

Note that the link above no longer exists.  The commit message was kept
verbatim.  An archived version of the bug report can be found at:
https://web.archive.org/web/20240714191428/https://bugzilla.tianocore.org/show_bug.cgi?id=1497

Add the const keyword to avoid errors/warnings about dropping a const
qualifier.

Obtained from:  https://github.com/tianocore/edk2/commit/2f7a96d6ec13b292d6f31295f3195913921173e1

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
5c2ae0a209f6964ebe2d3a4cc24987e3bd7f597d Jose Luis Duran 2025-11-13 16:49:05

libefivar: Replace BSD License with BSD+Patent License

https://bugzilla.tianocore.org/show_bug.cgi?id=1373

Replace BSD 2-Clause License with BSD+Patent License.  This change is
based on the following emails:

  https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
  https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:

  V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
  V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
  V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

Note that the link above no longer exists.  The commit message was kept
verbatim.  An archive of the bug report can be found at:
https://web.archive.org/web/20240714192319/https://bugzilla.tianocore.org/show_bug.cgi?id=1373

Obtained from:  https://github.com/tianocore/edk2/commit/9344f0921518309295da89c221d10cbead8531aa

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
136ff605bfb1311ecb836e6f3a41f22476aee618 Jose Luis Duran 2025-11-13 16:52:51

libefivar: Support UefiDevicePathLib under StandaloneMm

This change added an instance of UefiDevicePathLib for StandaloneMm. It
abstracts DevicePathFromHandle function into different files for
Standalone MM and other instances to avoid linking gBS into MM_STANDALONE
drivers.

No functional change intended, as this function and its invocation are ifdefd
out.

Obtained from:  https://github.com/tianocore/edk2/commit/14a746bb6a92d59669c67a970479558734cf2383

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
6fa0057f8953a7077362901128be14171ed705b8 Jose Luis Duran 2025-11-13 18:51:39
libefivar: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the MdePkg package

Note that the link above no longer exists.  The commit message was kept
verbatim.  An original copy of the bug report can be found at:
https://web.archive.org/web/20241008121707/https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Obtained from:  https://github.com/tianocore/edk2/commit/2f88bd3a1296c522317f1c21377876de63de5be7

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
8494a3de2c50e9d066b9e0b043306a49b932e025 Jose Luis Duran 2025-11-13 17:16:55
libc: Simplify __get_locale()
MFC after:    1 week
Sponsored by:   Klara, Inc.
Reviewed by:    fuz
Differential Revision:  https://reviews.freebsd.org/D53908
5af240c54bd2d9548536c904e841499e1651bcc8 Dag-Erling Smørgrav 2025-11-26 16:54:52
strfmon: EINVAL if the '+' flag and both signs are empty
According to the Open Group Base Specifications Issue 8[1], strfmon(3)
should return EINVAL when the '+' flag was included in a conversion
specification and the locale's positive_sign and negative_sign values
would both be returned by localeconv(3) as empty strings.

Austin Group Defect 1199[2] is applied, adding the [EINVAL] error.

[1]: https://pubs.opengroup.org/onlinepubs/9799919799/functions/strfmon.html
[2]: https://www.austingroupbugs.net/view.php?id=1199

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53912
1fd018972a18b682521bb8f004dfd162327e5db2 Jose Luis Duran 2025-11-26 20:34:55
strfmon: Fix negative sign handling for C locale
If the locale's positive_sign and negative_sign values would both be
returned by localeconv() as empty strings, strfmon() shall behave as if
the negative_sign value was the string "-".

This occurs with the C locale.  The implementation previously assigned
"0" to sign_posn (parentheses around the entire string); now it assigns
it to "1" (sign before the string) when it is undefined (CHAR_MAX).

Austin Group Defect 1199[1] is applied, changing the requirements for
the '+' and '(' flags.

[1]: https://www.austingroupbugs.net/view.php?id=1199

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53913
cf85e7034ad5640b18a3b68d6b291b7bf89bfc80 Jose Luis Duran 2025-11-26 20:34:56
libsecureboot: do further checks on files without manifests
verify_prep can return VE_FINGERPRINT_NONE. Consider such scenario so
the VE_GEUSS heuristics works with files that likely will not have
fingerprints in the manifest file.

Obtained from:  Hewlett Packard Enterprise
Reviewed by:    sjg
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53940
52c0749723bd80017fb0c0487440762a783ad323 Ka Ho Ng 2025-11-27 02:17:14
time.h: add timegm() to the C23 namespace
This function is part of ISO/IEC 9899:2024 (C23) and was forgotten in D47856.

Reviewed by:    imp
Approved by:    markj (mentor)
See also:       D47856
Fixes:          https://cgit.freebsd.org/src/commit/?id=59677aecb67bbedcfa2ee5d7d2b189193cdc4af7
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53951
5da388c633f8da8fbb35b8407ca848373e3ea977 Robert Clausecker 2025-11-27 17:36:18
uchar.h: add char8_t
A type similar to char16 and char32_t, for compliance with C23.
The related type atomic_char8_t is added to stdatomic.h.
As char8_t is always unsigned char, I've skipped adding __char8_t.
This can be added, too, if desired.

Reviewed by:    imp
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53952
f0e541118c374869a8226eaa1320bb6eda248a20 Robert Clausecker 2025-11-27 17:57:02
Commit group #4: stddef.h: add unreachable() for C23 compliance
stddef.h: add unreachable() for C23 compliance

unreachable() is a hint to the compiler that it is unreachable.
Add a new man page unreachable(3) to document this macro.

Reviewed by:    imp
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53967
b381d0980221b476cadbef862a8e5973d675fb7a Robert Clausecker 2025-11-27 20:19:49

unreachable.3: add missing brace in example

Reported by:    alc
Approved by:    markj (mentor)
MFC after:      1 month
Fixes:          https://cgit.freebsd.org/src/commit/?id=b381d0980221b476cadbef862a8e5973d675fb7a
See also:       D53967
233ddc56a7ed222ea8903479cd3ae9df044b990a Robert Clausecker 2025-11-28 20:45:00
clang: remove armv6 comment
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
f3607f5a7f6923bda8a2efc95d4238a5f1903fff Minsoo Choo 2025-11-29 00:47:52
libsys: remove armv6 hack
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
57c0a337dbc592a82d184f18dc69634eb0a9db10 Minsoo Choo 2025-11-29 00:48:29
libc: implement C23 <stdbit.h> functions
This new header complies with ISO/IEC 9899:2024 (C23).

Contrary to glibc, we do not provide inline definitions in
<stdbit.h> as we expect our system compiler to soon recognise
these as builtins anyway.

Relnotes:       yes
MFC after:      1 month
Reviewed by:    adrian
Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D53657
6296500a85c8474e3ff3fe2f8e4a9d56dd0acd64 Robert Clausecker 2025-11-18 17:32:53

Filesystems

nfs_nfsdstate.c: Add sanity checks for lock stateids
Bugzilla PR reported a crash caused by a synthetic client
doing a Lock operation request with a delegation stateid.

This patch fixes the problem by adding sanity checks
for the type of stateid provided as an argument to the
Lock and LockU operations.

It has been tested with the FreeBSD, Linux and Solaris 11.4
clients.  Hopefully, other NFSv4 clients will work ok
as well.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291080
Tested by:      Robert Morris <rtm@lcs.mit.edu>
MFC after:      2 weeks
aa1cf240887ddcca66dfb969fdc5a8d545396037 Rick Macklem 2025-11-26 19:20:27

Kernel

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

MAC: Use the current thread's user ABI to determine the layout of struct mac
This removes mac_label_copyin32() as mac_label_copyin() can now handle
both native and 32-bit struct mac objects.

Reviewed by:    olce, brooks
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D53755
134d00bd2c910cc7cc21c11fba093ff82bbb9344 John Baldwin 2025-11-24 15:47:20
setcred: Move initial copyin of struct setcred out to per-ABI syscall
This is the more typical approach used in the tree for system calls
with per-ABI structure layouts.

Reviewed by:    olce, brooks
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D53756
6292eecfd95c78abc1ab14f20ceaa507ab9c636a John Baldwin 2025-11-24 15:48:48
freebsd32_setcred: Copy all of the setcred fields individually
This is the more typical style used in compat syscalls.  Modern
compilers are smart enough to coalesce multiple member assignments
into a bulk copy.

Reviewed by:    olce, brooks
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D53757
f7ab908244e50c8c8edf314424c860e34ea3d7e9 John Baldwin 2025-11-24 15:49:09
vm_object_page_remove(): clear pager even if there is no resident pages
Swap pager might still carry the data.

Debugging help from:    mmel
Reviewed by:    alc
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53891
72a447d0bc768c7fe8a9c972f710c75afebd581b Konstantin Belousov 2025-11-22 20:39:27
Commit group #5: setcred(): Remove an optimization for when cr_groups[0] was the egid
setcred(): Remove an optimization for when cr_groups[0] was the egid

Because setcred() has (always) treated the effective GID separately from
the supplementary groups, when cr_groups[0] was storing the effective
GID, it internally needed to build an array containing both the
effective GID and the specified supplementary groups to eventually call
crsetgroups_internal().

As kern_setcred() was only used to actually implement
user_setcred()/sys_setcred(), which need to allocate a buffer to copy in
the userland groups array into, some optimization was put in place where
these would allocate an array with one more element than
'wc_supp_groups', copyin() the latter into the subarray starting at
index 1 and pass the pointer to the whole array to kern_setcred() in
'preallocated_groups'.  This would allow kern_setcred() not to have to
allocate memory again to make room for the additional effective GID.

Since commit be1f7435ef21 ("kern: start tracking cr_gid outside of
cr_groups[]"), crsetgroups_internal() only takes supplementary groups,
so this machinery has become obsolete.  It was not removed as part of
that commit, but just minimally amended to simplify the changes and
lower the risks.  Finally remove it.

Reviewed by:    kevans
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53772
4cd93df95e697942adf0ff038fc8f357cbb07cf9 Olivier Certner 2025-11-14 18:22:53

setcred(2): Fix a panic on too many groups from latest commit

kern_setcred_copyin_supp_groups() is documented to always set
'sc_supp_groups', but did not do it if there are more supplementary
groups than 'ngroups_max'.  Also, that case was omitted from the herald
comment.  Add it there, also including it as a case where
'sc_supp_groups_nb' is reset to 0 as a security measure.

Initially, kern_setcred_copyin_supp_groups() had the usual property that
nothing had to be freed on it returning an error, but was then converted
to relying on the caller to free() even on error, and this part was
missed during the conversion.  The benefits of this unusual convention
are that we can zero or NULLify groups-related attributes in advance,
preventing inadvertent use of stale data (defensive security measure),
and we can avoid some small code duplication (no need to have two same
calls to free()).  This makes sense as kern_setcred_copyin_supp_groups()
is meant to be a private sub-routine of user_setcred() only.  While
here, rename kern_setcred_copyin_supp_groups() =>
user_setcred_copyin_supp_groups().

Reported by:    pho
Fixes:          https://cgit.freebsd.org/src/commit/?id=4cd93df95e69 ("setcred(): Remove an optimization for when cr_groups[0] was the egid")
Sponsored by:   The FreeBSD Foundation
000d5b52c19ff3858a6f0cbb405d47713c4267a4 Olivier Certner 2025-11-27 09:04:50
kern: Fix section name for embedded firmware blobs
In practice this just ends up as an orphan section and so is placed next
to .rodata-like sections, so it's pretty harmless, but not intended.

Fixes:  https://cgit.freebsd.org/src/commit/?id=a095390344fb ("Use a template assembly file for firmware object files.")
aac0ef54dce9d59a5ccc1151693906778cba45c9 Jessica Clarke 2025-11-25 04:29:22
nda: fix setting of unmappedio flag
The upstream refactoring of ndaregister() to split out ndasetgeom()
accidentally used an uninitialed variable to decide whether or not
to set DISKFLAG_UNMAPPED_BIO.  Fix this by moving that portion of
ndasetgeom() back up to ndaregister().  The check for PIM_UNMAPPED
is not really needed because nvme devices always have that set,
so it cannot change in the other path that ndasetgeom() is now called.

Reviewed by:    imp
Fixes:          https://cgit.freebsd.org/src/commit/?id=dffd882d12d2a71aca464f48209ec9ae6f393b15
Sponsored by:   Netflix
MFC After:      1 minute
2b4dbad2db5766294ee97bb96228ec6826a9e7c3 Chuck Silvers 2025-11-25 22:30:19
new type: ptraddr_t
ptraddr_t is an unsigned integer type that can hold the address of any
pointer.  It differes from uintptr_t in that it does not carry
provenance which is useful for CHERI in that it can disambigurate the
provenance of uintptr_t expressions.  It differes from size_t in that
some segmented architecture (not supported by FreeBSD) may have a size_t
that does not hold an address.

ptraddr_t is not yet standardized, but is currently proposed for
inclusion in C++2Y.

Prefer the compiler defined __PTRADDR_TYPE__ defintion where available
as this a new type and we don't need to worry about historical values.
Fall back to __size_t where unavailable.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53817
dca634d1544b5cd202dcd06c8c5ea5cbea6c3300 Brooks Davis 2025-11-27 14:54:55
Commit group #6: sys/_types.h
sys/_types.h: centralize __vm_offset_t and __vm_size_t definitions

Use __ptraddr_t to define __vm_offset_t and __size_t for __vm_size_t
rather than per-pointer-size definitions.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53818
6aaba753830ec1d82959f21151dfb6563d38efba Brooks Davis 2025-11-27 14:54:56

sys/_types.h: define __(u)int(f)ptr_t for CHERI

On pure-capability ABIs, uintptr_t and variants are capabilities and
defined to the new primative type __uintcap_t and variants.  This is
required to allow pointers (capabilities) to round trip through
uintptr_t as required by the C standard.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53819
96e05e2d1dfc69f67d3099440561530501cc09b5 Brooks Davis 2025-11-27 14:54:56

sys/_types.h: define fallback __(u)intcap_t

__intcap_t and __uintcap_t are new primative types in CHERI-aware ABIs
that are used to define (u)intptr_t.  To allow coexistance of integer
pointers and hybrid code, define them to __(u)intptr_t when they are
not otherwise available.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53820
85ab981a8e4e1a7a078dbf553cb20cb2e58aeff9 Brooks Davis 2025-11-27 14:54:56

sys/_types.h: add void * to __max_align_t

Add a pointer member to __max_align_t as pointers may have different
alignment requirements than long long or long double.

Reviewed by:    kib
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53821
528e70a12ca6ba07f1d8c88800871ceecbacfc70 Brooks Davis 2025-11-27 14:54:56

sys/_types.h: add __intptr_t to __mbstate_t

Extend __mbstate_t to include an intptr_t to ensure it can hold a
pointer if required.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53822
6ebbfe723bd284e197a197b6aefd27870876b7f9 Brooks Davis 2025-11-27 14:54:56

sys/_types.h: Unbreak gcc build

We can't assume that <sys/cdefs.h> is in scope.

Fixes:          https://cgit.freebsd.org/src/commit/?id=85ab981a8e4e ("sys/_types.h: define fallback __(u)intcap_t")
Reviewed by:    olce, imp, emaste
Differential Revision:  https://reviews.freebsd.org/D53980
19728f31ae421f40e2b0b0c775f4eedd7f927be0 Dag-Erling Smørgrav 2025-11-28 19:47:04

sys/_types.h: Actually unbreak gcc build

Fixes:          https://cgit.freebsd.org/src/commit/?id=19728f31ae42 ("sys/_types.h: Unbreak gcc build")
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53986
029a09f18032353a9ae874590b879322efc6e53a Dag-Erling Smørgrav 2025-11-30 10:30:45
add types: (u)int64ptr_t
This type represents an integer value of at least 64 bits which is
capable of being cast to and from pointer types.  It is intended to
replace various spellings of (u)int64_t there the value is expected to
hold a pointer.  This is common in Linux code to allow 32-bit and 64-bit
structures to be the same and used other places including OpenZFS.  With
the introduction of CHERI this no longer works, but we need to preserve
the ABI for integer pointer targets.  Rather than adding ifdefs in every
case, we introduce a new type.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53823
4e22cd3bf0b4112e541bc585a6be57662cb0b52b Brooks Davis 2025-11-27 14:54:56
kgssapi: Remove broken MOD_UNLOAD code
The module panicked at unload with "recursing but non-recursive rw".
There is a comment that "Unloading of the kgssapi module is not
currently supported" and the MOD_UNLOAD case falls through to returning
EOPNOTSUPP anyway.  Just #if 0 the code in the unload path, leaving it
as a hint in case someone implements unload support later on.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291249
Reviewed by:    rmacklem
Fixes: https://cgit.freebsd.org/src/commit/?id=ad704a34bc2c ("Use syscall_helper_register(9) rather than syscall_register().")
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53949
6901376f59b870ddbb0d922e3455a388333cd460 Ed Maste 2025-11-27 16:44:08
sys/limits.h: add C23 _WIDTH macros
For compliance with IOS/IEC 9899:2024 ("C23").

These macros define the width in bits of the basic integer types.
Another new macro, BITINT_MAXWIDTH, is not yet included as I do not
understand what it should be set to.  Perhaps it is compiler-specific.

Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53825
7326bc7f9c14f86976a7769906b167ff96140809 Robert Clausecker 2025-11-19 12:29:58
sys/stdint.h: add C23 _WIDTH macros
The platform-dependent macros are added to the various
_stdint.h headers, those that are always the same are
added directly to _stdint.h.

We may want to move the definitions for WCHAR_* and
WINT_* out of the platform header files as those are
always the same.

Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53830
7998a82d2f99a00086baf64b2a3343ba10f8806d Robert Clausecker 2025-11-19 18:53:07

Build system

krb5: Use sh to run mk_cmds
Otherwise etcupdate apparently can fail if its private object directory
under /var/db is in a filesystem mounted noexec.  We shouldn't be
building this target at all, but for now, just apply this workaround.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291043
Reviewed by:    ivy, cy, des
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53861
673924122470463dfb9089e12b1b4496783a77b8 Mark Johnston 2025-11-21 17:54:38
Centralize definition of ZFSTOP
Define this helper variable in one place and make it available while
building the entire base system.

Reviewed by:    sjg
Obtained from:  CheriBSD (mostly)
Differential Revision:  https://reviews.freebsd.org/D53790
7980cf5d6f71adef3ca38825f4aa8aa38a59e43c John Baldwin 2025-11-24 15:46:56
Use ZFSTOP more broadly
Reviewed by:  brooks
Obtained from:  CheriBSD
Differential Revision:  https://reviews.freebsd.org/D53791
e928afc531e68b7a142ee49d8f7e5c8426d54033 John Baldwin 2025-11-24 15:47:10
agp: Export intel_gtt_read_pte, required by i915kms
This isn't used by modern cards, but is needed for i915kms to load
on a system that has agp as a module not compiled into the kernel.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291214
Reviewed by:    cy
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53906
a87c1e2dd8fc997d6ee603c252c543afe8a4d2a4 Ed Maste 2025-11-25 18:40:35
Commit group #7: mqueue: Export kern_kmq_* symbols from kernel module
mqueue: Export kern_kmq_* symbols from kernel module

linux.ko supports POSIX message queues using these symbols, so they need
to be exported rather than relying on the kernel linker's misfeature of
linking against debug or local symbols (which will soon be disabled by
default).

Reported by:    mav
Reviewed by:    zlei
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53907
e00a781c216cb12603a0a71c9ca293dde3e06250 Ed Maste 2025-11-25 19:06:25

mqueuefs: Export another symbol required by linux.ko

Fixes: https://cgit.freebsd.org/src/commit/?id=e00a781c216c ("mqueue: Export kern_kmq_* symbols from kernel module")
Sponsored by:   The FreeBSD Foundation
eb90470f5f2a0e5c820c47be329423f5c60ca247 Ed Maste 2025-11-26 23:35:35
bsdinstall: Ignore -p[0-9]+ in determining BRANCH
The patch level is not part of the branch per se and should not be
used in constructing the FreeBSD-base.conf file used by bsdinstall.

MFC after:      1 day
d45816f369eb0099fd274fee23a3bf137ee794b1 Colin Percival 2025-11-26 03:33:22
bsd.lib.mk: document INTERNALLIB and PRIVATELIB
Reviewed by:  des, dim, emaste
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53948
e60861eb41ca9d141a0d967db3ecbe2b2909c300 Konstantin Belousov 2025-11-27 16:41:29
Export t4_tom's symbols for other offload modules
This allows iw_cxgbe.ko, cxgbei.ko, nvmf_che.ko, etc. to be loaded when
debug.link_elf_leak_locals and debug.link_elf_obj_leak_locals are
disabled.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291250
MFC after:      1 week
Sponsored by:   Chelsio Communications
dcab3c4f496414309371c4d671b35b3528419600 Navdeep Parhar 2025-11-27 19:48:50
cxgbe(4): Delete leftovers from $FreeBSD$ removal
No functional change.

MFC after:      1 week
Sponsored by:   Chelsio Communications
34d66b0c96d50cfa3e33316a0c0ffab152385461 Navdeep Parhar 2025-11-27 19:50:25
Remove TableGen objects from libllvm, fixing bad option registrations
In 986e05bc2a18 I revamped the build for all the llvm subprojects. Among
others I added objects under contrib/llvm-project/llvm/lib/TableGen, but
I missed that upstream explicitly removes these when building the shared
llvm library:

https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm/tools/llvm-shlib/CMakeLists.txt#L23

In 2e47f35be5dc I converted libllvm to a shared library. From that point
onwards, some of the global command line option objects registered in
llvm/lib/TableGen/Main.cpp conflict with similar objects in tools like
llvm-cov, llvm-as, etc.

This results in an error when running these tools: "CommandLine Error:
Option 'o' registered more than once!", followed by a fatal exit.

Fix this by removing the TableGen objects from libllvm. Note that we no
longer install any of the tblgen binaries, these are only used during
buildworld, and then in a statically linked form.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291233
MFC after:      3 days
9978553d0199e7ec0bdd1c44fc7f6c7b0c11e43b Dimitry Andric 2025-11-28 18:12:01
tools: remove WITH_LIBSOFT option
This is only used for armv6, which as been removed since FreeBSD 15.

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
37c650b4ee2e098b7c8b3be117c8bb555baf9f2e Minsoo Choo 2025-11-29 00:13:42
release: match comment for if statement
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
96265d5ea907d75709f419b01b44c60337ae7fcc Minsoo Choo 2025-11-29 00:17:34
man/man3: add stdbit.3
This is the overview man page for the <stdbit.h> functions.

Reviewed by:    pauamma@gundo.com, adrian
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53658
d39e310c7d6a42b459aa7919310e3c99cc478d50 Robert Clausecker 2025-11-18 17:33:04
libc/stdbit: add man pages for stdbit functions
This adds man pages for each group of functions in <stdbit.h>.
The man pages have cross references to one-another.
Cross references from external man pages to these will be added
in a later commit.

Reviewed by:    pauamma@gundo.com, kib
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53659
d790b16bbf0c3055ef00200d01659dfb3c0e5e5e Robert Clausecker 2025-11-18 17:31:07

Internal organizational stuff

Commit group #8: git-arc: Don't require devel/arcanist
git-arc: Don't require devel/arcanist

Instead of invoking just “arc”, which requires devel/arcanist, which
conflicts with archivers/arc, invoke the underlying script installed by
devel/arcanist-lib.

Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53942
b3e53f9fff11e2e6289f5c69ad08f5acd727abd6 Dag-Erling Smørgrav 2025-11-27 18:07:15

git-arc: Fix existence check

Fixes:          https://cgit.freebsd.org/src/commit/?id=b3e53f9fff11 ("git-arc: Don't require devel/arcanist")
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53942
257da67d2808b7abf6c53569532ccf26db3008b0 Dag-Erling Smørgrav 2025-11-27 19:48:31

git-arc: Fix failure to call arc() function

As of b3e53f9fff11, git-arc attempted to call the internal shell
function, arc(), using env(1).  However, because env(1) does not call
shell functions, it actually attempted to run the arc utility.  This led
to errors:

    % git arc create -r xxx HEAD
    env: arc: No such file or directory
    git-arc: could not create Phabricator diff

This change removes the unnecessary use of env(1), so the arc() function
is correctly called.

Reviewed by:    markj
Fixes:          https://cgit.freebsd.org/src/commit/?id=b3e53f9fff11 ("git-arc: Don't require devel/arcanist")
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53972
6049f1bc210653b126974961b29d6eb71a6c6709 Joseph Mingrone 2025-11-27 22:46:43

Testing

tests: detect built-in modules
When checking vnet test prerequisites we check if if_epair and if_bridge are
available, but we only checked for loadable modules. It's possible for these to
be built into the kernel instead.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
23af364630b133b09821757d33f253702606d4cf Kristof Provost 2025-11-26 10:27:47
strfmon: Add tests for Austin Group Defect 1199
Add tests for The Open Group Base Specifications Issue 8[1], Austin
Group Defect 1199[2].

Items marked with XXX represent an invalid output.  These items will be
fixed in subsequent commits.

Notice that an existing test is now considered invalid.

Our locale definitions do not include int_p_sep_by_space nor
int_n_sep_by_space[3].  Those will be addressed in a subsequent commit.
However, the CLDR project defines them as "0", which causes the output
to appear as "USD123.45".  If our locale definitions were to set the
international {n,p}_sep_by_space to "1", the output would display as the
expected "USD 123.45".

While here, use the SPDX license identifier and add my name to the
file.

[1]: https://pubs.opengroup.org/onlinepubs/9799919799/functions/strfmon.html
[2]: https://www.austingroupbugs.net/view.php?id=1199
[3]: https://unicode-org.atlassian.net/browse/CLDR-237

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53911
19e153004fb63c32eba0ef40249f5ede61a93170 Jose Luis Duran 2025-11-26 20:34:55
Commit group #9: pf tests
pf tests: fix killstate:v6

Allow neighbor discovery/advertisement packets, but don't create state
for them. This ensures that the destination jail can respond to our
echo requests, and that we don't create extra states that would confuse
the test.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
a82347584ba708c4d20b25b2ed13794905ff639f Kristof Provost 2025-11-26 16:08:15

pf tests: fix syncookie:loopback_v6

Use 'no_dad' when assigning a v6 address, because otherwise we may try
to use it before it becomes usable.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
8cf099b4fcb803d995192851f02294e0ef329073 Kristof Provost 2025-11-26 16:26:28

pf tests: explicitly set the source address in killstate:v6

We've seen failures due to pft_ping.py selecting the wrong source address.
Explicitly use 2001:db8::1 as source, to match the tests's expectations.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
685d5860aceac1c01bc34ec1ca5d726b88cb6e27 Kristof Provost 2025-11-19 13:35:59

pf tests: pflog:{rdr_action,state_max} disable IPv6

Turn off IPv6 on all interfaces to avoid having multicast listener
reports generated that might turn up in out pflog output, disrupting
the test.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
39cbfc78b50c2b940d131834c8a5fb72442358c0 Kristof Provost 2025-11-26 17:20:24
libc/tests: add test for *_MAX, *_MIN, and *_WIDTH
This file checks the correctness of the various _MAX, _MIN, and
_WIDTH macros defined for the libc types.  It assumes that none
of the types have padding bits.

Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53831
4a1c7529c96ff54657ef701fa89b92230ee6bac2 Robert Clausecker 2025-11-19 19:26:11

Style, typos, and comments

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

nvme: Minor style(9) fixes
<sys/systm.h> needs to be first after <sys/param.h>. And we don't need
both sys/param.h and sys/types.h.

Fixes:          https://cgit.freebsd.org/src/commit/?id=032fbda024d78
Sponsored by:   Netflix
301b8a806f79292ee3324ca938a4d938df1911e8 Warner Losh 2025-11-25 16:10:23
libefivar: Fix (some) typos
Fix typos in the files that are owned by the project.

Bring back a "duplicate word" removal (node node), which should have
been "node Node", the second "node" is not capitalized in the reference
file (yet).  We'll bring it back capitalized to avoid it from triggering
automated checking scripts and possibly reverting this change again.  A
few other typos were not fixed, as we strive to keep as close to the
reference files as possible, these fixes should be submitted to the
reference project (tianocore/edk2) in the not so distant future.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
0e614a4afe48f602fafad128e6a053c89f7445cd Jose Luis Duran 2025-11-15 17:25:32
libefivar: Change OPTIONAL keyword usage style
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3760

Update all use of ', OPTIONAL' to ' OPTIONAL,' for function params.

Note that the link above no longer exists.  The commit message was kept
verbatim.  An archive of the bug report can be found at:
https://web.archive.org/web/20240714185609/https://bugzilla.tianocore.org/show_bug.cgi?id=3760

Obtained from:  https://github.com/tianocore/edk2/commit/d0e2f8232a26453fc0191629ed44ff2a46ea073e

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
ca6fef2d4bf12a83f96a77153beb16999c8c62d0 Jose Luis Duran 2025-11-13 17:02:01
NOTES: Fix a typo in a comments
Signed-off-by: ykla yklaxds@gmail.com
Sponsored by:   Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1899
f7725c3c27e685478398833fbe32504c38438d69 ykla 2025-11-25 08:12:17
if.h: Fix a couple of typos in comments
No functional change.
136a80ad3dab36911bb6408dcd69269b7e0747c7 Navdeep Parhar 2025-11-25 18:34:46
strfmon: Fix typo s/poistion/position/
MFC after:    1 week
91e7f19ec4056587a85c1461a4f34a6d5d4b7b52 Jose Luis Duran 2025-11-23 16:58:55
NOTES: fix typos and unify terminology in comments
Signed-off-by: ykla yklaxds@gmail.com
Sponsored by: Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1901
2996c41ee89dbd6426254457398f49572e9b425d ykla 2025-11-26 05:57:47
exterrvar.h: style(9): Fix two small nits
- Use tabs before '\'.
- Comment for '#else' must be the negation of the initial '#if''s test.

No functional change.

Sponsored by:   The FreeBSD Foundation
d9e734d650844f4465a2e064fc9ee0897ed9aa95 Olivier Certner 2025-11-27 09:42:50
exports.5: Typo: "auomatically" => "automatically"
Fixes:          https://cgit.freebsd.org/src/commit/?id=9d975e47d5a3 ("exports.5: Clarify that exported dirs should be local mount points")
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
7521dc5dce35159add70003340e1555456721a2d Olivier Certner 2025-11-27 20:27:14
bus: Apply consistent style to prototypes
Sponsored by: Klara, Inc.
Sponsored by:   NetApp, Inc.
6facc476f3056037f8b5cdb5546554ab3a887463 Dag-Erling Smørgrav 2025-11-28 09:16:14
acpi: Fix typos in sysctl descriptions
Reviewed by:  thj, emaste
Approved by:    thj
Sponsored by:   The FreeBSD Foundation
e966eb4039717c888ee74a65768346088012fb4a Aymeric Wibo 2025-11-28 14:26:26

Contrib code

pam_krb5: Restore allow_kdc_spoof option
Not only does the new pam_krb5 module not have the same allow_kdc_spoof
option that the old one had, its behavior in this matter defaults to
insecure.  Reimplement allow_kdc_spoof and switch the default back.

Reviewed by:    cy
Differential Revision:  https://reviews.freebsd.org/D53884
fe5c8baf25a5b40285c3ef85b69391d591e4a76c Dag-Erling Smørgrav 2025-11-24 02:40:29
Mitigate YXDOMAIN and nodata non-referral answer poisoning.
Add a fix to apply scrubbing of unsolicited NS RRSets (and their
respective address records) for YXDOMAIN and nodata non-referral
answers. This prevents a malicious actor from exploiting a possible
cache poison attack.

Obtained from:  NLnet Labs
Security:       CVE-2025-11411
2a3a6a1771148a709c2d9694c1d66c41ce8dee79 Gordon Tetlow 2025-11-21 21:24:58
openzfs: We are FreeBSD, not posix.
Partially revert:
https://github.com/openzfs/zfs/commit/99d7453b43dc0ef04a35e461ef14db72e1326c7c
which introduced this file upstream. This causes this definition to be
preferred for all builds. Make the smallest change possible to this file
to change the default to FreeBSD. We're talking to the upstraem folks
about the right fix. Feel free to revert this in the future, so long as
`bectl activate -t` still works properly afterwards.

Sponsored by:           Netflix
3e69618d4bfbd0d952f86703c00a979f93e6152b Warner Losh 2025-11-26 20:30:13
jemalloc: avoid clash with C23 unreachable() macro
Summary: This avoids a clash with the new macro in <stddef.h>
introduced in D53967

Reviewed by:    imp
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53968
04d000a378b04bca1aff4a1cc3d74f5c9c5368b9 Robert Clausecker 2025-11-27 21:59:12

Reverted commits

Commit & revert pair: kernel linker: Disable local sym resolution by default
kernel linker: Disable local sym resolution by default

In 95c20faf11a1 and ecd8245e0d77 kib introduced support to have the
kernel linker stop resolving local symbols from other files, but did
not enable it by default to avoid surprises.  Flip the default now,
before FreeBSD 16.0.

The debug.link_elf_leak_locals and debug.link_elf_obj_leak_locals
sysctls are available to revert to the previous behaviour if necessary.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207898
Reviewed by:    bz
Relnotes:       Yes
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47742
9562994a7aacee2baae6ddee1a7b558b48ae39ef Ed Maste 2024-11-25 19:05:54

Revert "kernel linker: Disable local sym resolution by default"

I've received a report of a failure from resolving kern_kmq_open.
Revert for now as we are currently in stabweek.

This reverts commit 9562994a7aacee2baae6ddee1a7b558b48ae39ef.

Reported by:    mav
fad4c92b78a123f87195173ac118655fa8e325cd Ed Maste 2025-11-25 17:12:36

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.19 at 2025-12-05 21:21:42+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2025-11-24 (debug) (contains info about the classification)