FreeBSD git weekly: 2026-01-12 to 2026-01-18

Introduction

This is a display of mostly-automatically-classified git commits from 2026-01-12 to 2026-01-18.

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

Table of contents and commits per category:

(2) Highlighted commits (these are copies, not in stats)
0 0.0% Userland programs
16 7.7% Documentation
35 16.7% Hardware support
23 11.0% Networking
40 19.1% System administration
13 6.2% Libraries
1 0.5% Filesystems
32 15.3% Kernel
14 6.7% Build system
13 6.2% Internal organizational stuff
14 6.7% Testing
6 2.9% Style, typos, and comments
2 1.0% Contrib code
0 0.0% Reverted commits
0 0.0% Unclassified commits
209 100% total
Technical notes about this page

debug: info about the automatic classification

num % num changed stage
7 3.3% 0 01-style
22 10.5% 0 02-filenames_wildcards
14 6.7% 0 02b-filenames_wildcards2
93 44.5% 0 03-filenames_plain1
50 23.9% 1 04-filenames_plain2
19 9.1% 0 05-summary-prefix
4 1.9% 0 Manually-classified commits
0 0.0% 0 Unclassified commits

debug: more stats

num % stage
1 0.5% Misclassified commits
204 97.6% Classified commits, no corrections

debug: groups

0 0.0% num in revert
2 1.0% num in fixes
50 23.9% num in consecutive
52 24.9% Commits in groups

Highlighted commits

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

RELNOTES: document the MAC/jail integration
Reviewed by:  jamie, markj
Differential Revision:  https://reviews.freebsd.org/D54737
c18631fe795833abc62c44e26a39b1e8176e1cb0 Kyle Evans 2026-01-15 03:29:18

debug: classified in 03-filenames_plain1 by 'RELNOTES'

RELNOTES: LinuxKPI based wireless drivers are now avail on RISC-V
This was enabled after a report [1] that iwlwifi(4) works on
RISC-V.

[1] https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=5947+0+archive/2026/freebsd-wireless/20260112.freebsd-wireless

Sponsored by:   The FreeBSD Foundation
c940f5c775dfe241e3e9a80fbf62286cdf44c0a0 Bjoern A. Zeeb 2026-01-16 20:27:21

debug: classified in 03-filenames_plain1 by 'RELNOTES'

Userland programs

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

-- no commits in this category this week --

Documentation

Man pages, release notes, etc.

RELNOTES: Add entry for c558eca47970
a3f28d70969cdc429c8c277d47e89ae0818cf75e John Hall 2026-01-12 15:54:34

debug: classified in 03-filenames_plain1 by 'RELNOTES'

RELNOTES: Correct commit hash in commit a3f28d70969c
2b60e628d3b1e98d211f9c4f7cef8cbd641eda5d John Hall 2026-01-12 16:23:43

debug: classified in 03-filenames_plain1 by 'RELNOTES'

RELNOTES: Revert back to commit hash in commit a3f28d70969c
inadvertently changed the commit hash to the commit on stable/15
1971c31c537fd638f3a27eb4c3aca5183a970559 John Hall 2026-01-12 17:56:02

debug: classified in 03-filenames_plain1 by 'RELNOTES'

src.conf.5: Regen after addition of MK_SOUND
A description for WITHOUT_SOUND is still missing though.
3f2f3c52e6f192df435bdb5861018402ec1167d0 Ed Maste 2026-01-12 19:33:15

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

wc: Fix usage and manual SYNOPSIS + nits
The -c and -m flags are mututally exclusive. Also minor manual fixes:

+ Angle quotes do not work in prose, use double quote matching extant
+ Align manual page options list
+ Tag SPDX license identifier for manual

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292408
MFC after:      3 days
4cb65fde79a2412558d10fdbf3427fc0e4536d80 Alexander Ziaee 2026-01-12 21:04:54

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

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

Commit group #0: tuning.7: add more explanation about swap (over-)accounting
tuning.7: add more explanation about swap (over-)accounting

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54572
457b940bfb6a228af1281f357b627ecf1e26fea5 Konstantin Belousov 2026-01-12 03:54:58

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


tuning.7: use the correct word for collapsing

Fixes: https://cgit.freebsd.org/src/commit/?id=457b940bfb6a228af1281f357b627ecf1e26fea5
Signed-off-by: Oliver Pinter <oliver.pntr+freebsd@gmail.com>
MFC after:      1 week
8cd687a726a8b6cc29f573cba7d6c7ecb683a954 Oliver Pinter 2026-01-13 23:06:29

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

pfctl.8: mention -k source -k <IP>
Sponsored by: Rubicon Communications, LLC ("Netgate")
398ca30cb6d6cb6f0f5433fae11d07a65a9259dd Kristof Provost 2026-01-10 09:43:09

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

pf.conf.5: spelling
Obtained from:        OpenBSD, jsg <jsg@openbsd.org>, 86739c769e
Sponsored by:   Rubicon Communications, LLC ("Netgate")
02126f8cb35ca66380a43a58143e0c37154a99d3 Kristof Provost 2026-01-12 15:56:37

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

pf.conf.5: s/State Limiter/&s/ in .Ss
linked with the plural from other text, and
matches "Source Limiters. From Atanas Vladimirov.

Obtained from:  OpenBSD, sthen <sthen@openbsd.org>, d4acfc5766
Sponsored by:   Rubicon Communications, LLC ("Netgate")
1550fcf802e3413e2ecb39fd81f7bff1c134c3f3 Kristof Provost 2026-01-12 16:17:56

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

tuning.7: wording fixes
Submitted by: markj
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54572
6f41575a94b310614f5ffcee215aee48ced4ad2d Konstantin Belousov 2026-01-14 15:37:39

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

jail: document the mac.label parameter
In particular, we should provide a hint about mac.conf(5), since libjail
will just use the mac_prepare_type(3) API to provide a reasonably sane
interface for system administrators.  Progammers wanting to fetch an
arbitrary MAC label would need to bypass libjail and use jail_get(2)
directly with their own prepared `struct mac`.

Differential Revision:  https://reviews.freebsd.org/D54067
1e8c28712aafc9a3339e8a832767a70c08168bdc Kyle Evans 2025-12-04 01:45:56

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

RELNOTES: document the MAC/jail integration
Reviewed by:  jamie, markj
Differential Revision:  https://reviews.freebsd.org/D54737
c18631fe795833abc62c44e26a39b1e8176e1cb0 Kyle Evans 2026-01-15 03:29:18

debug: classified in 03-filenames_plain1 by 'RELNOTES'

termios.4: Cross-reference stack(9) for STATUS
If the kernel is built without stack(9) (options STACK),
then the mentioned sysctl(8) kern.tty_info_kstacks will not be found.

MFC after:              3 days
Reviewed by:            kib, ziaee
Differential Revision:  https://reviews.freebsd.org/D54701
fd34f549b711f0481336a838a99af710ab24644a Artem Bunichev 2026-01-16 20:22:21

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

RELNOTES: LinuxKPI based wireless drivers are now avail on RISC-V
This was enabled after a report [1] that iwlwifi(4) works on
RISC-V.

[1] https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=5947+0+archive/2026/freebsd-wireless/20260112.freebsd-wireless

Sponsored by:   The FreeBSD Foundation
c940f5c775dfe241e3e9a80fbf62286cdf44c0a0 Bjoern A. Zeeb 2026-01-16 20:27:21

debug: classified in 03-filenames_plain1 by 'RELNOTES'

netlink(4): Add snl(3) to See Also section
While here, fix manlint warnings in rtnetlink(4).

Reviewed by: melifaro, ziaee, glebius
Approved by: glebius (mentor)
Differential Revision: https://reviews.freebsd.org/D53786
adb66ef8c6ff1def81e9da575014153047ef7735 Pouria Mousavizadeh Tehrani 2026-01-18 08:22:13

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

Hardware support

Hardware drivers and architecture-specific code.

jme: Convert driver to CTLFLAG_MPSAFE
Replace CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE for all interrupt
coalescing sysctls. The driver uses jme_mtx mutex for proper
synchronization and does not require Giant lock.

Sysctls converted:
- dev.jme.X.tx_coal_to (TX coalescing timeout)
- dev.jme.X.tx_coal_pkt (TX coalescing packet count)
- dev.jme.X.rx_coal_to (RX coalescing timeout)
- dev.jme.X.rx_coal_pkt (RX coalescing packet count)
- dev.jme.X.process_limit (max RX events to process)

Reviewed by:    markj
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54618
c2a55efd74cccb3d4e7b9037b240ad062c203bb8 Abdelkader Boudih 2026-01-12 00:36:09

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

isl: Convert driver to CTLFLAG_MPSAFE
Replace CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE for all light sensor
sysctls.  All of the sysctl handlers are serialized by a driver mutex.

Sysctls converted:
- dev.isl.X.als (ambient light sensor)
- dev.isl.X.ir (infrared sensor)
- dev.isl.X.prox (proximity sensor)
- dev.isl.X.resolution (sensor resolution)
- dev.isl.X.range (sensor range)

Reviewed by:    markj
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54621
0672e0e38a08c580f723a02bb183344d8c7cee65 Abdelkader Boudih 2026-01-12 00:51:57

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

ads111x: Convert driver to CTLFLAG_MPSAFE
Replace CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE for all ADC sensor
sysctls.  All of the sysctl handlers are serialized by a driver mutex.

Sysctls converted:
- dev.ads111x.X.channelN.gain_index (PGA setting)
- dev.ads111x.X.channelN.rate_index (sample rate)
- dev.ads111x.X.channelN.voltage (sampled voltage)
- dev.ads111x.X.config (configuration register)
- dev.ads111x.X.lo_thresh (comparator low threshold)
- dev.ads111x.X.hi_thresh (comparator high threshold)

Reviewed by:    markj
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54620
2c029cff5ba3716757646a2d2c89db49987c1e98 Abdelkader Boudih 2026-01-12 00:55:45

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

Remove all code under __SPE__
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1957
c5dc38bcc2916018566b3b6eb46bcbbc68adf01f Minsoo Choo 2026-01-10 04:32:35

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

sound: Unlock around uiomove() in midi_{read,write}()
Sponsored by: The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D54130
6b69d6726a7d3455fb295abfcf9aedd48c580d4a Christos Margiolis 2026-01-12 11:27:15

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

sys: vt_efifb: EFI not supported on i386; move it back to amd64/NOTES
We do not support EFI boot on i386.  Thus:
1. Move (back) 'device vt_efifb' from x86/NOTES to amd64/NOTES.
2. Remove 'device vt_efifb' from i386/MINIMAL.

Reported by:    jhb
Fixes:          https://cgit.freebsd.org/src/commit/?id=f224591746bd ("Add ASMC_DEBUG make option")
Fixes:          https://cgit.freebsd.org/src/commit/?id=67599eef01f5 ("sys/x86/NOTES: Add vt_efifb")
Sponsored by:   The FreeBSD Foundation
9c25620e57f01d8227f0d53c6b2134ab37a49fdf Olivier Certner 2026-01-12 09:28:54

debug: classified in 03-filenames_plain1 by '['sys/amd64/', 'sys/i386/', 'sys/x86/']'

sound: Replace MIN() with min()
We use min() in most places.

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
eccd366b0a8ba7d902fcf0b1bec447926a75c36c Christos Margiolis 2026-01-12 13:38:39

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

Commit group #1: arm64
arm64: Add FEAT_MOPS register fields

(commit message by andrew@)

Reviewed by:    andrew
Sponsored by:   Arm Ltd
0685fc435c2b6750762d50985bc6876dede5fbe2 Sarah Walker 2026-01-13 15:26:10

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


arm64: Enable MOPS in userspace

Detect presence of FEAT_MOPS, and enable instruction set and set HWCAP2 flag
if present.

Add handler for MOE exceptions.

Reviewed by:    andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54558
591c7a08bf8addce4b047ef9c8033c33099e4688 Sarah Walker 2026-01-13 14:18:31

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


arm64: Provide ifunc HWCAP structure definitions

IFUNC structure is based on Section 9.4.1 "GNU C Library IFUNC interface"
from "System V ABI for the Arm 64-bit Architecture (AArch64)", 2025Q1.
(https://github.com/ARM-software/abi-aa/releases/download/2025Q1/sysvabi64.pdf)

Reviewed by:    andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54598
449339bdba2470eded4d55c41b084cfc8f5ef73a Sarah Walker 2026-01-13 14:19:56

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

arm64: Fix MAIR_ATTR_MASK
Use the correct value when calculating the mask.

(commit message by andrew@)

Sponsored by:   Arm Ltd
bdaa120b30006d7ef841a966414795416ce93eea Harry Moulton 2026-01-07 14:20:19

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

x86: Add intr_enable_src()
Function to enable specific IRQ source.

This will be used by the s2idle code to enable just SCIs on x86 to break
the CPU out of idle.

Reviewed by:    olce
Approved by:    olce
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D48734
38f941deb6faa0c22ffd5bf2f848c62dc6fce434 Aymeric Wibo 2026-01-13 22:15:55

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

acpi: Suspend-to-idle support (s2idle)
Implement STYPE_SUSPEND_TO_IDLE sleep type added in c43473dc9b83
("sys/power: Generic sleep types").

This is a prerequisite for the firmware to enter the S0ix states. When
suspending to idle, the system stays in an ACPI S0 state, but the CPUs
are idled and devices are suspended/resumed before and after this as
they would be when entering any other sleep type (except for AWAKE and
POWEROFF).

Factor out do_standby, do_sleep, and add a new do_idle function for
idling the CPU (a future patch will make this an idle loop and not just
a simple cpu_idle() call). In do_idle, SCIs (interrupt 9) are enabled to
allow wake events to break the CPU out of idle.

Record all the steps made instead of just the last one in slp_state,
which allows for more flexible unwinding (will be useful to not have to
goto breakout if the SPMC entry call fails when that is committed).

A lot of this borrows from Ben Widawsky's patch: D17675. The main
functional difference with that patch is that suspend-to-idle is a
wholly separate sleep type in this one as opposed to being an
alternative implementation for s2mem (S3).

Reviewed by:    emaste, olce
Approved by:    olce
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D48734
7669cbd0f06402573fe627e9e6f86c69cfd3d12b Aymeric Wibo 2025-06-14 15:28:49

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

vt(4): allow up to _SIG_MAXSIG (128) for VT_SETMODE
VT_SETMODE ioctl currently checks the provided signal numbers with its
own ISSIGVALID macro that uses NSIG (32) as a maximum, although the code
that will actually send the signal in sys/kern/kern_sig.c uses
_SIG_VALID which allows up to _SIG_MAXSIG (128).

This change aligns the vt code with the kernel internals and enables the
use of higher signal numbers so that applications are not limited to
SIGUSR1 and SIGUSR2 for vt release and acquire signals.

Signed-off-by:  Quentin Thébault <quentin.thebault@defenso.fr>
Reviewed by:    emaste, imp, kevans
Differential Revision:  https://reviews.freebsd.org/D53615
5e1c7867e1b9a8abe7307d01087cddc057e39859 Quentin Thébault 2026-01-14 00:14:22

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

mtw(4): Fix warm reboot initialization failures for MT7601U
  The mtw(4) driver works correctly on initial boot, but fails to initialize
  the MT7601U WiFi adapter after a warm reboot.

  Users must either physically unplug and replug the USB adapter, or perform a
  full power cycle to restore functionality, if usb power is always powered
  (only a replug works)

  The root cause is that warm reboot does not power-cycle USB devices,
  leaving the MT7601U in a stale state from the previous session.

  The MCU retains its ready flag and the device ignores initialization
  commands, resulting in timeout waiting for MCU to initialize errors.

  At the OS Level, pinging 1.1.1.1 will work, but the speed will be very
  slow. In addition in debug mode, we see thousand of error logs.

  This patch addresses the issue by:

  * Performing USB re-enumeration on attach to reset the device state
  * Detecting when the MCU is already marked ready (stale from previous
    session) and forcing a reset of the MCU before loading firmware
  * Increasing the firmware load timeout from 3s to 10s to accommodate
    slower initialization after reset
  * Increasing MCU ready poll attempts from 100 to 300 with longer delays
    to handle devices that take longer to become ready after reset

  Note: The increase was random, lower value might work.

Test Plan:

  Tested on MacBook Pro (late-2015) and a MacMini with MediaTek MT7601U
  USB adapter across multiple warm reboot cycles.

  With the mac-mini and a another desktop, the issue happens only if
  connected via an always powered usb hub port in the monitor.
  The laptop don't power cycle it power.

Differential Revision:  https://reviews.freebsd.org/D54659
Reviewed by:    adrian
a24166d23d2e93e787165064fac75215d4383c65 Abdelkader Boudih 2026-01-14 02:35:53

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

asmc: Add support for MacBookPro11,5
  Add support for the MacBookPro11,5 (Mid 2015, 15-inch with AMD Radeon R9 M370X GPU)
  to the Apple SMC driver.

  Debug testing revealed this model lacks several SMC keys present on MacBookPro11,4
  (IBLC, ICMC, IC2C), that model-specific sensor definitions.

Differential Revision:  https://reviews.freebsd.org/D54665
Reviewed by:    adrian
c498eaa2f9090d7bdc6456181d8bf74869288bbb Abdelkader Boudih 2026-01-14 03:13:46

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

riscv: add (a dummy) acpica_machdep.h
We have reports that iwlwifi(4) works on RISC-V.  While we can turn off
full ACPI-specific files easily, intermittent code still relies on the
header files to be present.  In order to not need to completely #ifdef
everything out we want to include acpi.h from LinuxKPI and as a result
need this file.  With this the iwlwifi(4) code compiles just fine and
will do the right thing (given the functional ACPI parts are disabled/
unavailable).

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    mhorne, emaste
Differential Revision: https://reviews.freebsd.org/D54691
0fa7b3bee72e7cfedabe371c7082fbf44508ec05 Bjoern A. Zeeb 2026-01-13 20:33:27

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

Commit group #2: nvme: Add ability to override ioq to put the request on
nvme: Add ability to override ioq to put the request on

Sometimes the client device needs to manage the IOQ the request goes
to. Expand the interface we have for the request to allow it to be set
for this special use case.

Sponsored by:           Netflix
Reviewed by:            jhb
Differential Revision:  https://reviews.freebsd.org/D54714
73c921ef1d44f6e1590957a4beb48a967e3ca8c8 Warner Losh 2026-01-15 13:31:53

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


nvme: Fix a typo

Fixes:  https://cgit.freebsd.org/src/commit/?id=73c921ef1d44 ("nvme: Add ability to override ioq to put the request on")
8bc63f01e3fabe6789960ed3b2751350ddd87865 Mark Johnston 2026-01-15 14:13:50

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

debug: moved to hardware because 'Need to be grouped with 73c921ef1d44f6e1590957a4beb48a967e3ca8c8'

arm64/vgic_v3: Fix an inverted test when reading GICD_I<C|S>ENABLER
On read, these registers' fields return 1 if forwarding of the
corresponding interrupt is enabled, and 0 otherwise.  The test in
read_enabler() was inverted.

Reported by:    Kevin Day <kevin@your.org>
Reviewed by:    andrew
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54678
6fef0c9ee64cea1f22b6a33a0c4dd39f605b7465 Mark Johnston 2026-01-15 14:04:06

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

arm64/iommu: Fix a resource leak in smmu_domain_alloc()
We should free the allocated ASID if smmu_init_cd() fails.

Move the allocation of "domain" to simplify the first error path.

Reported by:    Kevin Day <kevin@your.org>
Reviewed by:    br
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54676
6740cccb1eff2a0e1e6d451fa9676a21736937d2 Mark Johnston 2026-01-15 14:04:19

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

acpi: Add a function to deregister all ioctl commands using the same function
This simplifies detach/cleanup for drivers that add multiple ACPI ioctls.

Reviewed by:    imp
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D54420
5bd84c4f0d016a2ca87ee115370ec1e7802e6d8a John Baldwin 2026-01-15 18:24:08

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

dwc: improve IPv4 transmit checksum offloading
This patch provides two improvements for TCP/IPv4 and UDP/IPv4
transmit checksum offloading:
(1) Use *CIC_SEG instead of *CIC_FULL, since FreeBSD always provides
    a pseudo header checksum.
(2) Don't make transmit IPv4 header checksum offloading a prerequisite
    for TCP/IPv4 or UDP/IPv4 transmit checksum offloading.
This is the root cause of PR 291696, since right now the epair
interface does not support transmit IPv4 header checksum offloading,
but TCP/IPv4 and UDP/IPv4 transmit checksum offloading.

PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291696
Reviewed by:            Timo Voelker
Tested by:              Marek Benc
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D54395
f8ddf74175c8013268e65b18750e247306fa088a Michael Tuexen 2026-01-16 11:02:53

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

MINIMAL: Add virtio_scsi
This allows a MINIMAL kernel to boot in qemu/kvm.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
77a6992bf5329e32b0b77608421dafccb125ad37 Dag-Erling Smørgrav 2026-01-12 16:57:45

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

bge: disable TXCSUM if UDP transmit checksum offloading is disabled
The bge interface is special with respect to transmit checksumi
offloading. In the default settings, an bge interface announces TXCSUM
capabilities, but only supports TCP/IPv4 and not UDP/IPv4 due to
limitations of some of the NICs. This results in problems when the bge
interface becomes a member of a bridge. Since currently only the
TXCSUM capabilities are synced when a member is added to a bridge and
not the protocol specific capabilities, this can result in a situation
where UDP packets are sent out using a bge interface without having a
correct checksum.
To mitigate this problem, initially don't announce TXCSUM capabilities,
when UDP transmit checksum is disabled. It is still possible to enable
TXCSUM capabilities via ifconfig.

PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291420
Reviewed by:            Timo Voelker
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D54486
bbd30927b1af44226c8de0512912a7fedfce2824 Michael Tuexen 2026-01-16 12:32:13

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

hwpstate_amd: Use ipi instead of sched_bind + thread_lock
Reviewed by:    olce
Approved by:    markj (mentor)
MFC after:      2 weeks
Differential Revision: https://reviews.freebsd.org/D54505
87c4d6555b41a509ff1eeb24e2fa90f3f59483a7 ShengYi Hung 2026-01-04 15:10:59

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

smartpqi: Avoid declaring extern inline functions
Each C file is compiled separately so these functions can't be inlined
except in the file where they are defined.  Since these functions aren't
used outside smartpqi_request.c, just do the simple thing and make them
private to that file.

Reported by:    gcc
Reviewed by:    jrhall
Fixes:          https://cgit.freebsd.org/src/commit/?id=c558eca47970 ("smartpqi: update to version 4660.0.2002")
Differential Revision:  https://reviews.freebsd.org/D54732
75c591b26723711d7a38f2a5df7aecc28198cd83 Mark Johnston 2026-01-16 19:49:22

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

mxge(4): avoid clang 21 warning in NO-IP configuration
Building the LINT-NOIP kernel on amd64 with clang 21 results in a
-Werror warning similar to:

    sys/dev/mxge/if_mxge.c:1846:44: error: variable 'sum' is uninitialized when passed as a const pointer argument here [-Werror,-Wuninitialized-const-pointer]
     1846 |                     cksum_offset, sizeof(sum), (caddr_t)&sum);
          |                                                          ^~~

Indeed, if both `INET` and `INET6` are undefined, `sum` is never
initialized. Initialize it to zero to silence the warning.

Reviewed by:    jhibbits
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D54730
74cac745fe302b26ad22114f60735c8b73e90571 Dimitry Andric 2026-01-15 11:31:29

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

powerpc: Add ISA 2.06 sub-word atomic set/clear
Add atomic_set/clear_short/char for doing 8-bit and 16-bit operations
more efficiently on "newer" architectures (POWER7 and later).

Piggybacks on b31abc95eb.
cd22fd0549c9a65b8806fd013f98be89c34c44f7 Justin Hibbits 2025-09-22 14:35:59

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

dwc: prepare for IPv6 transmit checksum offloading
No functional change intended.

MFC after:      3 days
97b177f51fb939943ef920415e541d00789d12f4 Michael Tuexen 2026-01-16 17:28:01

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

dwc: add transmit checksum offload for IPv6
This patch adds support for transmit checksum offload for TCP/IPv6
and UDP/IPv6.

Reviewed by:            Timo Völker
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D54754
aca67c37a5215448828a2974a2ff44e75e9159bc Michael Tuexen 2026-01-17 20:01:54

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

dwc: add receive checksum offload for IPv6
This patch adds support for receive checksum offload for TCP/IPv6
and UDP/IPv6. Since receive checksum offload can't be configured
separately for IPv4 and IPv6, IFCAP_RXCSUM and IFCAP_RXCSUM_IPV6
can't be changed independently.

Reviewed by:            Timo Völker
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D54756
5d8777f3a7aee04eabbc9f3cf12138f9b56e3ebc Michael Tuexen 2026-01-17 20:06:28

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

x86/local_apic.c: convert lvts[] and elvts[] arrays to designated initializers
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54543
4938ee8064868f120413405f1b3aa40344a6fabd Konstantin Belousov 2025-12-09 01:52:04

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

x88/local_apic.c: for each lvt element, add LVT register index
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54543
87ed56a5c43521d97975d936df4fc36184f1b685 Konstantin Belousov 2025-12-09 03:53:50

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

x86: mask all LAPIC vectors early, before BSP interrupts are enabled
If APIC is left in somewhat bad state, with some source hot (not masked
and active, e.g. timers after kexec or due to BIOS bug), we get the
interrupt too early.

Reported by:    jmg
Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54543
11f954b021a1aadde1d03d40ed5d6b529e14da98 Konstantin Belousov 2025-12-09 02:18:21

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

Networking

Network-related commands, library, and kernel.

in6: Add a helper function to compute expiry times
Tidy up a bunch of places that have the same duplicated logic.  Simplify
callers of in6_init_prefix_ltimes().  No functional change intended.

Reviewed by:    pouria, zlei, tuexen, glebius
MFC after:      2 weeks
Sponsored by:   OPNsense
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D54561
fb08f80eaf90eb7ace202d8604634fc181be8980 Mark Johnston 2026-01-12 13:49:34

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

in6: Modify address prefix lifetimes when updating address lifetimes
When one uses SIOCAIFADDR_IN6 to add a v6 address, it's possible to set
the preferred and valid lifetimes of the address.  If the address
already exists, this ioctl will recalculate and update the expiry times
based on the provided timestamps.

When adding a new address, the lifetimes are inherited by the prefix as
well, but only if we create a new prefix.  If the prefix already exists,
as it will in the case where an address is being updated rather than
being added, we do not touch the prefix lifetimes at all.  This means
that the original address lifetime still applies to the route associated
with that prefix, so when the prefix expires, the route goes away.

This behaviour doesn't make a lot of sense: if the admin updates an
address lifetime, we should ensure that the prefix lifetime is updated
too.  Make that change, ensuring that we do not shorten the prefix
lifetime, as the prefix might be shared among multiple interface
addresses.

Add a regression test.

Co-authored by: Franco Fichtner <franco@opnsense.org>
Reviewed by:    pouria, zlei, ae
MFC after:      2 weeks
Sponsored by:   OPNsense
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D54562
74999aac5effb9b32d12f413ef51e87b15c8a0d8 Mark Johnston 2026-01-12 13:49:54

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

ipfw: find_tentry method is defined for any table algorithm
The error path is never taken.  Also the path was leaking a lock.

Noticed by:     ae
c1376acb8a9df03e5e47a78dbac5347d036116ff Gleb Smirnoff 2026-01-13 18:08:49

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

enc: create an interface at SI_SUB_PROTO_IF stage
Creation of enc0 before SI_SUB_PROTO_MC mangles the MLD list as well as
encounters IGMP mutex not initialized yet.

Reported & tested by:       mjg

NB: the enc(4) is not a true interface indeed.  In a perfect world the
module shall not create a cloner, shall not enter if_attach(), shall not
trigger ifnet_arrival_event, neither shall have any protocol attached to
it. The enc0 exists for two purposes: 1) create a bpf(9) tap; 2) to allow
injection packets in the middle of ipsec(4) processing temporarily
rewriting m_pkthdr.rcvif to point at enc0.  While the problem 1 is already
solved with a recent divorce between bpf(9) and ifnet(9), the problem 2 is
harder to solve without breaking packet filter rules that use "via enc0".
e8348e2b35f3f644c391b8e0585090c451896684 Gleb Smirnoff 2026-01-09 23:31:11

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

pf: introduce source and state limiters
both source and state limiters can provide constraints on the number
of states that a set of rules can create, and optionally the rate
at which they are created. state limiters have a single limit, but
source limiters apply limits against a source address (or network).
the source address entries are dynamically created and destroyed,
and are also limited.

this started out because i was struggling to understand the source and
state tracking options in pf.conf, and looking at the code made it
worse. it looked like some functionality was missing, and the code also
did some things that surprised me. taking a step back from it, even it
if did work, what is described doesn't work well outside very simple
environments.

the functionality i'm talking about is most of the stuff in the
Stateful Tracking Options section of pf.conf(4).

some of the problems are illustrated one of the simplest options:
the "max number" option that limits the number of states that a
rule is allowed to create:

- wiring limits up to rules is a problem because when you load a
  new ruleset the limit is reset, allowing more states to be created
  than you intended.
- a single "rule" in pf.conf can expand to multiple rules in the
  kernel thanks to things like macro expansion for multiple ports.
  "max 1000" on a line in pf.conf could end up being many times
  that in effect.
- when a state limit on a rule is reached, the packet is dropped.
  this makes it difficult to do other things with the packet, such a
  redirect it to a tarpit or another server that replies with an
  outage notices or such.

a state limiter solves these problems. the example from the pf.conf.5
change demonstrates this:

     An example use case for a state limiter is to restrict the number of
     connections allowed to a service that is accessible via multiple
     protocols, e.g. a DNS server that can be accessed by both TCP and UDP on
     port 53, DNS-over-TLS on TCP port 853, and DNS-over-HTTPS on TCP port 443
     can be limited to 1000 concurrent connections:

           state limiter "dns-server" id 1 limit 1000

           pass in proto { tcp udp } to port domain state limiter "dns-server"
           pass in proto tcp to port { 853 443 } state limiter "dns-server"

a single limit across all these protocols can't be implemented with
per rule state limits, and any limits that were applied are reset
if the ruleset is reloaded.

the existing source-track implementation appears to be incomplete,
i could only see code for "source-track global", but not "source-track
rule". source-track global is too heavy and unweildy a hammer, and
source-track rule would suffer the same issues around rule lifetimes
and expansions that the "max number" state tracking config above has.

a slightly expanded example from the pf.conf.5 change for source limiters:

     An example use for a source limiter is the mitigation of denial of
     service caused by the exhaustion of firewall resources by network or port
     scans from outside the network.  The states created by any one scanner
     from any one source address can be limited to avoid impacting other
     sources.  Below, up to 10000 IPv4 hosts and IPv6 /64 networks from the
     external network are each limited to a maximum of 1000 connections, and
     are rate limited to creating 100 states over a 10 second interval:

           source limiter "internet" id 1 entries 10000 \
                   limit 1000 rate 100/10 \
                   inet6 mask 64

           block in on egress
           pass in quick on egress source limiter "internet"
           pass in on egress proto tcp probability 20% rdr-to $tarpit

the extra bit is if the source limiter doesn't have "space" for the
state, the rule doesn't match and you can fall through to tarpitting
20% of the tcp connections for fun.

i've been using this in anger in production for over 3 years now.

sashan@ has been poking me along (slowly) to get it in a good enough
shape for the tree for a long time. it's been one of those years.

bluhm@ says this doesnt break the regress tests.
ok sashan@

Obtained from:  OpenBSD, dlg <dlg@openbsd.org>, 8463cae72e
Sponsored by:   Rubicon Communications, LLC ("Netgate")
4616481212302b5d875cfc7a00766af017318f7f Kristof Provost 2025-12-30 19:06:48

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

pf: convert state limiter interface to netlink
This is a new feature with new ioctl calls, so we can safely remove them
right now.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
c72fb110e47f5a52e64683a8759a11eb69b34bd3 Kristof Provost 2026-01-06 21:33:31

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

pf: remove redundant range checks
the range checks are not needed because both members
(statelim and sourcelim) are uint8_t, they implicitly
fit desired range <0, 255>. Unbreaks gcc build.
Pointed out by deraadt@

OK deraadt@

Obtained from:  OpenBSD, sashan <sashan@openbsd.org>, 3a7be1e428
Sponsored by:   Rubicon Communications, LLC ("Netgate")
f2d2d6f010e48410a4435f73aa60ad3dcefccd3b Kristof Provost 2026-01-12 15:59:22

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

pf: state/source limiter finishing touches
Those finishing touches were supposed to land
with source/state limiter changes. I failed to
spot them during code review.

OK dlg@

Obtained from:  OpenBSD, sashan <sashan@openbsd.org>, 098c19176b
Sponsored by:   Rubicon Communications, LLC ("Netgate")
95ee802f410f9b8afec2c3e66e524ec8ca861dae Kristof Provost 2026-01-12 16:04:24

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

pf: avoid a shadowed variable in the pf_create_state() source limiter handling
the code that unwinds state creation when something fails needed
the pf_source variable at the function scope to be set, but this
was masked by a declaration in the scope that sets up the source
limiting. this results in a NULL deref in the unwind code when it
needs to clean up the accounting for a source limiter.

i found it funny that i left this comment for myself in the unwinding
code:

        /* who needs KASSERTS when we have NULL derefs */

ok jmatthew@

Obtained from:  OpenBSD, dlg <dlg@openbsd.org>, fc9311361f
Sponsored by:   Rubicon Communications, LLC ("Netgate")
1ee4405a00d7bcfa5545bba7a78b71cdd4cfdc20 Kristof Provost 2026-01-12 16:19:52

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

pf: configurable action on limiter exceeded
This change extends pf(4) limiters so administrator
can specify action the rule executes when limit is
reached. By default when limit is reached the limiter
overrides action specified by rule to no-match.
If administrator wants to block packet instead then
rule with limiter should be changed to:

   pass in from any to any state limiter test (block)

OK dlg@

Obtained from:  OpenBSD, sashan <sashan@openbsd.org>, 04394254d9
Sponsored by:   Rubicon Communications, LLC ("Netgate")
8716d8c7d97eec231820ecd1dc50c67beb95d58c Kristof Provost 2026-01-12 19:37:08

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

pf: remove unused function
pf_qid2qname() was never used. Remove it

Sponsored by:   Rubicon Communications, LLC ("Netgate")
3a609881c8c8cbd5f4c765b27b8233ab08342309 Kristof Provost 2026-01-13 19:32:37

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

net80211: fix arguments to IEEE80211_NOTE in ieee80211_fix_rate
Fix the arguments to the debug statement.

(slightly adjusted from the original submission by bz)

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286448
MFC after:      3 days
75556c7e999e9095ce71558ae61f49c1ba61a192 Yichen Chai 2026-01-14 18:44:08

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

netinet6: garbage collect OSIOCGIFINFO_IN6
This ioctl has been marked as "old" starting with the original KAME export
over 20 years ago and has been hidden under #ifdef _KERNEL since.  There
is no software that uses it.
008e5703e184cb5fe2079cfbdef5091add2ab3e1 Gleb Smirnoff 2026-01-08 02:42:02

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

netstat: Remove padding from cc and stack fields
Trim white space padding that gets added libxo fields cc and stack when
using -C and -c.

The padding is only visible if you're using multiple stacks or
congestion algorithms.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292262
MFC after:      5 days
Reviewed by:    asomers, tuexen
Approved by:    asomers (mentor)
Differential Revision:  https://reviews.freebsd.org/D54709
faa31fc0e7acc1c53bba2b69a63e9ff55d24faf7 Johan Söllvander 2026-01-15 14:21:07

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

if_ovpn: add interface counters
Count input/output packets and bytes on the interface as well, not just
in openvpn-specific counters.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292464
MFC after:      2 weeks
Sponsored by:   Rubicon Communications, LLC ("Netgate")
21d666a19331f31fb6dfa1e370de5a84a1a5cb46 Kristof Provost 2026-01-15 14:15:12

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

ipv6: account for jumbo payload option
If a jumbo payload option is added, the length of the mbuf chain is
increased by 8 but the actual hop-by-hop extension header with the
jumbo playload option is only inserted in the packet if there are
other options. Therefore, adjust optlen to reflect the actual size
of IPv6 extension headers including the hop-by-hop extension header
containing the jumbo payload option.

Reported by:            syzbot+73fe316271df473230eb@syzkaller.appspotmail.com
Reviewed by:            markj, Timo Voelker
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D54394
1f5b1de1fdf2924066c1851ed6c73f36fe20b438 Michael Tuexen 2026-01-16 11:49:40

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

ng_netflow v9: fix template re-announcement using packet count
Increment fe->sent_packets after export9_send().
Previously, NetFlow v9 templates were only re-announced based on
time, ignoring the packet count parameter (`templ_packets`).

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270083
Reviewed by:    glebius pouria
Approved by:    glebius (mentor)
MFC after:      1 week
Sponsored by:   Subcarpathian BSD User Group
d836dae9f0d888d441234ea11e3cd91614c86aa2 Marek Zarychta 2026-01-16 10:12:11

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

net: on interface detach purge all its routes before detaching protocols
Otherwise, a forwarding thread may use the interface being detached.  This
is a regression from 0d469d23715d, which manifests itself as a reliably
reproducible panic in in6_selecthlim().  Note that there are old bug
reports about such a panic, and I believe this change will not fix them,
as their nature is not due to a screwed up detach sequence, but due to
lack of proper epoch(9) based synchronization between the detach and
forwarding.

Reviewed by:            pouria
Reported & tested by:       jhibbits
PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292162
Fixes:                  https://cgit.freebsd.org/src/commit/?id=0d469d23715d690b863787ebfa51529e1f6a9092
Differential Revision:  https://reviews.freebsd.org/D54721
f102a18349335bfda1eb373a64eb1ba7462cd6bb Gleb Smirnoff 2026-01-17 00:38:02

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

ipfw: make the upper half lock sleepable
The so called upper half ipfw lock is not used in the forwarding path.  It
is used only during configuration changes and servicing system events like
interface arrival/departure or vnet creation.  The original code drops the
lock before malloc(M_WAITOK) and then goes into great efforts to recover
from possible races.  But the races still exist, e.g. create_table() would
first check for table existence, but then drop the lock.  The change also
fixes unlock leak in check_table_space() in a branch that apparently was
never entered.

Changing to a sleepable lock we can reduce a lot of existing complexity
associated with race recovery, and as use the lock to cover other
configuration time allocations, like recently added per-rule bpf(4) taps.

This change doesn't remove much of a race recovery code, to ease bisection
in case of a regression.  This will be done in a separate commit.  This
change just removes lock drops during configuration events.  The only
reduction is removal of get_map(), which is a straightforward reduce to a
simple malloc(9).

The only sleepable context where the lock was acquired was dyn_tick(). The
comment said it is done to prevent parallel execution of
dyn_expire_states().  However, there is proper internal locking in there
and function should be safe to execute in parallel.  The real problem is
dyn_expire_states() called via userland to race with dyn_grow_hashtable()
called via dyn_tick().  Protect against this condition with the main chain
lock.

Differential Revision:  https://reviews.freebsd.org/D54535
e3caa360d5d0a73af0de1d293d5b8ff6e900ceb4 Gleb Smirnoff 2026-01-17 00:39:01

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

ipfw: remove locking workarounds in the table code
Before the "upper half lock" became sleepable the table manipulation code
needed sophisticated workarounds to recover from races, where the lock is
temporarily dropped to do malloc(M_WAITOK).  Remove all these workarounds
as they are no longer needed.

Differential Revision:  https://reviews.freebsd.org/D54580
b0c13e7e2446fde7c559d2b15cc3c2f8d8b959f8 Gleb Smirnoff 2026-01-17 00:39:13

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

ipfw: in a vnet destructor use NET_EPOCH_WAIT()
The lock grab & drop predates epoch(9) introduction to the network
stack and it doesn't provide a true guarantee that all threads that
may use ipfw configuration have finished.  Also the lock prevented
from sleepable operations when freeing the rules.
1a7b74d3125fef50a6d2dcc4442c80457c8d32e1 Gleb Smirnoff 2026-01-17 03:57:03

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

ipfw: refactor how we store bpf tap points
Make the tap database belong to ip_fw_chain, but leave the default "ipfw0"
tap per-vnet.  This is only slightly better than keeping the database per-
vnet, as the bpf name space is per-vnet.  However, we yet have only single
ipfw chain.  Whenever multiple chains will coexist, this needs to be
addressed.

Require the chain lock to make modifications to the database.

Move tap allocation to a later ruleset build stage, when all rule numbers
are known already.  This fixes a panic introduced by 3daae1ac1d82.

Fixes:  https://cgit.freebsd.org/src/commit/?id=3daae1ac1d82ecdcd855101bab5206e914b12350
65b4bf7a6e0d415492889434a72085debdacdf82 Gleb Smirnoff 2026-01-17 04:02:25

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

ipfw: fix !VIMAGE build
NB: Rest of ipfw(4) sources get sx.h via vnet.h, which isn't perfect.
76af334737b1f388163dab6d63aab90de7a46c40 Gleb Smirnoff 2026-01-18 05:51:38

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

System administration

Stuff in man section 8 (other than networking).

syslogd: Terminate pipe processes gracefully
Pipe actions spawn a process based on the command provided in the
syslogd configuration file. When a HUP signal is received, enter
the process into the deadq instead of immediately killing it.
This matches the behavior of syslogd prior to it being Capsicumized.

Fixes: https://cgit.freebsd.org/src/commit/?id=d2d180fb7736
60ae4e52f33e3c67720b68a29e35f6c114a3386c Jake Freeland 2025-12-22 06:05:37

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

sndctl(8): Add libxo support
Sponsored by: The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    ziaee, mckusick
Differential Revision:  https://reviews.freebsd.org/D54032
aa58af04dc88aabf9d2fade2c7d126031cb66f42 Christos Margiolis 2026-01-12 13:32:06

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

bsdinstall: Drop "Technology preview" from package sets
And refer to dist sets as "legacy."  This matches our expectation for
FreeBSD 16.0.

Reviewed by:    cperciva
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54156
dac74b20c706b1f73986fb40dac27ed85c1d2850 Ed Maste 2025-12-09 20:29:05

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

rc: Improve os-release URLs and add rc.conf overrides
Add DOCUMENTATION_URL and SUPPORT_URL to the generated /var/run/os-release
file, and route the existing URLs through rc.conf-configurable variables:

  - osrelease_home_url
  - osrelease_documentation_url
  - osrelease_support_url
  - osrelease_bug_report_url

This allows downstreams and appliance vendors to customize these URLs
without patching the base script, while providing useful defaults for
stock FreeBSD installations.

Tested:
  - sh -n libexec/rc/rc.d/os-release
  - (No FreeBSD host available; not runtime-tested yet)

Signed-off-by: NVSRahul <nvsrahul@hotmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1961
babc4d8f70de9dcca3262ca94a777fa3bb6116ff NVSRahul 2026-01-11 18:15:00

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

rc: Add os-release URL rc.conf variables
Add rc.conf defaults for the os-release URL settings introduced in the
os-release rc.d script. This makes it easier for downstream integrators
and appliances to override the URLs via rc.conf instead of patching the
script.

The following variables are added to libexec/rc/rc.conf:
- osrelease_home_url
- osrelease_documentation_url
- osrelease_support_url
- osrelease_bug_report_url

These correspond to HOME_URL, DOCUMENTATION_URL, SUPPORT_URL, and
BUG_REPORT_URL in the generated os-release file.

Signed-off-by: NVSRahul <nvsrahul@hotmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1961
ced7f29dece3d27785c5037b8aa36e5d48d34b3d NVSRahul 2026-01-12 01:42:20

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

rtld-elf: Pass HWCAP flags to ifunc resolver functions
Function arguments are based on Section 9.4.1 "GNU C Library IFUNC interface"
from "System V ABI for the Arm 64-bit Architecture (AArch64)", 2025Q1.
(https://github.com/ARM-software/abi-aa/releases/download/2025Q1/sysvabi64.pdf)

Reviewed by:    kib, andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54559
a652357fb59f03bee85d61814002f9c60ea52340 Sarah Walker 2026-01-13 14:23:03

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

pfctl: resolve '-s' ambiguity
The 'introduce source and state limiters' commit added source and state
limiters, and used Stlimiters and Srclimiters as show options. However,
FreeBSD had 'Sources' as a show option already. This means that
'pfctl -sS' would now be ambiguous. Avoid this by renaming the new
options.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
aafa123641bed1f04546f7340d60858af082df94 Kristof Provost 2026-01-05 13:27:35

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

pfctl: improve limiters printing
Deviate a little from the OpenBSD code, to avoid unexpected output
changes.

Don't print limiter information when we show the rules (or labels).
Do include the source and state limiters in the 'all' (pfctl -sa) output
and give them their own titles.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
63d5d1b0b37e56deef2bed395928fcf52449ad94 Kristof Provost 2026-01-06 15:57:18

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

pfctl: ifa_load() in pfctl_parser.c may attempt to read beyond the buffer.
The current ifa_load() is not paranoid enough when it deals with
information which comes from kernel. The function just ignores
sa_len member in socket address returned getifaddrs().

The issue has been reported by anton@. The idea for fix here comes
fromy claudio@.

OK @claudio, @deraadt

Obtained from:  OpenBSD, sashan <sashan@openbsd.org>, a48d060175
Sponsored by:   Rubicon Communications, LLC ("Netgate")
393243a38d742e54d93c9c9ddb6c8f95fc0cb72e Kristof Provost 2026-01-12 16:08:35

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

pfctl: distinguish broadcast and PPP peer addresses
pfctl_parser.c, ifa_load() should distinguish between broadcast
and PPP peer address when it populates interface table for rule
parser.

OK @claudio, OK @dlg

Obtained from:  OpenBSD, sashan <sashan@openbsd.org>, 2e871bec67
Sponsored by:   Rubicon Communications, LLC ("Netgate")
7af7d6d61d416e0c2a340ca7f6d03b2c4bd631f7 Kristof Provost 2026-01-12 16:14:31

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

pfctl: make the source limiter output match the input
When printing source limiters use the same keywords as we accept on
input, that is use 'entries' for the entries value (not 'limit') and
'limit' for the limit value (and not 'states').

Update the test case to match.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
e28dfd6b5557a502bad6faecac4b0b8ecfd611cc Kristof Provost 2026-01-12 20:32:13

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

pfctl: allow new page character (^L) in pf.conf
PF configuration files can contains many things.

Using the new page characters (i.e. ^L, \014) to mark the beginning
of parts is useful because many editors such as emacs and vim has
facilities to jump next/previous ones.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=86635
MFC after:      2 weeks
Submitted by:   MOROHOSHI Akihiko <moro@remus.dti.ne.jp>
Submitted by:   Simon Wollwage <rootnode+freebsd@wollwage.com>
Sponsored by:   Rubicon Communications, LLC ("Netgate")
fc353e5e61fadd6ef618948f417f96381c08239c Kristof Provost 2026-01-14 06:18:27

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

gdb: Add missing mtree debug entry
Reviewed by:  markj
Fixes:          https://cgit.freebsd.org/src/commit/?id=ea675a43f09b ("libexec/kgdb: Add new modules and install them together with debug info")
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54680
0d9fd06b03e06ae642fa54510473b15361034a54 Jose Luis Duran 2026-01-14 14:27:51

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

mtree: usr: Add missing pkg/triggers entry
Reviewed by:  ivy
Fixes:          https://cgit.freebsd.org/src/commit/?id=ea5e50c2985b ("packages: Add a mandoc package")
Differential Revision:  https://reviews.freebsd.org/D54682
b8480379adcefaff0553aed1df67b249a0b194c8 Jose Luis Duran 2026-01-14 14:28:35

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

Commit group #3: rtld
rtld: Simplify walking program headers

Store phnum in Obj_Entry instead of phsize and use that to simplify
the terminate expressions when iterating over program headers.

Reviewed by:    kib
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D54710
31a440a0e9a26fee109ed753e3493c72b9dc05e9 John Baldwin 2026-01-14 17:10:33

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


rtld: Use uintptr_t instead of Elf_Addr for init/fini function pointers

This is a no-op on non-CHERI architectures, but is required for CHERI
where Elf_Addr is only an address and not a complete pointer.

While here, consistently use `uintptr_t *` for arrays of init/fini
function pointers.

Reviewed by:    imp, kib
Effort:         CHERI upstreaming
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D54711
e96ec1a1eb935aa2febcbf9629a52c85297a088e John Baldwin 2026-01-14 17:10:33

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


rtld: Switch to using <assert.h> for assert

The stock assert() works because rtld-libc includes a custom
implementation of __assert().

Reviewed by:    imp, kib
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D54712
3ea97c9de2b24c685d42be12dd57fad2f67b3f1b John Baldwin 2026-01-14 17:10:33

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

jexec: Add -e parameter to customize the environment
Currently, to define a new environment variable or modify an existing
one, we need to use env(1), which may or may not be available inside
the jail, especially in OCI containers created with the scratch
layer (i.e., those containers that are only a single static binary,
plus configuration files and related stuff). With this option, we
can specify environment variables of arbitrary length for the
specified process running inside the jail.

Reviewed by:                jamie@
Approved by:                jamie@
Differential Revision:      https://reviews.freebsd.org/D54660
5810786791d61aa085170afd5a7d449dbd1ec7c6 Jesús Daniel Colmenares Oviedo 2026-01-15 05:25:25

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

rtld: Use a helper variable to simplify a few lines
Reviewed by:  kib
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D54507
6d6bf4a892d6be84ec59fce5419eab616bcabb40 John Baldwin 2026-01-15 18:23:42

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

mtree: debug: Add missing krb5 entries
Reviewed by:  ivy
Differential Revision:  https://reviews.freebsd.org/D54681
ce8cd5dab3b3b5fabe4a49345e20bca62c36a132 Jose Luis Duran 2026-01-15 19:24:25

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

bhyve: Want walk_config_nodes
Add a function to all nodes under a config option node. This allows
parsing an arbitrary number of similarly structured configuration
options in a config option group.

Reviewed by:    corvink, markj
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D51551
e2d7bec6bc5a124091859ad134bc9cfc2a8b4688 Hans Rosenfeld 2026-01-16 14:43:44

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

spi: "-S" option for continuous stream from standard input to bus
created to allow addressable leds to be driven by abusing spi bus as waveform generator. this might have other uses for similar "permanent" spi transfers

Differential Revision:  https://reviews.freebsd.org/D54734
Reviewed by:    adrian
6dc12ecfb268d2d043f9415156d475278f3f714b Sulev-Madis Silber 2026-01-17 03:29:19

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

Commit group #4: nanobsd
nanobsd: Prefer nano_umount to umount

nano_umount[^1] is a convenience routine used to override issues with
umount(8) without changing the nanobsd.sh source code.  There were a few
places where it was not being used.

[^1]: Introduced in 6d12b61a88a6 ("Add a routine for easy workaround any
umount issues w/o hacking nanobsd.sh.")

Reviewed by:    imp, emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48780
7106db625ece3cb48c5993686c74553993b9431a Jose Luis Duran 2026-01-17 18:03:00

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


nanobsd: Add uname/gname to the spec

Also include the default NanoBSD uname/gname in the specification file.

By default, NANO_DEF_UNAME and NANO_DEF_GNAME map to root and wheel
respectively.

Reviewed by:    imp, emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48781
eb544c63fc962d057df0c55497c648a6a869aacc Jose Luis Duran 2026-01-17 18:03:26

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


nanobsd: Make tgt_dir2symlink() take a mode

Make tgt_dir2symlink() take an optional third argument that sets the
mode.  By default, assume an absolute mode of 0777, to maintain
backward compatibility.

Reviewed by:    imp, emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48782
6eccd84bee75d2db2bb2ce121ff745c843e94efe Jose Luis Duran 2026-01-17 18:03:50

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


nanobsd: Prefer tgt_dir2symlink() to create symlinks

Prefer tgt_dir2symlink() to create symlinks, as it has the benefit of
appending the entry to the metalog file.

Reviewed by:    imp, emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48783
5345567935a229ae1a621a521596b89af59d081f Jose Luis Duran 2026-01-17 18:04:09

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


nanobsd: Set the proper mode for /tmp

The correct mode for /tmp is 1777, keep the same mode when symlinking it
to /var/tmp.

Reviewed by:    imp, emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48784
b8b046a259eded36eb9bd6a1c02d60a78dae24f6 Jose Luis Duran 2026-01-17 18:06:01

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


nanobsd: Prefer tgt_touch() instead of touch

Prefer tgt_touch() as it adds an entry to the metalog file.

Reviewed by:    imp, emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48785
64e16fa5c7b13006864fc90d913a19135dbbd6b7 Jose Luis Duran 2026-01-17 18:06:19

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


nanobsd: Add a function to create directories

Add tgt_dir(), that creates and adds directory entries to the metalog
specification file.  Initially not wired.

Reviewed by:    imp
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48786
7c4d6fbd1b7970703f7d14f3acfba5dbcd168644 Jose Luis Duran 2026-01-17 18:06:58

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


nanobsd: Add a NANO_TIMESTAMP variable

Initially not wired, this variable will hold the time stamp for all the
files of the final image.
By default uses the last commit time stamp, if empty, it will use the
start time of the NanoBSD build.

Reviewed by:    imp
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48787
605fb076eb33ea5c08ec6ed3bbe7b6966baa898d Jose Luis Duran 2026-01-17 18:07:31

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


nanobsd: Switch the / partition in fstab

Introduce a function tgt_switch_root_fstab() that switches the root
partition in the target file system tab file.  Initially not wired.

Reviewed by:    imp
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48788
4f141f5ef4a531eccacf226b5a0d4507f36cfa44 Jose Luis Duran 2026-01-17 18:08:03

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


nanobsd: Add a nano_makefs function

Add a NANO_MAKEFS global variable with options equivalent to NANO_NEWFS
to be used with a nano_makefs function for creating images.

Also add a function that adjusts the code size calculation, so makefs -s
won't error about the minimum rounded size.  Ideally this shim should be
removed, therefore the suspicious _xxx prefix.

Initially not wired.

Reviewed by:    imp
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48789
5ba2a74e3a208ec5641832ffcb9674c0e4b06950 Jose Luis Duran 2026-01-17 18:08:52

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


nanobsd: Add a provisional populate_part function

Add a _populate_part(ition) function that mimics the current
populate_slice.  Note however, that this function is not
backward-compatible with populate_slice, hence the different name.  A
"_" is prepended to signal that it still experimental.

It can be used to populate the /cfg and /data partition using makefs(8).

Initially not wired.

Reviewed by:    imp
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48790
61ac7309c3669bdadd3983f0bb03440a7c147820 Jose Luis Duran 2026-01-17 18:09:14

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


nanobsd: Add a provisional populate /cfg function

Add a provisional _populate_cfg_part function.  It populates the /cfg
partition, but using makefs(8), which is more in-line with what release
engineering uses to create images.

Reviewed by:    imp
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48791
800d390fe74affa7484da3ad754ccc166624c056 Jose Luis Duran 2026-01-17 18:09:59

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


nanobsd: Add a provisional populate /data function

Add a provisional _populate_data_part function.  It populates the
optional /data partition, but using makefs(8), which is more in-line
with what release engineering uses to create images.

Reviewed by:    emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48792
8832f767d6aeba37b2e957626d24de1f06890a0c Jose Luis Duran 2026-01-17 18:10:22

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


nanobsd: Add a NO_ROOT build option

Add a -U option to build NanoBSD images without root privileges.  It
relies on makefs/mkimg and metalog (mtree) files, similar to what
release engineering uses to build images.

Keep the current way to build NanoBSD images untouched.  Once this
method gets battle tested, it may be used to build images as root as
well.

Reviewed by:    imp, emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D48793
ecc039be7fdd7bbae6419a311af9398ca595b2f6 Jose Luis Duran 2026-01-17 18:10:48

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

Commit group #5: powerpc/loader: Add CAS support for older CPUs
powerpc/loader: Add CAS support for older CPUs

QEMU creates a "ibm,arch-vec-5-platform-support" property for all
pseries emulations.  Add POWER7 and POWER6 to the CAS list, more can be
added later as needed/desired.

MFC after:      1 week
895eeb49239eae947742bc2501836cc774d3467a Justin Hibbits 2026-01-17 18:55:50

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


powerpc/loader: Size the CAS PVR array correctly

Fixes:          https://cgit.freebsd.org/src/commit/?id=895eeb492 ("powerpc/loader: Add CAS support for older CPUs")
MFC after:      1 week
dce3d3a8c077433921b3d9560252c572dc182ba2 Justin Hibbits 2026-01-17 21:53:42

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

ifconfig: Use strlcpy(3) instead of strncpy(3) for interface name
No functional change intended.

Reviewed by: pouria, delphij, imp
Approved by: glebius (mentor)
Differential Revision: https://reviews.freebsd.org/D54752
2f900cbc5fdf1eaafd706936dc4ded7c49a23620 Amy Vargas 2026-01-17 09:48:06

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

periodic: Support RFC 5424 syslog timestamps
This is based on an initial implementation by michaelo in
https://reviews.freebsd.org/D54361.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270497
Reported by:    michaelo
Reviewed by:    michaelo
Tested by:      michaelo
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54606
8ac6427b1bb95470f6c755202d1c0391ed8eefbd Joseph Mingrone 2026-01-08 19:22:58

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

Libraries

csu: Remove unused constant
This is no longer used after commit
99282790b7d01ec3c4072621d46a0d7302517ad4 moved ELF notes from C to
assembly.

Reviewed by:    kib
Fixes:          https://cgit.freebsd.org/src/commit/?id=99282790b7d0 ("Remove the sed hack for ABI tag notes.")
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D54506
113dc9ed98874d15f4f43287dcb6d0f59633b19b John Baldwin 2026-01-13 15:19:04

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

libc/csu: Pass HWCAP flags to ifunc resolver functions
Function arguments are based on Section 9.4.1 "GNU C Library IFUNC interface"
from "System V ABI for the Arm 64-bit Architecture (AArch64)", 2025Q1.
(https://github.com/ARM-software/abi-aa/releases/download/2025Q1/sysvabi64.pdf)

Reviewed by:    andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54599
5eec3531204bd93426642a9c45b0c292a01447e4 Sarah Walker 2026-01-13 14:24:00

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

Commit group #6: libc/aarch64: Use MOPS implementations of memcpy/memmove/memset where availble
libc/aarch64: Use MOPS implementations of memcpy/memmove/memset where availble

Reviewed by:    andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54560
41ccf82b29f3b16fcd1ccb4987569c851222ef8d Sarah Walker 2026-01-13 14:24:53

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


depend-cleanup.sh: Clean up the old arm64 memset.S

This has moved from a generated file in objdir to the source tree.
Remove the old file and any .depend files that reference it.

Reviewed by:    bapt (via IRC)
Fixes:  https://cgit.freebsd.org/src/commit/?id=41ccf82b29f3 ("libc/aarch64: Use MOPS implementations of memcpy/memmove/memset where availble")
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54729
fb96702a034c663adb4a1b44299af01fa71e29fd Andrew Turner 2026-01-15 15:04:48

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

debug: moved to libs because 'Need to be grouped with 41ccf82b29f3b16fcd1ccb4987569c851222ef8d'

libexecinfo: tests: Expect failure on aarch64
Add a guard that expects a failure of the test on aarch64.

Reviewed by:    emaste
Fixes:          https://cgit.freebsd.org/src/commit/?id=df1ea5887326 ("tests: Test libexecinfo backtrace call througth signal trampoline")
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54675
fef84fd8ae845e19cec0f6b9aac0e6451cca3d7a Jose Luis Duran 2026-01-14 17:06:14

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

swab: Correctly treat the data as misaligned
The __aligned attribute in the previous version applied to the location
of the pointers, not the data the pointers pointed to.  While this
could be fixed by applying the attribute to a local typedef of uint16_t,
just using memcpy() for the unaligned access is simpler and ISO C.

This fixes the build on CHERI architectures which do not support
misaligned pointers and were thus failing with:

lib/libc/string/swab.c:12:18: error: alignment (1) of 'const uint16_t *' (aka 'const unsigned short *') is less than the required capability alignment (16) [-Werror,-Wcheri-capability-misuse]
   12 |         const uint16_t *f __aligned(1) = from;
      |

Co-authored by: Jessica Clarke <jrtc27@FreeBSD.org>
Fixes:          https://cgit.freebsd.org/src/commit/?id=02ebbc781f08 ("swab: Fix implementation to support overlapping copies")
Sponsored by:   AFRL, DARPA

Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D54399
2a5c5b8f7cddf14537707895fceb454cabc1b3bd John Baldwin 2026-01-14 17:10:33

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

ncurses: fix cross build on MacOS
ad553bd419a81274e9369e91753b74d3942ce938 Baptiste Daroussin 2026-01-15 06:28:28

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

libc/stdlib: Port strtonumx() from Illumos
Add strtonumx(), a companion to strtonum(3) that preserves its safety
and error-reporting semantics while allowing the caller to specify a
conversion base, similar to the strtol(3) family of functions.

Reviewed by:    emaste, kib, ziaee
Obtained from:  https://www.illumos.org/issues/15365
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54270
6a6f230d3143a1dedddf6fa99b83d040f0fafe53 Hans Rosenfeld 2025-12-16 16:04:30

debug: classified in 05-summary-prefix by 'lib.*:'

libjail: start refactoring struct ioctl support
Instead of ad-hoc comparisons against the struct type in a few places,
start to abstract out an interface for dealing with struct types.  For
now, this just means that we have some special jailparam_import and
jailparam_export handling for the ip addr types, but in the next commit
we'll extend it further to support MAC labels.

Reviewed by:    jamie
Differential Revision:  https://reviews.freebsd.org/D53959
1af8d5652a01f79d055436c2ee83219700e7b16c Kyle Evans 2025-11-27 05:19:39

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

libjail: extend struct handlers to included MAC labels
MAC label handling is a little special; to avoid being too disruptive,
we allocate a `mac_t *` here for the value so that we can mac_prepare()
or mac_from_text() into.  As a result, we need:

 - A custom free() handler to avoid leaking the *jp_value
 - A custom jailparam_get() handler to mac_prepare() the mac_t and
    populate the iove properly, so that the kernel doesn't have to
    do something funky like copyin, dereference, copyin again.
 - A custom jailparam_set() handler to similarly populate the iovec
    properly.

Reviewed by:    jamie
Differential Revision:  https://reviews.freebsd.org/D53960
db3b39f063d9f05ee808b9c5a11146ed6810d857 Kyle Evans 2025-11-27 05:24:14

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

exterr: Regenerate exterr_cat_filenames.h
c527f58bb10b73a0e185f01b927f27bd21031709 Mark Johnston 2026-01-16 15:56:51

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

tdestroy: don't visit one-child node twice
Change tdestroy() to immediately free a node with no right child as
soon as it is encountered. Currently, such nodes are visited twice
before deletion.

Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D54699
988555e329d00a47c42e5e849e78c1b8e4ce2e17 Doug Moore 2026-01-16 22:26:09

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

libc: drop NO_FP_LIBC support
NO_FP_LIBC was added in 2004 to save space by disabling FP support in
*printf()/*scanf(). The size benefit is negligible on modern systems
and conflicts with assumptions made by current base utilities.

Remove the option and always build libc with floating-point support.

Reported by:    Oskar Holmlund <eovholmlund at gmail com>
MFC after:      2 weeks
8e6843db9bc5af14b0ee631081ecaf1f02ce821a Xin LI 2026-01-17 06:41:56

debug: classified in 05-summary-prefix by 'lib.*:'

Filesystems

nfsd: Fix handling of attributes during Open/Create/Exclusive_41
When an NFSv4.n client specifies settings for attributes other
mode during a Open/Create/Exclusive_41, these other attributes
were not being set.

This patch resolves the problem by calling nfsrv_fixsattr()
after the VOP_CREATE() call in nfsvno_open() for this case.

There is no extant NFSv4.n client that currently does this,
as far as I know.

MFC after:      2 weeks
4fc11c92d324c9099ecc28f25a96591a2ff6105c Rick Macklem 2026-01-15 23:27:22

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

Kernel

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

asmc(4): Stop building it on i386, as it supports only 64-bit chipsets
Reported by:    ngie
Fixes:          https://cgit.freebsd.org/src/commit/?id=fde9fe18219f ("i386: Fix kernel compilation after introduction of ASMC_DEBUG option")
Sponsored by:   The FreeBSD Foundation
8342d9f7b5f13d0623861cb8b88caf10a15571f6 Olivier Certner 2026-01-12 09:37:24

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

swap_release_by_cred*(): give some additional info on panics due to underflow
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54572
7361727d4584b5e303183c836497ae2754ce0e53 Konstantin Belousov 2026-01-02 09:31:54

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

rfork(2): fix swap accounting in vmspace_unshare()
When an attempt to increase the swap charge for the ucred failed, we
must forcibly increase the charge to allow the vmspace_destroy()
operation to correctly un-charge the accumulated objects.

Add a swap_reserve_force_by_cred() helper and use it in
vmspace_unshare(), same as it is done in normal fork operations.

Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54572
de770681234d001a1f4cdb8121179331dc3a2def Konstantin Belousov 2026-01-04 00:19:36

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

Commit group #7: vm_object: remove the charge member
vm_object: remove the charge member

State that the object charge is zero if object->cred == NULL, or equal
to the ptoa(object->size) otherwise.

Besides being much simpler, the transition to use object->size corrects
the architectural issue with the use of object->charge.  The split
operations effectively carve the holes in the charged regions, but
single counter cannot properly express it.  As result, coalescing
anonymous mappings cannot calculate correctly if the extended mapping
already backed by the existing object is already accounted or not [1].

To properly solve the issue, either we need to start tracking exact
charged regions in the anonymous objects, which has the significant
overhead and complications.  Or give up on the slight over-accounting
and charge the whole object unconditionally, as it is done in the patch.

Reported by:    mmel, pho [1]
Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54572
d160447129fe060b28bcd6ba429d17afdf494ff2 Konstantin Belousov 2026-01-03 09:34:23

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


vm_map_entry_delete(): fix the calculation of swap release

Reported and tested by: andrew
Fixes:  https://cgit.freebsd.org/src/commit/?id=d160447129fe060b28bcd6ba429d17afdf494ff2
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
acb71820d68bd0dd98964240727e251bc62c92de Konstantin Belousov 2026-01-13 16:22:48

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

crypto: Update sha256 and sha512 ifuncs to use passed HWCAP flags
Reviewed by:  andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54600
27083693955d563f836fd1b6b1bc4e1a249d3b6b Sarah Walker 2026-01-13 14:25:50

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

sdt: Fix the probe ID type in struct sdt_probe
This is supposed to be a dtrace_id_t, which is a uint32_t, while id_t is
a uint64_t.  sdt.h avoids depending on dtrace.h so we can't use
dtrace_id_t directly.

Bump __FreeBSD_version since the layout of structures in the SDT probe
linker set has changed.

Sponsored by:   NetApp, Inc.
Sponsored by:   Klara, Inc.
66eedcb0224df03e56513f3caf1df93a52b6a919 Mark Johnston 2026-01-13 15:35:05

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

LinuxKPI: include acpi headers for RISC-V
In order to compile iwlwifi(4), which is reported to work on RISC-V,
include the ACPI headers to avoid adding further FreeBSD-specific #ifdefs
to the driver.  With this iwlwifi(4) just compiles on RISC-V (at least
if ACPI support is turned off in the module Makefile).

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    emaste
Differential Revision: https://reviews.freebsd.org/D54692
c71f18998e0b107845f2b627861225bf6156cda6 Bjoern A. Zeeb 2026-01-13 20:39:49

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

LinuxKPI: pci: fix pcie_get_speed_cap()
pcie_get_speed_cap() has a hard coded skip of 3 devices at the
beginning.  It is either called on a pdev or on a result from
pci_upstream_bridge().  In the latter case skipping another three
devices might get us to acpi0 or nexus, neither of which is a
PCI device still and pci_get_vendor() will panic() on that.

Sponsored by:   The FreeBSD Foundation (commit)
GHI:            https://github.com/freebsd/drm-kmod/issues/393
MFC after:      2 weeks
Differential Revision: https://reviews.freebsd.org/D53862
fa24602ca6282d71c26079136a74b85824c0e63b Bjoern A. Zeeb 2025-09-17 23:37:02

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

Remove the DEBUG_VFS_LOCKS kernel option
After commit 3bd8fab2415b ("vfs: Move DEBUG_VFS_LOCKS checks to
INVARIANTS"), this option has no effect.  Let's finish the removal.

There are a couple of additional uses in zfs, I will submit a separate
patch upstream for them.

Reviewed by:    mckusick, kib
Differential Revision:  https://reviews.freebsd.org/D54662
9d015a916745e320aed50fc759f111fc7622e427 Mark Johnston 2026-01-15 13:50:20

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

Commit group #8: linuxkpi
linuxkpi: Fix an error path in linux_alloc_current()

If the allocation fails we should free the task struct.

While here get rid of a couple of unnecessary assertions.

Reported by:    Kevin Day <kevin@your.org>
Reviewed by:    emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54671
a4955b0143361900140df640d116891f047f5431 Mark Johnston 2026-01-15 13:50:43

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


linuxkpi: Avoid a potential null pointer dereference in an error path

Reported by:    Kevin Day <kevin@your.org>
Reviewed by:    bz, emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54672
aa1eb623389008c95b897976f4d28a7fe0acd93c Mark Johnston 2026-01-15 13:51:17

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


linuxkpi: Clean up linux_shmem_file_setup() a bit

- Free the pointer that was returned by the allocator, instead of the
  address of the first member.  These will be equal in practice, but
  it's sketchy and won't work on CHERI with subobject bounds checking.
- Use an anonymous struct, there's no need to name it.

Reviewed by:    bz, brooks, emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54673
251662e5abdd85f5a83766b400e23c2ac5597fb9 Mark Johnston 2026-01-15 13:51:29

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

linux: on vnet detach call clean_unrhdr(9) always
The assumption was incorrect, and the current VIMAGE implementation leaves
a possibility for some interfaces still exist in a jail that is going
away.

Fixes:  https://cgit.freebsd.org/src/commit/?id=607f11055d2d421770963162a4d9a99cdd136152
f9ae08a88924ba861ad0bb76f5a9a11fb44eced8 Gleb Smirnoff 2026-01-15 21:37:34

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

sockets: remove unused pr_sosend_notsupp(), pr_soreceive_notsupp()
51786cdeb07c26684c329624eb5af48562e615a0 Gleb Smirnoff 2026-01-15 21:57:31

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

kern: mac: add a MAC label to struct prison
Reviewed by:  olce
Differential Revision:  https://reviews.freebsd.org/D53953
11d6ea47f06a38f66536b173e85ddf2674da6aff Kyle Evans 2025-10-04 03:46:03

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

mac: add macros for 5-argument SDT probes
A last-minute change to the jail MAC entry points in D53954 is going to
pass the jail_[gs]et(2) flags to mac_prison_check_[gs]et() so that a
policy can, e.g., reject or allow a change if the intent is to
immediately attach, or disallow some fetching of dying jails.

Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D54658
92b7366e438d8422a9e453aed02ca365da25bf62 Kyle Evans 2026-01-11 17:12:49

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

kern: mac: add various jail MAC hooks
This adds the following hooks:
 - mpo_prison_check_attach: check for subject capability to attach to
    a given jail
 - mpo_prison_check_create: check for subject capability to create a
    jail with the given option set
 - mpo_prison_check_get: check for subject capability to fetch the
    given parameters for a jail
 - mpo_prison_check_set: check for subject capability to set the
    given parameters for a jail
 - mpo_prison_check_remove: check for subject capability to remove the
    jail

check_get wouldn't typically be a privileged operation, but is included
to give MAC policies a wider range of capabilities at a relatively low
cost.  We also add two more for the purpose of label propagation:
 - mpo_prison_created: surface the creation of a jail so that one can
    do propagation to, e.g., the root vnode or any mounts
 - mpo_prison_attached: attach an existing process to the jail so that
    one can propagate the jail label to the process, as appropriate.

It is unclear if this is preferred vs. having separate associate entry
points for each type of object we might associate.  That would split
these up like so:

 - prison_created -> prison_associate_vnode
 - prison_attached -> prison_associate_proc

Some sample policy ideas that should be feasible to implement with this
set of hooks, in case it's inspiring:
 - mac_bomb: policy that allows a poudriere user to construct jails
    without root privilege, given a restricted set of jail parameters.
    Slap a warning label on it.
 - mac_capsule: policy that realizes the capsule idea that I pitched[0]
    on -jail@ to create jails that are effectively immutable once
    sealed, using these hooks and a label.

Perhaps a silly idea, but a downstream could consider a scenario where
it can implement special jail enumeration using a MAC policy and a
cooperating application that specifies non-parameter options to filter
the results.

[0] https://lists.freebsd.org/archives/freebsd-jail/2025-September/000550.html

Reviewed by:    olce (slightly earlier version)
Differential Revision:  https://reviews.freebsd.org/D53954
8254b0dec02b376dae259cd2043513842d827bd8 Kyle Evans 2025-10-21 03:42:50

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

jaildesc: add an accessor for the struct prison in a jaildesc
We'll subsequently use this in the MAC framework to get a struct prison
when we already have the struct file in question, rather than an fd.

Reviewed by:    jamie, olce
Differential Revision:  https://reviews.freebsd.org/D53955
d7a517eb6d770e22db6a46a46677db27f565767c Kyle Evans 2025-10-26 01:42:30

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

mac_set_fd(3): add support for jail descriptors
We'll still add an old-fashioned jail param to configure jail MAC
labels, but for testing it's really easy to grab a jaildesc and use
that.

Reviewed by:    jamie, olce
Differential Revision:  https://reviews.freebsd.org/D53956
31c2728185d1705634ff84c93936a4c91a651b22 Kyle Evans 2025-10-26 01:57:33

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

kern: mac: pull mac_label_copyin_string out
A future commit to the area will further our jail integration and add
a use for this: the struct mac itself was already copied in as part of
vfs_buildopts(), so we only need to copyin the strings.

We add an explicit flag argument because the jail operation will need to
do it while holding the prison lock.

Reviewed by:    olce
Differential Revision:  https://reviews.freebsd.org/D53957
626fe12e2801a06c59eaa056ecf11f573e30ecbb Kyle Evans 2025-11-07 04:15:45

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

kern: add a mac.label jail parameter
Have it take a `struct mac` and we'll paper over the difference for
jail(8)/jls(8) in libjail(3).  The mac_syscalls.h model is taken from
mac_set_proc_*() that were previously done.

Reviewed by:    olce
Differential Revision:  https://reviews.freebsd.org/D53958
bd55cbb50c58876281f925cfd91961544f0153ad Kyle Evans 2025-11-07 04:19:31

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

Bump __FreeBSD_version for MAC changes
22569a1d80203bd4835a1d5d4660de5dbe334509 Kyle Evans 2026-01-16 09:06:38

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

vchiq: fix build with clang 21
When compiling vchiq with clang 21, the following -Werror warning is
produced:

    sys/contrib/vchiq/interface/vchiq_arm/vchiq_arm.c:728:27: error: default initialization of an object of type 'VCHIQ_QUEUE_MESSAGE32_T' with const member leaves the object uninitialized [-Werror,-Wdefault-const-init-field-unsafe]
      728 |                 VCHIQ_QUEUE_MESSAGE32_T args32;
          |                                         ^
    sys/contrib/vchiq/interface/vchiq_arm/vchiq_ioctl.h:151:40: note: member 'elements' declared 'const' here
      151 |         const /*VCHIQ_ELEMENT_T * */ uint32_t elements;
          |                                               ^

While the warning is formally correct, the 'args32' object is
immediately initialized after its declaration. Therefore, suppress the
warning.

MFC after:      3 days
b39662fc388678db2b7b5fa3c900205252d15b3b Dimitry Andric 2026-01-16 14:02:25

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

smp: add smp_rendezvous_cpu helper function
Reviewed by:    olce
Approved by:    markj (mentor)
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D54551
5b61ef94d65a3ddace0082ad31c5d74f62293af6 ShengYi Hung 2026-01-05 16:33:04

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

Initialize CLOCK_UPTIME for itmer events
Since we move to implement Linux's CLOCK_MONOTONIC with CLOCK_UPTIME, we
broke the some timer support for Linux. Fix this by initializing
CLOCK_UPTIME as a posix clock so we can use in that context.

PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292496
MFC After:              5 days
Fixes:                  https://cgit.freebsd.org/src/commit/?id=108de784513d
Sponsored by:           Netflix
Reviewed by:            kib
Differential Revision:  https://reviews.freebsd.org/D54746
689663d4654fd3a98a78c66ed99f7ed51164c771 Warner Losh 2026-01-16 21:16:42

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

sendfile: remove calculation of unused bsize
Reviewed by:  glebius, markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54713
3fe275c1ef45d452d1adc537b7ec1ca6444739ba Konstantin Belousov 2026-01-11 03:51:45

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

swap_pager_getpages(): assert that bp->b_pages[] is accessed in bounds
Reviewed by:  glebius, markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54713
b02ddb59e64620733a6cbc48fb1d0583a62fef78 Konstantin Belousov 2026-01-11 11:04:01

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

Commit group #9: swap_pager_getpages(): some pages from ma[] might be bogus
swap_pager_getpages(): some pages from ma[] might be bogus

Same as vnode_pager_generic_getpages_async(), swap_pager_getpages() must
handle a possibility of the provided page run to include bogus_page on
some positions, when called from sendfile_swapin().  The swap pager is
used for tmpfs vnodes.

In particular, the bogus page must not be used for pindex calculation,
we better not update the flags on it or wait for the flag clearing, and
we must not call vm_page_valid() because the function expects busy page.

This was bisected down to 72ddb6de1028426 (unix: increase
net.local.(stream|seqpacket).(recv|send)space to 64 KiB),
which is somewhat surprising, but apparently reasonable because it
allowed the run of more than one page for page-in from the swap pager,
which now might include valid pages replaced by bogus one.

In collaboration with:  pho
Reviewed by:    glebius, markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54713
d198ad51ea73bbb162336923a387f52b0b1c1f1d Konstantin Belousov 2026-01-13 13:35:28

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


vm/swap_pager.c: silence compiler warning

Initialize pindex in swap_pager_getpages_locked() before the loop
actually calculating it by skipping bogus pages.  Compiler is worried
that loop might never assign to it, which actually cannot happen.

Sponsored by:   The FreeBSD Foundation
Fixes:  https://cgit.freebsd.org/src/commit/?id=d198ad51ea73bbb162336923a387f52b0b1c1f1d
MFC after:      1 week
325baf00735756d024b903bfcee50b4f09e90129 Konstantin Belousov 2026-01-17 03:30:09

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

Commit group #10: aq: Add to amd64 GENERIC and to sys/conf/NOTES
aq: Add to amd64 GENERIC and to sys/conf/NOTES

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D54633
c75eff16ef54aaae7b5dc52ed894cc73a855f469 Brad Smith 2026-01-17 03:23:19

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


aq: remove from NOTES; it's unfortunately amd64 only

Unfortunately the aq driver is using readl/writel calls instead
of bus space routines.

This broke, well, everything else.
Fixes:          https://cgit.freebsd.org/src/commit/?id=c75eff16ef54aaae7b5dc52ed894cc73a855f469
afbb21bd1d6261a00b078c0847d5ecc8863585b7 Adrian Chadd 2026-01-17 04:59:34

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

Build system

Commit group #11: src.opts: Introduce MK_SOUND
src.opts: Introduce MK_SOUND

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291853
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    zarychtam_plan-b.pwste.edu.pl, markj
Differential Revision:  https://reviews.freebsd.org/D54456
f74f891581bc4df20431607de9b761107f6a0aa7 Christos Margiolis 2026-01-12 14:16:35

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


build: Remove duplicate SUBDIR entries

Fixes:  https://cgit.freebsd.org/src/commit/?id=f74f891581bc ("src.opts: Introduce MK_SOUND")
cf34eb8264954a8fd1e92081bcf67719bddbc2aa Mark Johnston 2026-01-12 16:05:40

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


libexec/rc/rc.d/Makefile: Remove duplicate mixer entry

Fixes:          https://cgit.freebsd.org/src/commit/?id=f74f891581bc ("src.opts: Introduce MK_SOUND")
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292436
Sponsored by:   The FreeBSD Foundation
MFC after:      4 days
Reviewed by:    ivy, emaste
Differential Revision:  https://reviews.freebsd.org/D54706
37164224eefd11278b0203e1367e1d9d1454da3f Christos Margiolis 2026-01-15 17:53:55

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


virtual_oss: Take MK_CUSE into account

Reported by:    brooks
Fixes:          https://cgit.freebsd.org/src/commit/?id=f74f891581bc ("src.opts: Introduce MK_SOUND")
Sponsored by:   The FreeBSD Foundation
MFC after:      4 days
Reviewed by:    brooks, emaste
Differential Revision:  https://reviews.freebsd.org/D54708
241a43cf9da8933f500e7d0df7fff621fd52168c Christos Margiolis 2026-01-15 17:54:22

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

bpf/tests: Run tests in an execenv jail
Otherwise the tests cannot be run in parallel since they create
identically named jails.

Fixes:  https://cgit.freebsd.org/src/commit/?id=dd49816b0d66 ("bpf: avoid panic on multiple readers")
32ec9d87ce9e6328408036af921369b7bf30f00c Mark Johnston 2026-01-12 15:27:26

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

mca(4): Add man page
Reviewed by:  markj
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D54115
9c4a41d33b4620c46e2aa7d403ac49caf4b5d7b9 Jonathan T. Looney 2025-12-07 00:16:39

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

modules: factor out LinuxKPI based wireless drivers and add RISC-V
The LinuxKPI based wireless drivers are currently limited to amd64 and
arm64 (and until cleaned up i386).  Adding RISC-V now as we have a
report that iwlwifi(4) works on RISC-V [1]. Factor the LinuxKPI based
wireless drivers out into their own block.

Given RISC-V has no ACPI support yet (though we fixed #includes in
order to keep compiling the drivers without further modifications
where possible) we need to take care of rtw89 which fails to compile
without ACPI enabled.  A quick check at the Linux build files indicates
that the depenency is not correctly recorded there either.  Disable
compiling rtw89 without ACPI (on RISC-V) for the moment until this is
fixed.

[1] https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=5947+0+archive/2026/freebsd-wireless/20260112.freebsd-wireless

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    emaste
Differential Revision: https://reviews.freebsd.org/D54693
4162a419a475089c8a3d2350de40c58b023e9288 Bjoern A. Zeeb 2026-01-13 21:05:05

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

Commit group #12: iwlwifi/rtw89: improve module Makefile dependency on ACPI
iwlwifi/rtw89: improve module Makefile dependency on ACPI

In order to compile iwlwifi(4) and rtw89(4) on RISC-V [1] make the
currently manually tracked ACPI support option automatic based on
DEV_ACPI.
rtw89(4) is missing proper CONFIG_ACPI checks in the driver (or the
mandatory dependency on ACPI) even upstream it seems.  We just added
that check to the modules/Makefile until this is fixed.

[1] https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=5947+0+archive/2026/freebsd-wireless/20260112.freebsd-wireless

Sponosred by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    emaste
Differential Revision: https://reviews.freebsd.org/D54694
f5a77dc8f8df09a907c2a2bdf86802513b1ebb15 Bjoern A. Zeeb 2026-01-13 21:09:51

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


modules: iwlwifi/rtw89 allow standalone build

The KERN_OPTS:MDEV_ACPI checks are fine for as long as we are building
modules along the kernel.  If one wants to just build the module
standalone out of the module directory this would fail.
Add the missing include for kmod.opts.mk (as was done for tcp
in 1319a76179682).

Sponsored by:   The FreeBSD Foundation
Reported by:    Tassilo Philipp (tphilipp potion-studios.com)
Fixes:  https://cgit.freebsd.org/src/commit/?id=f5a77dc8f8df ("improve module Makefile dependency on ACPI")
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D54769
0f0b833e4db6d450b39de0365b657936f5a6993b Bjoern A. Zeeb 2026-01-18 21:45:40

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

Commit group #13: virtual_oss
virtual_oss: remove needless .include in intermediate Makefile

It doesn't define anything we use.

Reviewed by:    christos
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54702
497a13601fb74c264e28eff7cd3f9ac74f0f212b Brooks Davis 2026-01-16 09:33:22

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


virtual_oss: build commands/libs in parallel

Reviewed by:    christos
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54703
adab1dd6a70e9f2d7ac4500b186e7231afd02e04 Brooks Davis 2026-01-16 09:33:50

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


virtual_oss: build system tidying

general:
 - find libsamplerate's headers in the temporary sysroot instead of
   digging in the source tree.
 - use LIBADD where possible

lib/virtual_oss:
 - centralize SHLIBDIR define
 - centralize include path for internal headers
 - don't try to find libsamplerate directly in .OBJDIR

No functional changes.

Reviewed by:    christos
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54704
373c72ad5044d5f84b7f3fa169d37e7214729f74 Brooks Davis 2026-01-16 09:33:56

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

lib/virtual_oss: don't (over)link to libsamplerate
These plugins require samplerate.h due to virtual_oss's int.h including
it, but don't use any symbols directly so don't link to the library.

Centralize adding the include path.

Reviewed by:    christos
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54705
d78291b0e9736f39f22c55c163978c1b92e601e4 Brooks Davis 2026-01-16 09:34:18

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

exterr: Sort output from make_libc_exterr_cat_filenames.sh
Otherwise the script may permute the order of entries in the file since
find(1) output is not stable.

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54669
bda6ed2ee4d8e836b1b2f8ca7a6ed72034e5f231 Mark Johnston 2026-01-16 15:56:09

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

Internal organizational stuff

CODEOWNERS: Better reflect current #bhyve
So as a proof of concept, sync the info we have with the #bhyve
phabricator group. This is imperfect, but will help test out providing
better feedback to diff submitters.

Sponsored by:           Netflix
0b908de1d01aa32daf71e8d691d79e490178097c Warner Losh 2026-01-12 00:46:53

debug: classified in 03-filenames_plain1 by '.github/'

github: Add more context to pull requests
Add code to fetch and decode CODEOWNERS and automatically @ people in
the review.

Create a new file, .github/path-rules.txt that has a set of paths to
match and specific warnings about that part of the tree. We'll use this
to try to wave off pull requests in certain areas of the tree, as well
as remind people when contrib is involved, etc.

Sponsored by:           Netflix
7f8b4db9e001d94974a081e5fd58c4f3994429cb Warner Losh 2026-01-10 16:20:20

debug: classified in 03-filenames_plain1 by '.github/'

MAINTAINERS/CODEOWNERS: Add ziaee to mandoc + man/
If you tag me on manual reviews, I will help you. I'm very intersted in
helping keep things standard and predictable across the manual. As these
files say, this is not intended to imply any desire for blocking.

MFC after:      3 days
2fb7c416c866436cc335baf80c1fc0466ffc7d22 Alexander Ziaee 2026-01-12 14:22:50

debug: classified in 03-filenames_plain1 by '['.github/', 'MAINTAINERS']'

MAINTAINERS/CODEOWNERS: Fix intro wrap + gitadm
+ svnadmin has apparently been superceeded by gitadm@
+ fix intro prose wrapping to be consistent at 72 for trad console

MFC after:      3 days
7ff1d2be5dc2384562bb755f9c0e4c0e37ee1e73 Alexander Ziaee 2026-01-12 14:30:29

debug: classified in 03-filenames_plain1 by '['.github/', 'MAINTAINERS']'

committers-src: Add myself (pouria@)
Add myself (pouria@) as new src committer with glebius@ as mentor

Reviewed by: glebius
Approved by: glebius (mentor)
Differential Revision: https://reviews.freebsd.org/D54637
17046bc48207733f5add478dd7713878f9d30923 Pouria Mousavizadeh Tehrani 2026-01-12 11:11:11

debug: classified in 03-filenames_plain1 by '['.mailmap', 'share/misc/committers-src.dot', 'usr.bin/calendar/calendars/calendar.freebsd']'

committers-src.dot: Fix dot file format
Reviewed by: glebius
Approved by: glebius (mentor)
Fixes: https://cgit.freebsd.org/src/commit/?id=2059040493fb3f76cd1f06350fd4534a71a1f83c
Differential Revision:  <https://reviews.freebsd.org/D54637>
742d93da842afa34c5268e96c6a3f95ad44ae770 Pouria Mousavizadeh Tehrani 2026-01-12 21:51:21

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

CODEOWNERS: add @fuz for libc/string
Approved by:  markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D54664
c1d7c957895e3cd3ffa6669352bb809a8fc5f78e Robert Clausecker 2026-01-12 07:25:42

debug: classified in 03-filenames_plain1 by '.github/'

CODEOWNERS: Add jlduran as a blocklist CODEOWNER
Reviewed by:  emaste
Differential Revision:  https://reviews.freebsd.org/D54696
fd26fb8987f7f6d40ecac689476062aa95f12379 Jose Luis Duran 2026-01-14 17:03:10

debug: classified in 03-filenames_plain1 by '.github/'

committers-src: add myself (js@) with asomers as mentor
Reviewed by:  asomers
Approved by:    asomers (mentor)
Differential Revision:  https://reviews.freebsd.org/D54715
5d844f004f85f719e5dec59190f717ae293bd079 Johan Söllvander 2026-01-15 08:05:45

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

.github: Narrow sys/crypto warning to sys/crypto/skein
This is the only subdirectory of sys/crypto that is a vendor import.

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D54719
4ba8df2a8bb9397e922b07c8e9610d1a8f0d8ee0 John Baldwin 2026-01-15 18:23:07

debug: classified in 03-filenames_plain1 by '.github/'

CODEOWNERS: register interest in some infrastructure
a01a4c0730c50671565ea97ff3ae76e1a6503853 Brooks Davis 2026-01-16 09:43:12

debug: classified in 03-filenames_plain1 by '.github/'

committers-src: add myself (siva@)
Reviewed by:          lwhsu
Approved by:            lwhsu (mentor)
Differential Revision:  https://reviews.freebsd.org/D54744
33f2f3049ad6f240bf67b3b1db547d58297065f6 Siva Mahadevan 2026-01-16 18:22:32

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

mailmap: translate siva@'s personal email
Reviewed by:          lwhsu
Approved by:            lwhsu (mentor)
Differential Revision:  https://reviews.freebsd.org/D54744
1d819aad17dbad16d64cb691e680bc16bc15158b Siva Mahadevan 2026-01-16 18:23:09

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

Testing

grep/tests: Fix up the zgrep executable path in a newly added test
Fixes:        https://cgit.freebsd.org/src/commit/?id=da5d94d29a5e ("Remove obsolete BUGS section from zgrep(1) man page, add test")
045112f148fa092c92ec53204708f638b226ff8f Mark Johnston 2026-01-12 13:56:56

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

etcupdate: tests: Fix tests
Fix test login.conf files and update their MD5 checksums.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291649
Reviewed by:    imp
Fixes:          https://cgit.freebsd.org/src/commit/?id=54ce6b2c4c16 ("login.conf.5: Remove mention of login copyright setting")
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1962
b0c2236f0390ac4a04da2c4b9cd5ecd6bd80d53c Jose Luis Duran 2026-01-12 05:09:28

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

Commit group #14: tarfs: tests: Increase timeout (again)
tarfs: tests: Increase timeout (again)

Bump the timeout value (a little more), to avoid cutoff on emulated
architectures on ci.freebsd.org.

Reported by:    Jenkins
Fixes:          https://cgit.freebsd.org/src/commit/?id=47015e454661 ("tests: Increase timeout")
MFC after:      3 days
a551b0524953cbfa4f1035c6d968623e64f4436a Jose Luis Duran 2026-01-12 18:15:10

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


tarfs: tests: Increase timeout (again 2)

Bump the timeout value (for the third time), to avoid cutoff on emulated
architectures on ci.freebsd.org.  One of the runners will take
considerably more time to complete this test.

Reported by:    Jenkins
Fixes:          https://cgit.freebsd.org/src/commit/?id=a551b0524953 ("tarfs: tests: Increase timeout (again)")
MFC after:      3 days
a4f0a60e05293f3f517324f3ebc41046a79a9feb Jose Luis Duran 2026-01-14 17:48:43

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

pfctl tests: basic source and state limiter tests
Sponsored by: Rubicon Communications, LLC ("Netgate")
445a3c86e674800f70fce6d8f2038f09deee37cf Kristof Provost 2026-01-07 15:20:21

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

Commit group #15: pf tests
pf tests: basic state limiters test case

Sponsored by:   Rubicon Communications, LLC ("Netgate")
a10e8e78c8d0c459510e89d728a6d59343ee9def Kristof Provost 2026-01-06 14:13:07

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


pf tests: state limiter rate test

Sponsored by:   Rubicon Communications, LLC ("Netgate")
cb7a5d9401d83e817e187099ed187eb2f5360f22 Kristof Provost 2026-01-07 15:46:34

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


pf tests: basic source limiters test case

Sponsored by:   Rubicon Communications, LLC ("Netgate")
086a3cb4b850184448f0f127ddd8f875a3070164 Kristof Provost 2026-01-07 17:06:55

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


pf tests: extend the source limiter test

Also enumerate and kill individual source addresses.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
e3319f91900b7184c0f9f33a24e3fb4440324fce Kristof Provost 2026-01-08 17:37:27

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

pf tests: test block/no-match limiters
Sponsored by: Rubicon Communications, LLC ("Netgate")
098febfcc1559950ebe49e106f25851e7706a018 Kristof Provost 2026-01-13 08:54:28

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

tests/if_ovpn: add missing cleanup to the multihome6 test
77f453e9f9cafaf5e787c5bfd29966066d6b9dc3 Gleb Smirnoff 2026-01-15 21:40:33

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

tests/ipfw: add a simple fuzzing test for ipfw tables
Reviewed by:          pouria, ae
Differential Revision:  https://reviews.freebsd.org/D54579
7eac31c83ee3fca6a2c19ee0aa21a310e0050f51 Gleb Smirnoff 2026-01-17 00:38:41

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

tests/ipfw: add a test for ipfw(4) log rules that write to bpf(4)
35caa56a329deb0d13aa48ea1a6f7c1d5ebdb073 Gleb Smirnoff 2026-01-17 01:46:02

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

pflog: tests: Fix rdr_action_head()
Fix a typo in the rdr_action_head() test.

Fixes:          https://cgit.freebsd.org/src/commit/?id=685fb4253819 ("pf: Log the intended action when a NAT rule matches a packet")
MFC after:      1 week
964d91ee1d7a1405383aeb4fce72c4e3bc80af35 Jose Luis Duran 2026-01-17 23:30:33

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

Style, typos, and comments

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

aq(4): style(9) cleanup
668423f75b4d9006f16847b415c861defb8267d7 Ed Maste 2026-01-07 16:16:45

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

sockstat: improve formataddr() according to style(9)
Reviewed by:  des
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D54412
f89f7e58ba1d54c6a683e3cc899938895496c088 Michael Osipov 2025-12-29 21:31:49

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

nanobsd: Fix typos
MFC after:    1 week
4cd4ccb8e2c032a9db65e37dcf5e3237e08e41bf Jose Luis Duran 2026-01-17 18:11:19

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

rockship: Fix a typo in a source code comment
- s/vaues/values/

MFC after:      5 days
cabb5add07a60c146698d09759445276aa96757a Gordon Bergling 2026-01-17 18:38:53

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

netpfil/ipfw: Fix a typo in a source code comment
- s/vaues/values/

MFC after:      5 days
9be9ab2a242080dea6254e187cf211604170de07 Gordon Bergling 2026-01-17 18:39:55

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

netstat: fix typo
MFC after:    3 days
0ef8f7133d0f1ee28af1689f013f18e002eeae9f Michael Tuexen 2026-01-18 12:26:52

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

Contrib code

ncurses: merge update to ncurses 6.6
6.6 is ABI compatible with 6.5 (tested with abidiff)
Remove html documentation to ease updates

MFC After:      1 month
68ad2b0d7af2a3571c4abac9afa712f9b09b721c Baptiste Daroussin 2026-01-14 13:48:32

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

nvi: import version 2.2.2
52d19df19ed6455df025f7ac2c6cf5db7df8e5ec Baptiste Daroussin 2026-01-14 15:22:35

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

Reverted commits

-- no commits in this category this week --

Unclassified commits

Not classified automatically, and waiting for manual attention.

-- no commits in this category this week --

Technical notes

Dates:

Automatic grouping:

Automatic categories:

Source code:


Generated with commits-periodical 0.20 at 2026-01-26 19:07:09+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2026-01-12 (release)