FreeBSD git weekly: 2026-02-09 to 2026-02-15

Introduction

This is a display of mostly-automatically-classified git commits from 2026-02-09 to 2026-02-15.

Table of contents and commits per category:

(4) Highlighted commits (these are copies, not in stats)
12 6.6% Userland programs
11 6.0% Documentation
55 30.1% Hardware support
16 8.7% Networking
7 3.8% System administration
7 3.8% Libraries
1 0.5% Filesystems
30 16.4% Kernel
7 3.8% Build system
8 4.4% Internal organizational stuff
8 4.4% Testing
4 2.2% Style, typos, and comments
15 8.2% Contrib code
2 1.1% Reverted commits
0 0.0% Unclassified commits
183 100% total
Technical notes about this page

Highlighted commits

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

aw_mmc: Reset card
On H616 (and I think H6, but this isn't verified) we need to reset the
card to have a functioning device.

With this commit all my pending patches for H616 are in tree. We run
well on my test device (Orange Pi Zero3), however there is an
uninvestigated issue with ethernet and graphics are an open question.

Reviewed by:    manu, adrian
MFC After:      1 week
Relnotes:       yes
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D55097
ec5d4664915f51ae62daec09fa4f9765c969adab Tom Jones 2026-02-09 15:48:24
sys/netinet6: switch net.inet6.ip6.use_stableaddr to on by default
This change switches to using RFC 7217 algorithm as the default to
generate SLAAC addresses for IPv6 interfaces configured with
accept_rtadv.

Reviewed by:            pouria, glebius, zlei
Approved by:            zlei
Relnotes:               yes
Differential Revision:  https://reviews.freebsd.org/D55138
a2eb0894b79bd0241e51c6888a52bea369ae8a6a Guido Falsi 2026-02-09 20:27:15
hwpstate_amd(4): 'epp' sysctl leaf to operate on real EPP hardware values
We were using percents, for compatibility with hwpstate_intel(4), but
this looses granularity that might be important in some scenarios or
with specific CPU models.

For consistency, hwpstate_intel(4) should be changed accordingly, at the
expense of breaking compatibility.

For release notes: Introduction of hwpstate_amd(4) deserves a release
note, even if the original commit was not tagged.  Functionality
introduced by recent commits tagged with "Relnotes" should be mentioned
along that one.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292615
Reviewed by:    aokblast
Relnotes:       yes
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D55009
951788e3733e415ca4721c0a63454937dcb29b2c Olivier Certner 2026-01-27 11:44:29
hwpstate_amd(4): Add knobs to get/set all fields of CPPC_REQUEST
This will allow experimentations and finer-grained tuning to the full
extent allowed by the hardware, which is especially important given that
the spec leaves to hardware implementors an important leeway in
interpreting CPPC's numeric parameters, causing the same settings to
have different effects on different CPU models.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292615
Reviewed by:    aokblast (older version)
Relnotes:       yes
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D55010
7689e68506a900de4ba79924d781f092bb9d0335 Olivier Certner 2026-01-27 12:39:40

Userland programs

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

chio: Add SPDX-License-Identifier tags
Some BSD-4-Clause files under bin/chio were missing the
SPDX-License-Identifier-tag.

Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55193
b6824fe48e4197877f472268859ffe80d7fd946b Tuukka Pasanen 2026-02-09 07:47:08
pwd: Clean up and adopt POSIX semantics
According to POSIX, the default should be -L.  Based on code history,
whoever first wrote BSD pwd(1) could not figure out how to implement
-L and therefore made -P the default (and only) option. Support for -L
was later added, but the default was never changed.

Clean up the code, make -L the default, and rewrite getcwd_logical() to
reject paths that contain dot or dot-dot, as required by POSIX.

MFC after:      1 week
Reviewed by:    olce
Differential Revision:  https://reviews.freebsd.org/D55146
2df923c5d2d02350abc29f61b603c5b9615b225c Dag-Erling Smørgrav 2026-02-10 14:29:04
pwd: Error out if writing to stdout failed
POSIX requires us to print a diagnostic and return a non-zero exit
code if writing to stdout failed.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D55227
5b398611607b0dab2f2550ef73f62d41dab6fac5 Dag-Erling Smørgrav 2026-02-11 02:06:41
cp: Expect EINTR while copying
Both copy_file_range() and copy_fallback() can be interrupted before
they have read anything at all, in which case they return -1 and set
errno to EINTR.  If that happens, we should retry, not fail.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293028
MFC after:      1 week
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D55167
7aa30669d6e04444b8ad1e4863a6e674fcac4afc Dag-Erling Smørgrav 2026-02-11 16:24:46
install: Expect EINTR while copying
Both copy_file_range() and read() / write() in our fallback loop can be
interrupted before copying anything at all, in which case it returns -1
and sets errno to EINTR.  If that happens, we should retry, not fail.

While here, drop the size argument from copy() (we always want to copy
the entire file anyway) and add test cases which exercise the metalog
and digest functionality.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293028
MFC after:      1 week
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D55168
0fb940fd63dd9b6d6b848421c53b1e9ac8387265 Dag-Erling Smørgrav 2026-02-11 16:24:50
diff: Improve directory loop detection
When we're done processing a directory, remove its entry from the tree
of visited inodes, ensuring that we only report a loop when we encounter
a descendant-to-ancestor link, not when we encounter a cousin-to-cousin
or sibling-to-sibling link.

MFC after:      1 week
Reported by:    Bakul Shah <bakul@iitbombay.org>
Sponsored by:   Klara, Inc.
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D55248
71569594d860a59d8362770a56d806e1d31fb946 Dag-Erling Smørgrav 2026-02-11 16:24:54
ls: check fts_children() for errors that may not surface otherwise
In particular, if one simply does a non-recursive `ls` on a directory
that is not accessible, there are some classes of errors that may cause
it to fail that wouldn't be surfaced unless we do an fts_read() that
will recurse into the inaccessible directory.  Catch those kinds of
errors here since we cannot expect to an FTS_ERR/FTS_DNR entry to follow
up on them.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287451
Reviewed by:    kib
Discusssed with:        des
Differential Revision:  https://reviews.freebsd.org/D51056
7bf81e39d83087dc7f984077b5eed5a48df794d4 Kyle Evans 2026-02-11 19:55:55
diff3: fix diff3 -A
for cases where file2 differs but file1 and file3 agrees, the code
stored the file2 and file3 line numbers in the de[] editing script
entries but used them as if they were file1 line numbers.

Reviewed by:            thj
Differential Revision:  https://reviews.freebsd.org/D55276
8d442cf32e4fb29fbb85090ac29d32d1e30fd824 Baptiste Daroussin 2026-02-13 08:33:17
Commit group #0: diff3: fix merge mode
diff3: fix merge mode

Make the merge mode compatible with GNU diff3
Add tests for all the changes, those tests are extracted from the
etcupdate testsuite.

This version passes the etcupdate testsuite and the diffutils diff3
test suite.

MFC After:      1 week
2cfca8e710f260b8a1bb1ee5e1836a52e468ef4b Baptiste Daroussin 2026-02-13 16:10:44

diff3: add 3 missing files from the testsuite

Fixes:  https://cgit.freebsd.org/src/commit/?id=2cfca8e710f260b8a1bb1ee5e1836a52e468ef4b
284a0aa96eb63f12831a9e06514a50b2cd80957f Baptiste Daroussin 2026-02-13 17:45:39
diff: Tweak range of -C and -U arguments
POSIX uses the terms “positive decimal integer” for -C and “non-negative
decimal integer” for -U, which translates into lower bounds of 1 for -C
and 0 for -U.

POSIX does not specify a minimum upper bound for either mode, but as of
5fc739eb5949 both our backends support context sizes up to and including
INT_MAX, so use that.

Having had the opportunity to consult the Unix System Test Suite, the
diff test cases found therein happen to precisely match these bounds.

While here, switch to using strtonum() to parse numerical arguments, and
try to be more consistent in how we report usage errors.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D55261
790f1d1cc5fa892ba59fd7f239b22064c8ab14c7 Dag-Erling Smørgrav 2026-02-13 20:18:24
timeout: Clean up
* Annotate logv() and fix format string bug.

* Don't reinvent str2sig(3).

* Reorganize kill_self() so we unblock signals as late as possible, and
  use raise(2) instead of kill(2).

* Explicitly close unused pipe descriptors.

* Use correct type to collect result of read(2) and write(2).

* Compare return values to 0, not -1.

* Sort local variables according to style(9).

* Reduce unnecessary nesting.

* Reindent.

* Fix typo in manual page.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D55277
08208cd694815cc855835960f55231342eb35934 Dag-Erling Smørgrav 2026-02-13 20:18:35

Documentation

Man pages, release notes, etc.

RELNOTES: Add some entries for recent commits
Reviewed by:  olce, jhb
Differential Revision:  https://reviews.freebsd.org/D55150
997bfa20d2716e4bae94ab7089ec970b8d884376 Mark Johnston 2026-02-09 18:35:33
ifconfig.8: Start new sentence on new line
This change was forgotten by me in the previous commit to this file.

Reported by:    kib
Approved by:    implicit (change omitted from previous commit)
Fixes:          https://cgit.freebsd.org/src/commit/?id=31ec8b6407fdd5a87d70265762457c67ce618283
e912723afb4e6bcfa828fcb73f35cd82fc6bca68 Guido Falsi 2026-02-09 20:04:01
git-arc.1: Fix patch options
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D55228
69c64e3fb575e0db0e2f0c1fc56f466624940ded Joseph Mingrone 2026-02-10 18:31:04
pw: make manual page more friendly for uid/gid search
pw.8 structure is quite different from usual manual page, especially in
describing -o option usage.  Specifically, these paragraphs do not
contain "uid/gid" terms, and have "user id"/"group id" instead,
making searching for "override duplicate safety belt" difficult.
Try to simplify such searches.

Also, clarify uid/gid space between 100 and 1000 as "somewhat special",
as it actually is.

Discussed on:   russian telegram FreeBSD group
Reviewed by:    eugen, novel
MFC after:      1 week
e89454417b2bfecce9daee10dece2f49632640d3 Dmitry Morozovsky 2026-02-11 19:34:00
pw.8: spell
66797b469ee3e303c5e228bea1e244f433e666e1 Maxim Konovalov 2026-02-11 21:03:11
sbin/setkey/setkey.8: cleanup groff mdoc warnings
PR:   https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293072
Sponsored by:   NVidia networking
MFC after:      3 days
c67d8acca30e9f96f0a56f197003d0a4c663a060 Konstantin Belousov 2026-02-12 07:43:46
lib/libc/net/sockatmark.3: fix groff mdoc warning
PR:   https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293072
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
10fde719587c22085c95759a242e9c51d249d024 Konstantin Belousov 2026-02-12 07:56:42
newsyslog.conf.5: Add a CAVEAT
PR:                   https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282639
MFC after:              3 days
Reviewed by:            michaelo
Differential Revision:  https://reviews.freebsd.org/D55122
64e612b46290617ec753b4ee6ec633a3724940e3 Alexander Ziaee 2026-02-12 14:14:47
Summary: *.3: misc man page fixes
Approved by:  markj (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D55249
8efcc64928f96bb26a58ec04750688110502227f Robert Clausecker 2025-12-01 15:19:33
src.conf.5: regenerate after switch to BSD diff3
06d07d4af1c9f9ea322b9363d1c8e70e250a7907 Baptiste Daroussin 2026-02-13 17:44:26
multicast.4: Fix disabling multicast forwarding
Reviewed by: markj, glebius
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D55266
f2c2e5b0bf9def01b10651b9802fa38d07d9d265 Pouria Mousavizadeh Tehrani 2026-02-12 23:06:15

Hardware support

Hardware drivers and architecture-specific code.

x86: Note that trapframe is used by kernel debuggers
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: kib
MFC after:      1 week
Differential Revision: https://reviews.freebsd.org/D55189
2088e742013bb1b9ca237a79767362efe92d9da8 Minsoo Choo 2026-02-09 01:21:00
aw_rtc: Add H616 compat string
Reviewed by:  manu
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54908
063244ff95a2fd62054725d59f3856645f539dea Tom Jones 2026-02-09 10:04:38
aw_mmc: Add H616 mmc and emmc config
Reviewed by:  manu
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54909
998c46ac2afb99bb17d9399bb8e897e8d621d6d4 Tom Jones 2026-02-09 10:05:10
aw_cir: Add H616 compat string
Reviewed by:  manu
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54910
5e51e670cc3bf670240a0d9b919b92f9bccb955e Tom Jones 2026-02-09 10:05:19
aw_rsb: Add H616 compat string
Reviewed by:  manu
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54911
c5c183a97dc18951a90af79ee0e7e4a1f8662d06 Tom Jones 2026-02-09 10:05:26
aw_usbphy: Add H616 compat string and configuration
Reviewed by:  manu
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54912
84bc16a587fe69eaf50b6b012c5781f99a14c449 Tom Jones 2026-02-09 10:05:41
aw_wdog: Add support for H616
Reviewed by:  manu
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54913
ccb0e6e15f3dd00288d1823ffaf6920916ae457c Tom Jones 2026-02-09 10:05:46
a10_twsi: Add H616 compat string
Reviewed by:  manu
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54914
20615f714b5095a212dba63b803ffbdb13f90d7a Tom Jones 2026-02-09 10:06:03
aw_sid: Add H616 configuration and compat string
Reviewed by:  manu
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54916
8923d1c9e25c5bc29d13edf8a55ae6b6b8bd9f6e Tom Jones 2026-02-09 10:06:37
aw_ccu: Add clocks for H616
Reviewed by:  manu, adrian
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54927
245cdec79249957e318dac21f9208a9117a98f31 Tom Jones 2026-02-09 10:06:53
if_awg: Add H616 compat string
Reviewed by:  manu
Sposored by:    The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54907
f8a3876e90d0bd7250664ccce36b485a91f4c51c Tom Jones 2026-02-09 10:28:18
aw_mmc: Reset card
On H616 (and I think H6, but this isn't verified) we need to reset the
card to have a functioning device.

With this commit all my pending patches for H616 are in tree. We run
well on my test device (Orange Pi Zero3), however there is an
uninvestigated issue with ethernet and graphics are an open question.

Reviewed by:    manu, adrian
MFC After:      1 week
Relnotes:       yes
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D55097
ec5d4664915f51ae62daec09fa4f9765c969adab Tom Jones 2026-02-09 15:48:24
sdhci_fdt_rockchip: Move ofw_bus_status_okay check
This fixes a warning from GCC:

sys/dev/sdhci/sdhci_fdt_rockchip.c: In function 'sdhci_fdt_rockchip_probe':
sys/dev/sdhci/sdhci_fdt_rockchip.c:120:14: error: statement will never be executed [-Werror=switch-unreachable]
  120 |         if (!ofw_bus_status_okay(dev))
      |              ^~~~~~~~~~~~~~~~~~~~~~~~

Reviewed by:    bnovkov, imp, emaste
Differential Revision:  https://reviews.freebsd.org/D55158
efdd30c94e0ac4007b52b6f40afdab52fecf2aa5 John Baldwin 2026-02-09 16:27:04
sdhci_fdt_rockchip: Don't return 0 from probe routine
The only write to the softc is a no-op (softcs are initialized to all
zeroes), so remove that and just use BUS_PROBE_DEFAULT.

Reviewed by:    bnovkov
Differential Revision:  https://reviews.freebsd.org/D55159
3f18463745c9c75e1fdcfacc710799838ef5c9d9 John Baldwin 2026-02-09 16:27:23
arm64: Move creating the ID register views earlier
These are needed when enabling CPU features so should be processed
earlier in the boot.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D55103
0ea31fe851344af022103fa81dcdf00ef0dddc1d Andrew Turner 2026-02-09 17:24:26
arm64: Panic if the ID register isn't known
This will allow for callers to be simplified & not need to check the
return status.

Keep the return type for now so this can be MFCd without breaking the
KBI.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D55104
3b0b6aa2cd05b516ecf4b72f9a3c2aadddf3c94e Andrew Turner 2026-02-09 17:24:27
arm64: Have get_kernel_reg return void
It now panics when it's unable to find the register, so doesn't need
to return a status.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D55106
1c41e411b5545a9e68f83b445f67030cb0e79010 Andrew Turner 2026-02-09 17:24:28
amd64: define and use STACKALIGN and REDZONE_SZ
Reviewed by:  brooks, emaste, jhb
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55151
97ce8f7d2b8eff42460f60e8c49d9849b58b6e81 Konstantin Belousov 2026-02-07 00:36:44
ahci: Restrict NVMe redirection by BAR size
Attempts to access vendor-specific registers on emulator of older
Intel hardware was reported to confuse one.  Since the redirection
obviously require BAR size bigger than normal 2KB of AHCI, add
the condition, similar to what Linux is doing.

Requested by:   kib
MFC after:      2 weeks
b9d3945831fc7a60f2065c7a0afc747dc5653c9f Alexander Motin 2026-02-09 19:23:26
amd64/acpica/acpi_wakeup.c: do not store to WARMBOOT_OFF in efi_boot case
Split acpi_wakeup_cpus() into acpi_wakeup_cpus_bios() and
acpi_wakeup_cpus_efi().  The former needs to manipulate zero page and
CMOS state, the later does not.

Referenced commit left the write to WARMBOOT_OFF in case of
acpi_wakeup_ap() failed.

Fixes:  https://cgit.freebsd.org/src/commit/?id=e99255c8a6cae324aeede7f5013d080a2d361e3f
Reviewed by:    imp
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55205
5f3192b3fddd974db36af0279403aba1371c68ec Konstantin Belousov 2026-02-10 01:37:18
dev/mfi: include sys/abi_compat.h unconditionally
not only for COMPAT_FREEBSD32 case.  The driver uses INPTR() for
non-compat32 code.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
bf603dbbb2c9964bba3d5bf2ba2371a75a0cc521 Konstantin Belousov 2026-02-10 04:17:53
pci_iov: Reuse downstream bridge bus window if it already covers VF bus
If the parent bridge's [secondary, subordinate] window already covers
the VF bus (e.g., programmed by BIOS or a prior PF), skip allocating
PCI_RES_BUS. This avoids a duplicate rman allocation in the multi-PF
case while still allocating when growth is actually needed.

Reviewed by: ssaxena
Differential Revision: https://reviews.freebsd.org/D52163
MFC After: 1 week
feb0a7e19f3c2e4c7eb90668b1e3dc34b5bb6dd6 Chandrakanth Patil 2026-02-10 09:23:16
pci_vendors: update to 2026-02-10
1acfc913e6b936dec3effc7d1e902a50e5432406 Baptiste Daroussin 2026-02-10 13:33:11
usb_vendors: update to 2025.12.13
8d4c1043bb0630710cbea9f744cdaef499c0ed79 Baptiste Daroussin 2026-02-10 13:38:37
Commit group #1: arm64
arm64: Enable MOPS usage in the kernel

Support handling kernel-side MOE exceptions.

Reported by:    andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54943
18af5a180b29f425b8427263be5517d3573ca220 Sarah Walker 2026-02-09 20:39:53

arm64: Add MOPS implementations of memset(), memcpy() and memmove()

Enable the use of MOPS implementations of memset, memcpy and memmove within
the kernel. Fix pre-ifunc resolution uses of these functions.

Reported by:    andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D55051
2ccbf06c0285ca1c06681e7212da8e7d1e87fe19 Sarah Walker 2026-01-28 16:22:50

arm64: Add MOPS implementation of pagezero()

Reimplement pagezero() as ifunc. As pagezero() is only used in pmap.c,
move ifunc to that file.

Reviewed by:    andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54946
7d7295df9b13b98ac395b206667e7586c602862b Sarah Walker 2026-01-29 17:43:45

arm64: Add MOPS implementations of copyin/copyout

Reimplement copyin() & copyout() as ifuncs.

Reviewed by:    andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54947
1224347817c450596797ae6bcbfcc81927cb1f88 Sarah Walker 2026-01-29 18:08:49
vtgpu: Support virtio gpu on Parallels Desktop
The Parallels Desktop Virtio GPU implementation doesn't handle
enqueuing the VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING request and
memory list together.

Work around this by splitting them before sending them to be enqueued.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D55147
1ea0721e1a566fdb552b0a919c22667844a894d9 Andrew Turner 2026-02-10 17:06:31
ure: improve receive checksum offloading
Let the receive checksum offload for TCP/IPv6 and UDP/IPv6 be
controlled by ifconfig rxcsum6 and not by ifconfig rxcsum.
While there, make the code more compact and improve stlye.9
conformity.

Reviewed by:            Timo Völker
MFC after:              1 week
Differential Revision:  https://reviews.freebsd.org/D55188
378577393e407fa2cd9677392da2287e37b4dd33 Michael Tuexen 2026-02-10 17:08:07
psm(4): Add middle button support for Elantech V4 touchpads
based on firmware version.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291262
MFC after:      1 month
3d85dcd1a9aa2e1b903935062500cb15b1a700f8 Vladimir Kondratyev 2026-02-10 22:59:06
evdev: Drop comments from input-event-codes.h
They were copied intact from the Linux GPL-only file.

Requested by:   imp, glebius
MFC after:      1 week
89aa8a94053fdd22ed716fdf424a2d10e70b3188 Vladimir Kondratyev 2026-02-10 22:59:06
run: rum: migrate to new net80211 encryption key API
Migrate to the new encryption key API rather than poking at the
key struct directly.

Locally tested:

 * STA mode - run0: MAC/BBP RT2860 (rev 0x0101), RF RT2820 (MIMO 2T2R), address 00:0e:2e:e5:ae:3a

Differential Revision:  https://reviews.freebsd.org/D54462
f064d44badfa9eee3e62d2d7dacd77a968f0a6dd Adrian Chadd 2025-12-29 18:55:52
iwx: migrate to new net80211 encryption key API
Migrate to the new encryption key API rather than poking at the
key struct directly.

Locally tested:

 * STA mode - iwx0: <Wi-Fi 6 AX210> mem 0x84c00000-0x84c03fff at device 0.0 on pci4

Differential Revision:  https://reviews.freebsd.org/D54463
c08ee1eba989b49c7c30945a551760eaeb2e3e15 Adrian Chadd 2026-01-02 04:32:39
amd64: add LASS support
In short, LASS enforces all kernel memory accesses to have bit 63 set to
1, and all userspace accesses have bit 63 set to 0.  Violations of these
rules cause #GP. There are natural loopholes, like SMAP with rflags.AC=1
allows kernel to access userspace.

Enablement is simple, we need to set CR4.LASS bit on all CPUs.  There
are complications when kernel has to execute code at low addresses, e.g.
for la57 trampoline, or calling into EFI RT.  The patch turns CR4.LASS
off around these regions.

LASS is officially documented in SDM, since at least rev. 085, October
2024.  Tested in simics.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55218
89589b6d3fbac43eb7c6b3cdbdd6f077888b2142 Konstantin Belousov 2024-10-24 02:12:25
Commit group #2: hwpstate_amd(4)
hwpstate_amd(4): Register dump: Fine-grained error reporting

If some of the registers cannot be read, report that but continue trying
reading the others.  This also has the side benefit of simplifying code.

While here, use sbuf_new_for_sysctl(), and rename 'res' and 'ret', which
are to contain error values, to 'error'.

While here, remove the test on getting the per-cpu structure, as if it
is not present we would have already crashed on device attach.

While here, fix format for printing the CPU ID.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292615
Reviewed by:    aokblast (older version)
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D55005
8aac1e9b028e5bd2e249023687effd98739358a6 Olivier Certner 2026-01-29 16:23:54

hwpstate_amd(4): attach(): More diagnostic on CPPC enable

When the 'debug.hwpstate_verbose' tunable/sysctl knob is set, dump the
initial content of the CPPC_CAPABILITY_1 and CPPC_REQUEST registers.

If, after enabling CPPC, reading/writing some MSR fails during the attach
sequence, print a diagnostic.  However, once CPPC is enabled, we cannot
go back (disabling it is impossible), so we'll attach even if fiddling
with other MSRs failed.

While here, move diagnostic printing on attach out of the callback that
is executed on (potentially) another CPU and with interrupts disabled,
putting it into the attach routine itself.

While here, fix format for printing the CPU ID.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292615
Reviewed by:    aokblast (older version)
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D55006
bd58239d3653dab7cd3999cad222f695a49a7e3b Olivier Certner 2026-01-29 17:37:20

hwpstate_amd(4): Sane defaults for min/max perf on insane capabilities

If the CPPC_CAPABILITY_1 register stays at its reset value (0) even
after enabling CPPC, as observed in the field (see the referenced PR
below), use sane min/max performance limits as hinted by the ACPI spec,
i.e., all 0s for the minimum value and all 1s for the maximum one.

While here, let's cope upfront with some more insane situations, where
the minimum value would be greater than the maximum one, but also if
they would be equal which does not seem to make sense at all in the CPPC
frame (and, anyway, in this case, the actual minimum and maximum values
we program should have no effect at all).  That last case actually also
covers the one exposed in the previous paragraph.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292615
Reviewed by:    aokblast
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D55007
df7b4dcdb8ff32a735916b50a473424b543c1e5e Olivier Certner 2026-01-29 21:14:48

hwpstate_amd(4): Factor out setting the CPPC_REQUEST register

In preparation for creating other knobs to tweak values in this register
beyond just the EPP (Efficiency/Performance Preference).

While here, add a herald comment before the softc structure indicating
how we achieve atomicity when modifying the softc.

Reviewed by:    aokblast
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D55008
6db204dc2de0f52e9a6842af29f026a8a2951e3c Olivier Certner 2026-01-27 11:30:48

hwpstate_amd(4): 'epp' sysctl leaf to operate on real EPP hardware values

We were using percents, for compatibility with hwpstate_intel(4), but
this looses granularity that might be important in some scenarios or
with specific CPU models.

For consistency, hwpstate_intel(4) should be changed accordingly, at the
expense of breaking compatibility.

For release notes: Introduction of hwpstate_amd(4) deserves a release
note, even if the original commit was not tagged.  Functionality
introduced by recent commits tagged with "Relnotes" should be mentioned
along that one.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292615
Reviewed by:    aokblast
Relnotes:       yes
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D55009
951788e3733e415ca4721c0a63454937dcb29b2c Olivier Certner 2026-01-27 11:44:29

hwpstate_amd(4): Add knobs to get/set all fields of CPPC_REQUEST

This will allow experimentations and finer-grained tuning to the full
extent allowed by the hardware, which is especially important given that
the spec leaves to hardware implementors an important leeway in
interpreting CPPC's numeric parameters, causing the same settings to
have different effects on different CPU models.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292615
Reviewed by:    aokblast (older version)
Relnotes:       yes
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D55010
7689e68506a900de4ba79924d781f092bb9d0335 Olivier Certner 2026-01-27 12:39:40
hwpstate_amd(4): Update copyright
Sponsored by:   The FreeBSD Foundation
a78e7c22c5d7463577e87a31024df079f7282d01 Olivier Certner 2026-01-29 22:26:19
Commit group #3: hwpstate_amd(4)
hwpstate_amd(4): Rename PSTATE_CPPC internal flag

While here, also rename check_cppc_enabled() => check_cppc_in_use().

No functional change (intended).

Sponsored by:   The FreeBSD Foundation
ebcd80f76ed117afa90419e5ac60cd558715f584 Olivier Certner 2026-02-09 09:21:28

hwpstate_amd(4): Rename '*set_autonomous_hwp*()' => 'enable_cppc*()'

This is to better reflect that we are really enabling CPPC in these
functions and because we are likely to stop activating CPPC autonomous
mode by default in the near future.

No functional change (intended).

Sponsored by:   The FreeBSD Foundation
c6a0eb7ada62c7d6e7d4686b2fe32e009311c1aa Olivier Certner 2026-02-09 09:30:53

hwpstate_amd(4): Move 'struct get_cppc_regs_data' & co. closer to use

No functional change (intended).

Sponsored by:   The FreeBSD Foundation
2b728d3bbfbc61e014cdfa7940227e46027329b9 Olivier Certner 2026-02-09 10:39:53
igc: remove M_HASHTYPE when RSS is not enabled
Summary: manually cherry-pick 21dd554d1697

Reviewed by: kbowling
Differential Revision: https://reviews.freebsd.org/D55256
9778537b6738d8693e887c3b0c8bc4d5a0aa28ce Cheng Cui 2026-02-11 22:21:32
cxgbe(4): Fix assertion in timer calibration
The calibration callout is stopped when the adapter is marked off limits
but not when the adapter is merely stopped.

MFC after:      1 week
Sponsored by:   Chelsio Communications
afe55ae68e742ea5e5eb9e78cf68d570d458cd0d Navdeep Parhar 2026-02-10 19:07:43
asmc: Convert driver to CTLFLAG_MPSAFE
Replace CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE for all sysctls.
The driver already uses spin mutexes (sc->sc_mtx) for hardware
access protection and does not require the Giant lock.

This improves scalability by allowing concurrent sysctl access
without Giant serialization.

Reviewed by:    ngie, adrian
Differential Revision:  https://reviews.freebsd.org/D54613
1a6bdd6266e3b53c8b6b597a77a100353b7ae13a Abdelkader Boudih 2026-02-13 03:00:22
e1000: Increase FC pause/refresh time on PCH2 and newer
This corresponds to Linux f74dc880098b4a29f76d756b888fb31d81ad9a0c

That commit does not provide any public background detail, but it's been
in use for over 5 years and corresponds to previous chip bugs w.r.t.
automatic generation of PAUSE frames.

Reviewed by:    kgalazka
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D54555
2bdec2ee73be7dbafce9982b0dc5c273918a5443 Kevin Bowling 2026-02-13 06:30:22
x86: add a safe variant of MSR_OP_SCHED* operations for x86_msr_op(9)
The modifier executes the operation using msr{read,write}_safe()
functions instead of plain msr reads and writes.  Returns EFAULT if any
MSR access caused #GP.

Reviewed by:    markj, olce
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55045
af99e40af1dd4e8b39ca986240ee8b9aea722958 Konstantin Belousov 2026-02-01 23:43:50
x86_msr_op(9): consistently return the value read from MSR
If the operation is executed on more than one CPU, a random instance of
the read value is returned.

Reviewed by:    markj, olce
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55045
36ceb5509d01ff2e6482a78ca809c344574e9a25 Konstantin Belousov 2026-02-04 00:24:58
x86: provide extended description for x86_msr_op(9)
Reviewed by:  markj, olce
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision: https://reviews.freebsd.org/D55045
cb81a9c18db93a2046c47b0c7dc0bd6adcdd2495 Konstantin Belousov 2026-02-04 00:22:08
nvme: Change fail_on_reset to bool
This is safe since sysctl_handle_bool() handles ints transparently.

Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55263
1e2eea55c4559544b68c99e95641097983230611 Dag-Erling Smørgrav 2026-02-13 12:34:42
nvme: Use size_t for payload size
Using uint32_t here can cause spurious compiler warnings.  I assume it
was done to constrain the range; use a KASSERT instead.

Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55279
be7e4dc878eab090cd411c9ef28880e4f62116f5 Dag-Erling Smørgrav 2026-02-13 18:37:07
cxgbe(4): Show correct range of tids in sysctl_tids
The highest valid tid has to be adjusted for the hi-pri filter region.

MFC after:      1 week
Sponsored by:   Chelsio Communications
605af0640769b1d77d0d38bebee93fb35ee4101e Navdeep Parhar 2026-02-13 18:30:03

Networking

Network-related commands, library, and kernel.

sctp: Use __sdt_used for variables only used by SDT probes
Previously this used a home-rolled version.

Reviewed by:    tuexen, imp, markj
Differential Revision:  https://reviews.freebsd.org/D55165
d4d735b26537662565001d86685080256cf95758 John Baldwin 2026-02-09 16:27:55
lagg: Make lagg_link_active() static
It is declared as static. Make the definition consistent with the
declaration.

It was ever fixed by commit 52e53e2de0ec, but the commit was reverted,
leaving it unfixed.

No functional change intended.

MFC after:      3 days
30988d0a7bd7ebd5f5825b9b7aa04ff0af788aa7 Zhenlei Huang 2026-02-09 17:48:07
sys/netinet6: switch net.inet6.ip6.use_stableaddr to on by default
This change switches to using RFC 7217 algorithm as the default to
generate SLAAC addresses for IPv6 interfaces configured with
accept_rtadv.

Reviewed by:            pouria, glebius, zlei
Approved by:            zlei
Relnotes:               yes
Differential Revision:  https://reviews.freebsd.org/D55138
a2eb0894b79bd0241e51c6888a52bea369ae8a6a Guido Falsi 2026-02-09 20:27:15
net80211: in net80211_vap_printf() also use vprintf()
While everything else uses vprintf() and net80211_vap_printf()
vlog() the debug output of wlandebug sessions can be weird.
For consistency use vprintf() everywhere to have homogeneous logging.

Sponosred by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    adrian
Differential Revision: https://reviews.freebsd.org/D54795
840f478eed2ab18abd1088aa12587bb708a46b56 Bjoern A. Zeeb 2026-01-20 13:43:51
iflib: Add support for SIOCGIFDOWNREASON ioctl
This change adds native support for the SIOCGIFDOWNREASON ioctl in iflib.

When ifconfig issues SIOCGIFDOWNREASON, the request is now routed through a
new driver callback (IFDI_GET_DOWNREASON). iflib allocates the ifdownreason
structure, calls the driver to fill the down-reason message, and then
returns the data back to ifconfig for display.

Without this change, iflib-based drivers cannot implement link-down reason
reporting even if the hardware provides the information.

No functional change for existing drivers unless they implement the new
IFDI_GET_DOWNREASON method. Existing drivers continue to behave as before.

Reviewed by: gallatin, erj, kgalazka, ssaxena, #iflib
Differential Revision: https://reviews.freebsd.org/D54045
MFC After: 1 week
c2f799d4193f135f4d36e9f622b10b825b9144eb Chandrakanth Patil 2026-01-30 07:15:55
ip_mroute: Use a local variable to store a VIF pointer
This is cleaner and will make it a bit easier to add some more
indirection to the VIF table, specifically, to add per-FIB tables.

No functional change intended.

Reviewed by:    glebius
MFC after:      2 weeks
Sponsored by:   Stormshield
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D55057
0a757ef9a79d101bb4b7429ab5802579888dce98 Mark Johnston 2026-02-09 22:51:55
ip_mroute: Try to make function pointer declarations more consistent
The ip_mroute and ip6_mroute modules hook into the network stack via
several function pointers.  Declarations for these pointers are
scattered around several headers.  Put them all in the same place,
ip(6)_mroute.h.

No functional change intended.

Reviewed by:    glebius
MFC after:      2 weeks
Sponsored by:   Stormshield
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D55058
9df6a7f9a60b76eda2ac82826528487ca43edf46 Mark Johnston 2026-02-09 22:52:08
ip6_mroute: Deindent some code in ip6_mdq()
Deal with the mifi >= nummifs case early so that we can de-indent the
rest of the code.  This also ensures that the debug log (compiled out by
default) doesn't perform an out-of-bounds access.

Remove a bogus NULL test in an inner loop while here.

No functional change intended.

Reviewed by:    glebius
MFC after:      2 weeks
Sponsored by:   Stormshield
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D55059
d8f7a7b44a951368d637bbbdc06c28ffd6331d76 Mark Johnston 2026-02-09 22:52:20
net: Remove the IFF_RENAMING flag
This used to be needed when interface renames were broadcast using the
ifnet_departure_event eventhandler, but since commit 349fcf079ca3
("net: add ifnet_rename_event EVENTHANDLER(9) for interface renaming"),
it has no purpose.  Remove it.

Reviewed by:    pouria, zlei
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D55171
93075bdb813a9956e66c711eda2c83fb596711fd Mark Johnston 2026-02-09 23:24:02
ipfilter: Interface name must not extend beyond end of buffer
sifpidx (an interface name) cannot extend beyond the end of the
fr_names buffer.

We do the validation for fr_sifpidx here because it is a union that
contains an offset only when fr_sifpidx points to an interface name,
an offset into fr_names. The union is  an offset into fr_names in this
case only.

interr_tbl now becomes a static variable outside a function to facilitate
its use by two functions within fil.c

Note that sifpidx is only used in ipf_sync() which implments ipf -y.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
MFC after:      1 week
47fb51847fdea3f1cce841b5f2bbbcd6f8a04ee0 Cy Schubert 2026-01-08 17:41:53
pf: remove unused variable from pf_test_ctx
Sponsored by: Rubicon Communications, LLC ("Netgate")
950dedcd87afc6beb8e38956273072ca0d02c964 Kristof Provost 2026-02-09 20:13:30
net80211: clean up time comparison in HT code
There's at least one place where the time comparison is wrong, leading
to some bad beahaviour around deciding to try and establish/reestablish
AMPDU TX sessions.

Start addressing these!

Differential Revision:  https://reviews.freebsd.org/D54390
7a5288a023baeac2f0c3128506178f89fda3cc0d Adrian Chadd 2025-12-15 03:45:36
lagg: Avoid dropping locks when starting the interface
The init routine of a lagg(4) interface will not change during the whole
lifecycle. So we can call lagg_init() directly instead of through the
function pointer. Well, that requires a drop and pickup lock, which
unnecessarily expose a small race window. Refactor lagg_init() into
lagg_init_locked() and call the later one to avoid that.

Meanwhile, delay updating the driver managed status until after the
interface is really ready.

Reviewed by:    markj
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D55198
c182cf646a4f995fa8506afd8afc9541c4d32905 Zhenlei Huang 2026-02-11 18:15:41
netinet6: Add a struct socket declaration to ip6_var.h
MFC after:    1 week
Reported by:    Ian FREISLICH <ianfreislich@gmail.com>
be393b6f0497f374c679c31e746705515eb9a554 Mark Johnston 2026-02-12 13:59:40
ip_mroute: Make the routing socket private
I have some patches which make ip_mroute and ip6_mroute multi-FIB-aware.
This enables running per-FIB routing daemons, each of which has a
separate routing socket.

Several places in the network stack check whether multicast routing is
configured by checking whether the multicast routing socket is non-NULL.
This doesn't directly translate in my proposed scheme, as each FIB would
have its own socket.  I'd like to modify the ip(6)_mroute code to store
all state, including the socket, in a per-FIB structure.  So, take a
step towards that and 1) hide the socket, 2) add a boolean flag which
indicates whether a multicast router is registered.

Reviewed by:    pouria, zlei, glebius, adrian
MFC after:      2 weeks
Sponsored by:   Stormshield
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D55236
d19fd2f349226116f7effb281baa1eb32b8292e7 Mark Johnston 2026-02-13 16:50:18
bpf: don't call bpf_detachd() in bpf_setdlt()
The bpf_attachd() will perform bpf_detachd() itself.  Performing it twice
will lead to doing CK_LIST_REMOVE twice.

Reported & tested by:       bz
596bf3485fe5dd62991e0f49ee783bc91d83678c Gleb Smirnoff 2026-02-12 20:11:09

System administration

Stuff in man section 8 (other than networking).

traceroute: graceful recover after networking errors with as_server
Currentlu, the traceroute[6] utility does not check
for possible networking errors while talking to as_server
in case of "traceroute -a". Meantime, there is a common case
when trace is long and it has many non-responding hops
(shown as '* * *'), so as_server aborts our connection,
hence no AS numbers shown for the rest of trace.

Somewhat artifical way to reproduce the problem:

traceroute to 57.144.244.1 (57.144.244.1), 80 hops max, 48 byte packets
 5  [AS174] be2950.ccr42.fra05.atlas.cogentco.com (154.54.72.42)  74.277 ms  9.605 ms  9.599 ms
 6  [AS174] 149.11.228.19 (149.11.228.19)  9.506 ms  9.466 ms  9.420 ms
 7  [AS33182] po172.asw02.fra5.tfbnw.net (129.134.108.146)  9.725 ms  9.874 ms  9.696 ms
 8  [AS32934] psw04.fra5.tfbnw.net (157.240.59.85)  8.718 ms  8.691 ms  8.618 ms
 9  * * *
10  [AS0] edge-star-mini-shv-01-fra5.facebook.com (57.144.244.1)  9.747 ms  9.815 ms  9.699 ms

Note what due to increased timeout (-w10) we get [AS0] for 10th hop
because as_server closed our connection. Same problem occurs
with default -w3 when there are lots of '* * *' hops in a trace.

Fix it with some additional error checking and a reconnection.

This patch was in my use for many years and after traceroute(8) moved
from contrib/ to usr.sbin/ it's nice to have it in the tree.

MFC after:      2 weeks
60a6ebaf73719ef7aa15768c3906626fb106b2b3 Eugene Grosbein 2026-02-09 09:47:01
mtree: stop creating /usr/share/doc/ncurses
In base 68ad2b0d7af2a the ncurses html documentation was removed, and
entries added to ObsoleteFiles.inc to get rid of /usr/share/doc/ncurses,
but the directory was still being re-created via BSD.usr.dist. Remove it
from there too.

Fixes:          https://cgit.freebsd.org/src/commit/?id=68ad2b0d7af2a
MFC after:      1 month
212272a43767c3d7be3ddb87605612f6164774c1 Dimitry Andric 2026-02-10 14:32:52
moused(8): Use KQUEUE_CPONFORK flag to pass kqueue fd through fork
and use libc daemon() instead of private rfork-based copy.
20a3c611f53dfad830f9907e24fa08b80b674860 Vladimir Kondratyev 2026-02-10 22:59:06
freebsd-update: Error for -b basedir without UNAME_r set
freebsd-update sets the currently running release from UNAME -r, which
can be overridden via the --currently-running commandline option (or by
setting UNAME_r in the environment).  This may be invalid if -b is used
to specify a basedir other than /, so error out if -b is specified
without setting the currently running version.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283229
Reviewed by:    cperciva
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D48016
097458ac665db732cc91a22279da4cc14f694da2 Ed Maste 2024-12-10 13:47:34
Commit group #4: ngctl
ngctl: Modernize code somewhat

* Replace fgets(3) with getline(3)

* Replace select(2) with poll(2)

* Avoid needlessly copying text around

* Correct use of getopt(3)

* Pick some style and whitespace nits

MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D55257
3cbdcabf714d5187e22d8ff1cbfbc261dc8622eb Dag-Erling Smørgrav 2026-02-13 15:57:40

ngctl: Check hook name length

Check the length of the hook name when copying it into the sockaddr.

MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D55258
585190dff436eeea3be97300e36c82559028d3dd Dag-Erling Smørgrav 2026-02-13 15:57:46

ngctl: Fix buffer overflow in config command

Keep track of our buffer length when assembling the argument list.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293075
MFC after:      1 week
Reviewed by:    zlei, markj
Differential Revision:  https://reviews.freebsd.org/D55259
59906a163e474c8d00bdebe226c4d47332b91bad Dag-Erling Smørgrav 2026-02-13 15:57:50

Libraries

libmd aarch64: Use ands instead of bics to round down the length
GNU as does not accept bics with two register operands but instead
requires three register operands.  However, clang assembles the bics
instruction to ands anyway, so just use ands directly.

Reviewed by:    fuz
Differential Revision:  https://reviews.freebsd.org/D55155
244f498074b5574d18d4518583863580498b8d3b John Baldwin 2026-02-09 16:26:29
libc: Remove leftover comments
These comments refer to a comment in div.c which doesn't exist anymore.

Fixes:  https://cgit.freebsd.org/src/commit/?id=7c7299df76e2 ("libc: Remove support for pre-C99 C standards")
Sponsored by:   Klara, Inc.
c3f945eac4538de572600787a73221f2549c62c8 Aymeric Wibo 2026-02-12 13:55:01
libc: Improve {,l,ll,imax}div(3) manpages
Mainly rename numerator parameter of div(3) and ldiv(3) from num to
numer, and explicitly specify what "numer", "denom", and "rem" mean in
the manpages.

MFC after:      3 days
Obtained from:  https://github.com/apple-oss-distributions/libc (partially)
Sponsored by:   Klara, Inc.
0bba277f2223a31e4453ade39be110b1b3aeb1dd Aymeric Wibo 2026-02-12 14:50:19
libnv/tests: unskip nvlist_send_recv__send_many_fds__dgram
The test passes consistently for 1000+ consecutive iterations.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260891
Reviewed by:    oshogbo
Approved by:    lwhsu (mentor)
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D55223
fbe6da7f7592169ad7c26aa563f4c6305de1e345 Siva Mahadevan 2026-02-11 21:05:25
libpfctl: Sort order of snl attribute parser
snl atttribute parsers must be sorted by type, so PF_GS_BCOUNTERS
(16) must follow PF_GF_PCOUNTERS (15). Fix ordering and add a call
to SNL_VERIFY_PARSERS.

Without this fix, byte counters reported by 'pfctl -s info' with
a loginterface are always zero.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291763
MFC after:      1 week
Reviewed by:    kp
Signed-off-by:  eborisch@gmail.com
363b57d579bafa8a52cfb5a1dcb98af821b1ecb6 Eric A. Borisch 2026-02-12 00:26:26
libpfctl: verify all parsers
List all currently defined parsers in 'all_parsers', and pass them to
SNL_VERIFY_PARSERS(). This will detect incorrect odering in parsers,
which will help us detect otherwise subtle bugs.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
1e7665e36860af87cae24cbeb1a65a97ad9a0efb Kristof Provost 2026-02-12 09:39:05
libc/arm: use __builtin_trap() instead of abort() in aeabi_unwind stubs
This avoids a dependency on the abort symbol in libsys.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292539
Reviewed by:    mmel
Approved by:    markj (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D55255
1782bc9a0a8da2d6aca31b7790981e1980c9e4b9 Robert Clausecker 2026-02-11 18:50:18

Filesystems

ext2fs: Use __sdt_used for variables only used by SDT probes
Reviewed by:  imp, markj
Differential Revision:  https://reviews.freebsd.org/D55164
83e5b79c7c98a7f8c94a99b102bc8a90c195769a John Baldwin 2026-02-09 16:27:44

Kernel

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

aw_gpio: Add support for H616
This adds padconf files for the two gpio ranges on the H616 SOC and adds
the SOC include.

Reviewed by:    manu
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54915
e506af08bb52bcf02553a35a385b7ef0b8692589 Tom Jones 2026-02-09 10:06:33
arm64: Assume get_kernel_reg returns true
It now only returns true so this can be assumed and doesn't need to be
checked.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D55105
a8c3933840448eaf04ecfe162c0d05caf11090a4 Andrew Turner 2026-02-09 17:24:27
kern/vfs_unmount.c: promote flags to uint64_t
to prevent sign-extension, causing unexpected flags to be passed to
dounmount().  The mnt_flags and MNT_* constants are 64bit wide.

Suggested and reviewed by:      jah
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55197
8066b8923ebfd438dc8cb840d2f57066f4daa45d Konstantin Belousov 2026-02-09 03:11:15
Commit group #5: sys/abi_compat.h
sys/abi_compat.h: normalize include guard name

Reviewed by:    brooks
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55135
c3a04a9585ae233c98ee2eef73e6a80d17512578 Konstantin Belousov 2026-02-05 19:06:16

sys/abi_compat.h: move freebsd32_uint64_t and FU64_CP() there

Use private names for uintXX_t types.
Remove conflicting (but equal) PTR_IN() definition from dev/mfi.c.

Reviewed by:    brooks
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55135
e651c64bcab08c7b12d8ad6e3ad0b1ef3af3b875 Konstantin Belousov 2026-02-05 19:08:06

sys/abi_compat.h: add Foundation copyright for uint64_t stuff

Reviewed by:    brooks
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55135
9ce0c190d8b3570c0a537f84952dca8c6e462ec3 Konstantin Belousov 2026-02-05 19:10:00
sys/event.h: use freebsd32_uint64_t for kevent32 64bit members
Reviewed by:  brooks
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55135
ad639400dc9f1c5aec470996473bb54edc113dba Konstantin Belousov 2026-02-05 19:22:44
Commit group #6: sys/compat/freebsd32
sys/compat/freebsd32: use freebsd32_uint64_t for struct kinfo_knote32

Reviewed by:    brooks
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55135
485e916a67b4e700de5f50873e1e7b64de394b16 Konstantin Belousov 2026-02-05 19:29:46

sys/compat/freebsd32: use freebsd32_uint64_t for struct ffclock_estimate32

Reviewed by:    brooks
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55135
3dc72107d29d304ba21f04426ec82077d23cedcd Konstantin Belousov 2026-02-05 19:35:01

sys/compat/freebsd32: use freebsd32_uint64_t for several struct stat's

Reviewed by:    brooks
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55135
beee89472e3e0e3640c9db5c34a6e422830ff00f Konstantin Belousov 2026-02-05 19:39:27

sys/compat/freebsd32: ki_pd is missing from struct kinfo_proc32

This is missed by the sizeof(struct kinfo_proc32) assert due to another
bug: namely, the use of uint64_t type that has different alignment on
i386 than on amd64 host.

Fixes:  https://cgit.freebsd.org/src/commit/?id=85078b8573332c2c83a79adea8a61b519fb3b6af
Reviewed by:    brooks
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55135
154778e3585166f613fd3d2978a0cab2262d1611 Konstantin Belousov 2026-02-05 20:02:27

sys/compat/freebsd32: use freebsd32_uint64_t for struct kinfo_proc32

Reviewed by:    brooks
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55135
31fab773613b21183fbd5a313fa8c69d37fcb196 Konstantin Belousov 2026-02-05 19:40:55
openzfs sys/types32.h: use abi_compat.h for time32_t
The time32_t typedef leaks into openzfs compilation environment
through sys/event.h.  Simultaneously, openzfs provides its own
definition that is only correct for amd64 on FreeBSD.

Try to fix it by using sys/abi_compat.h directly.  Since toolchain build
from the make buildworld uses host abi_compat.h, add a preprocessor
symbol __HAVE_TIME32_T to signal consumers that time32_t is typedef'ed.
If not defined, fall back to old and wrong time32_t, which is enough for
bootstraping toolchain.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55135
87632ddf67b01f3d4787d10332afc1eeece52e2d Konstantin Belousov 2026-02-06 23:47:13
sys/user.h: remove XXXSKE markers
Reviewed by:  brooks
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55135
ec6cf0c52698f9056cb17456717849653a03f7e4 Konstantin Belousov 2026-02-05 20:19:24
Commit group #7: LinuxKPI
LinuxKPI: expand dma_sync_single_for_cpu() in lkpi_dma_unmap()

In case lkpi_dma_unmap() would call dma_sync_single_for_cpu() we get
into a lock recursion which will trigger a panic with debug kernels.

It would be hard to provide an internal "locked" version for
dma_sync_single_for_cpu().  In the old days this would not have
been a problem but (long before we added the missing sync calls)
some locks got folded into one in a6619e8d9c1a3.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Observed with:  iwlwifi mld
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D54841
b615b4805a9ce83b9b86dd66d46a9f220f9f89c6 Bjoern A. Zeeb 2026-01-23 19:14:18

LinuxKPI: pci: make sure a tailq and lock are initialized

Move the initializations of the tailq and lock from
linux_pci_attach_device() into lkpifill_pci_dev() so that they are
initialized in all cases we create a device (see all the possible
callers of lkpifill_pci_dev()).

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    emaste, dumbbell
Differential Revision: https://reviews.freebsd.org/D54861
1f19fc2632c98cfe653a082b5fcb02d16053ed06 Bjoern A. Zeeb 2026-01-24 22:16:36

LinuxKPI: move MODULE_DEVICE_TABLE from pci.h to module.h

Move the MODULE_DEVICE_TABLE macro to module.h where it belongs
in preparation for different bus (e.g., USB, SDIO) support.
The various struct <bus>_device_id, if not elsewhere, should be
defined in mod_devicetable.h.

This is the next step after 2f5666c1727c.

No functional changes.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    emaste, dumbbell
Differential Revision: https://reviews.freebsd.org/D54900
1f4fbcf342f41fecc8dff4e0d9a1f9bdb1cdf784 Bjoern A. Zeeb 2026-01-26 20:31:24

LinuxKPI: mod_devicetable, add comment about [future] LinuxKPI USB

USB structures are defined with the native USB implementation.
Just leave a comment why they are not here.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision: https://reviews.freebsd.org/D54991
020ff5e29431f5b55f2e3876c0e4828205e17cd5 Bjoern A. Zeeb 2026-01-26 21:00:24

LinuxKPI: add scoped_guard(), spinlock guard support

The "cleanup.h" implementation got a bit more complicated.

For one we now use a macro to concatenate a prefix, the name, and a
suffix for variable and function declarations.  This was triggered
by the fact that the "guard_" prefix we used was confusing.  We now
use a generic "cleanup_" which is only encoded in the single place
rather than all over the file.

As already indicated by the comment the DEFINE_LOCK_GUARD_0()
macro got split up and a _1 version which also takes a type got
implemented and is used for a spinlock variant used by rtw89(4)
via the new scoped_guard() bits.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D54808
31393810a168b74cf13ace0e1d35dae6b4a12bf5 Bjoern A. Zeeb 2026-01-20 22:54:30
sys/event.h: reduce namespace pollution from sys/abi_compat.h
Split out types definitions into sys/abi_types.h, and only include
abi_types.h into sys/event.h.

Tested and reviewed by: bz
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55202
ecadac729a1b855fe0d77a682ee424c3da1eb3db Konstantin Belousov 2026-02-09 20:13:21
tcp: restrict flowtype copying to specific RSS TCP types
Reviewed by:  gallatin, tuexen
Differential Revision:  https://reviews.freebsd.org/D55196
a485399f88348efbe52aad2fa9b14af8b9ae55c7 Cheng Cui 2026-02-09 22:39:50
asan: Use memset_early() to fill shadow memory
__builtin_memset() calls are replaced with calls to memset(), but that
can't be used before ifunc relocations are processed if the
implementation is selected at boot time.  Meanwhile, the sanitizer may
emit calls to __asan_set_shadow_*() as soon as locore jumps into C code,
before ifuncs are selected.

Just unconditionally use memset_early() to work around this.

Reported by:    andrew
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D55079
4c23a98ba3af3a00004fd7ef54e6330b4d665d55 Mark Johnston 2026-02-10 13:53:52
kernel dump: dumpsys_gen_pa_next(): Fix "no more chunks" condition detection
In the (improbable) cases where either:
- All entries in dump_map[] are used, so there is no guard entry filled with zeros.
- Some dump region has size 0.
We would respectively access dump_map[] out-of-bounds or omit further
dump regions when iterating.

MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
7e5f4bb3a1c999d1893528faa75559f37365de47 Olivier Certner 2026-02-04 13:04:20
brcm80211: add LinuxKPI files and module Makefiles
sys/compat/linuxkpi/common/include/linux/platform_data/brcmfmac.h
is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ).

Currently only PCIe is made to compile.
It does load firmware (if needed, e.g., on arm64 with an alignment
issue fixed), and starts to come up.

To make it work there is a cfg80211 layer and netdevice integration
to do, so do not hold your breath just yet.
902136e0fe112383ec64d2ef43a446063b5e6417 Bjoern A. Zeeb 2026-02-10 21:33:09
LinuxKPI: 802.11: add cfg80211 (*change_bss) and related structs
Needed by brcmfmac v6.19.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
b02def7c4a10fa3e2b05ebec379c5c634b87484d Bjoern A. Zeeb 2026-02-11 00:44:36
rpc: Improve socket locking in svc_vc_accept()
so_state modifications must be synchronized by the socket lock.  For the
listening socket this probably doesn't matter but for the child socket I
think it's possible that this unlocked update clobbers a state
transition if the nascent connection is being disconnected for some
reason.

Also fix the line which potentially clears SS_NBIO in the listening
socket.

It is unclear whether this code is used at all.

Reviewed by:    glebius
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D55247
7c1c0e94363db09af0c260d9292160cdd2230f23 Mark Johnston 2026-02-12 14:00:43
kmsan: Implement __msan_test_shadow()
This is needed when building OpenZFS with KMSAN enabled, as the bundled
zstd uses it.

MFC after:      1 week
bf149f2e88cb3836e02ddabd9944eb58650a72ae Mark Johnston 2026-02-13 15:42:19
filt_timerexpire_l(): re-insert restarted timer into head instead of tail
of the resumed timers list, so that kqtimer_proc_continue() does not
iterated into the same timer again.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293141
Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential revision:  https://reviews.freebsd.org/D55264
75a30ea09f4e75480743fae5c2369d50a6d8526c Konstantin Belousov 2026-02-12 20:24:13
kqtimer_proc_continue(): correct calculation of 'now'
It must be sbinuptime(), this is how kc->next is set up.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293141
Noted and reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential revision:  https://reviews.freebsd.org/D55264
e7f86f8b1383d278fff1d973230972325072ead6 Konstantin Belousov 2026-02-13 15:32:40
elf_common.h: Add some AArch32 relocations
Reviewed by:  mmel
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55268
10ac7413c060b1496ef54e2338f487ea84f66206 Ed Maste 2026-02-12 21:18:32

Build system

llvm: Link private LLVM libraries against compiler_rt for aarch64
This is required for GCC which uses libcalls for outlined atomics.

Reviewed by:    dim
Differential Revision:  https://reviews.freebsd.org/D55157
ee73475119ff7aa98bd11828625d524f6ab87f06 John Baldwin 2026-02-09 16:26:52
ath10k: modules Makefile bus attachments
Given USB in theory compiles add it to the Makefile.  The upstream
support was never finished and I see little chances it ever will be
so keep USB disabled by default.

MFC after:      3 days
32efafda38288848ec71e97eddf085ee0c108109 Bjoern A. Zeeb 2026-02-07 22:31:59
rtw88: Add bus attachments to the module Makefile
In addition to PCIe we will support USB and also prepare for SDIO (still
disabled locally).  The module SRCS are split up into a common part,
which we always add.  All three bus parts are guarded by a local
variable in the Makefile.
In addition the PCI parts require PCI to be compiled into the kernel.
We add that check in case of, e.g., SoCs with SDIO but no PCI, which
may not have PCI in the kernel config and thus the module would fail
to attach.
USB has no additional check as it is fully loadable and does not have
to be in a kernel config.
SDIO depends on an MMCCAM-enabled kernel but is otherwise loadable.

While we could, we are not splitting the various bus attachments into
individual modules as we generally do not do that in FreeBSD. [1]

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Discussed with: imp and jhb (2022, 2024), see also 17732dd8f01b [1]
OKed by:        imp (KERN_OPTS checks initially suggested by jhb)
Differential Revision: https://reviews.freebsd.org/D55022
9e175561196066a09c1a89202fd60e0433b87868 Bjoern A. Zeeb 2026-01-26 13:19:14
rtw89: module Makefile add USB bus attachments
Sponsored by: The FreeBSD Foundation
MFC after:      3 days
f19cb3c72b001f5ca2204888bfab50e2f388547d Bjoern A. Zeeb 2026-01-31 23:16:55
brcmfmac: deal with bus attachments to the module Makefile
As with LinuxKPI-based wireless drivers, e.g., rtw88, PCI depends
on PCI being compiled into the kernel, SDIO will depend on
MMCCAM in the kernel once supported, and USB can always be
loaded.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
98c44ccb01d9461da477ec8d784c763e4d03fb36 Bjoern A. Zeeb 2026-02-09 01:08:42
libsys/arm: include ARM EABI unwind bits into libsys
libsys required ARM EABI unwind symbols like __aeabi_unwind_cpp_pr0.
These symbols are normally provided by libc, but if a binary does
not link libc, the symbol ends up not being resolved.

Among other problems, this prevented gcc14 and newer from building
on arm.

Add the relevant symbols as hidden symbols into libsys to avoid this
problem.

(this patch was posted by jrtc27 who has asked me to move it along)

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292539
Tested by:      fuz, Mark Millard <marklmi26-fbsd@yahoo.com>
Reviewed by:    mmel
Approved by:    markj (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D55255
6265f30cd6b523d633efcc314f8952f24446861f Jessica Clarke 2026-02-11 15:37:08
diff3: use bsd diff3 by default
4d5c434ed16e821003a9c2dc1c1ea245b8d0b678 Baptiste Daroussin 2026-02-13 17:44:12

Internal organizational stuff

CONTRIBUTING.md: Fix links to section
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>

Sponsored by:   The FreeBSD Foundation
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2010
dac3b99e8d8cac2f19e3812c1e126801bdef8088 Minsoo Choo 2026-02-09 05:33:48
ObsoleteFiles: remove the shar(1) manpage as well
Fixes:        https://cgit.freebsd.org/src/commit/?id=3fde39073c ("shar: remove from the tree [...]")
bb0734cf2446ce2be829edfa421af3aa558d2c70 Herbert J. Skuhra 2026-02-09 14:47:41
CONTRIBUTING.md: Clarify GitHub pull requests
Make the guidelines more prescriptive (while remaining clear that Pull
Requests are merely one, not-preferred method for submitting changes).

Reviewed by:    imp
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55089
97beb0c9116f312c1820adb94455dc3b9a157135 Ed Maste 2026-02-09 15:44:15
ObsoleteFiles.inc: correct entry for zpfind.9.gz
It needs the .gz suffix.

Fixes:  https://cgit.freebsd.org/src/commit/?id=2ace05b65a2c9 ("pfind(9): follow-up fixes and improvements")
9c800a103c03dd4a32f1f6ac8f409fe38f304848 Herbert J. Skuhra 2026-02-09 19:50:04
ObsoleteFiles.inc: remove stale allwinner pages
These were moved out of man/man4/arm into man/man4. Add entries to catch
the stale copies.

Fixes:  https://cgit.freebsd.org/src/commit/?id=15c79c6fa608 ("man4: move allwinner pages and logic to a standard place")
1c9ca4cf71841d5f6cee070143b9e29d541e4124 Herbert J. Skuhra 2026-02-09 19:56:47
rtw88: remove more references to rtw88fw
When I removed the Realtek rtww8x firmware from base I missed to
add rtw88fw.4 to ObsoleteFiles.inc [1].
While adding this, also remove a leftover reference in rtw88.4.

Reported by:    Herbert J. Skuhra (herbert gojira.at) [1]
Fixes:          https://cgit.freebsd.org/src/commit/?id=cf94672363d6
MFC after:      3 days
3f4213f00ac5eea0a56cebeb1ba9f64a2489a956 Bjoern A. Zeeb 2026-02-10 13:30:53
prepare-commit-msg: Sync with committers guide
Add `Discussed with:`, `Closes:`, `MFC to:`, and `Co-authored-by:` to
the commit message template from the committer's guide. While here,
wordsmith these to fit on standard console.

Reported by:            lwhsu
Discussed with:         emaste, jlduran
Reviewed by:            vexeduxr
Differential Revision:  https://reviews.freebsd.org/D54707
261ed379c88a99fa9cb6239a85798f0e578aa485 Alexander Ziaee 2026-02-12 04:46:16
committers-ports: add andy
Following up ziaee's pattern, and add andy's line.
I'm not sure whether the original commit bit creation date should be used,
and use commit bit re-activation date for now.

MFC after:      1 week
0d9b5db9fc652e79e4eb08a2f583e9b825a50b92 Dmitry Morozovsky 2026-02-12 06:08:30

Testing

pwd: Add tests
MFC after:    1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55153
36ec2b1c104f9e5383a160e21109e1308fce0364 Dag-Erling Smørgrav 2026-02-10 14:29:08
stress2: Limit output from test
2b061bd1796dc50eddc41b57f8ecd4596235a657 Peter Holm 2026-02-12 10:31:36
stress2: Fix cleanup
83693c121aecccf3499c52fcf409157ee604cd53 Peter Holm 2026-02-12 10:32:24
mixer/tests: use require.kmods property instead of ad-hoc checks
Reviewed by:  christos
Approved by:    lwhsu (mentor)
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D55221
5fa297f4bcd277dca7eef03e68363fb1e721799e Siva Mahadevan 2026-02-11 21:50:00
pf tests: verify blocked count on log interface
Also check the IPv6 pass/block numbers.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291763
MFC after:      1 week
Sponsored by:   Rubicon Communications, LLC ("Netgate")
d03b6bb766f8c816547f9c39e05af8238242251e Kristof Provost 2026-02-12 13:06:34
tests: Simplify libarchive tests
The ATF tests work by first running the test program with an invalid
flag, which causes it to print an error message, a summary of options,
and a list of available test cases.  Switch to the new -l option which
simply prints the list, and simplify the awk script used to parse the
output.  No functional change.

MFC after:      1 week
394201ce5b4e2f84f1e39a7ce8bdc3f5a5ef8390 Dag-Erling Smørgrav 2025-12-06 13:48:32
atf_python/vnet: Make it possible to set the FIB of vnet interfaces
Reviewed by:  zlei, ngie
MFC after:      1 week
Sponsored by:   Stormshield
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D54972
a8b8feced998c8c74f9a572f069bcb689cabd09d Mark Johnston 2026-02-13 15:50:39
diff: Tweak recursion tests
The -r flag is not required to compare two directories; it is only
required to compare them recursively, i.e. descend into their common
subdirectories.  Adjust tests that use -r needlessly, and adjust the
dirloop test to verify that these two cases remain distinct.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D55262
b2532432971fbd9339a9a49eca1b532978bb6d48 Dag-Erling Smørgrav 2026-02-13 20:18:30

Style, typos, and comments

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

tools: fix WITHOUT_LOADER_GELI typo in universe.sh
Signed-off-by:        Quentin Thébault <quentin.thebault@defenso.fr>
Reviewed by:    emaste
Sponsored by:   Defenso
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2011
6a0ab05eb5eeb701ce71630154f903668d750786 Quentin Thébault 2026-02-09 12:27:06
sbin/geom: Convert err/warn() to xo_err/warn() and style(9) fixes
Finishing up the libxo conversion of geom by switching err(3) to their
libxo equivalents.

While here, fix some style(9) issues. There are still a few left, but at
least they're fewer now.

Reviewed by:    asomers
Approved by:    asomers (mentor)
MFC after:      2 weeks
Sponsored by:   ConnectWise
Differential Revision:  https://reviews.freebsd.org/D54938
821243b3877d90290ba519f2aeccf6f48430db32 Johan Söllvander 2026-02-10 12:19:50
hwpstate_amd(4): Style: Sort headers
And separate includes from the rest with an additional newline.

Sponsored by:   The FreeBSD Foundation
cec0ab05866e664e7d7636cdadc782a4ca824bd2 Olivier Certner 2026-01-29 22:22:35
hwpstate_amd(4): Style: Align 'machdep.hwpstate_amd_cppc_enable'
Align it like the rest.

No functional change (intended).

Sponsored by:   The FreeBSD Foundation
4285340c604a4dea340bd6f0ec0d721b2155f0da Olivier Certner 2026-02-09 18:03:12

Contrib code

rtw88: set .bsddriver.name for USB chipsets
We use the FreeBSD-specifc bsddriver.name to get the device name;
set it everywere consistently.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D55020
d3c4e8952cd1be2015aa9d83820961283aa4f00c Bjoern A. Zeeb 2026-01-29 11:16:11
Commit group #8: ath10k
ath10k: fix a schedule() call

Using kern_yield does not seem ideal either for polling here;  use a
schedule_timeout() call from LinuxKPI instead and use about 100
iterations per second.

Improve an error message to include the error code so we have a better
idea of what happens.

MFC after:      3 days
6387c1135921fbc86ab0f3c1508a3719ca9cac54 Bjoern A. Zeeb 2025-12-08 00:00:05

ath10k: add sysctl to turn on/off fwlog

FWLOG, if compiled in, was on by default without a way to stop it from
printing everything to the console.  Add a modparam to enable it with
it being disabled by default if available.

MFC after:      3 days
717240c95d297711d3bed0bb8b4cc8403ecbfd6a Bjoern A. Zeeb 2025-12-08 18:47:45

ath10k: cleanup some bits no longer FreeBSD-specific

We have since I did this port in 2023 added ACPI support to LinuxKPI, so
we can use it.  Also there is a linux/of.h header so we no longer need
to guard the #include.

MFC after:      3 days
db20376a4fc949d6a5b30b11f8bf9146c6b3395d Bjoern A. Zeeb 2025-12-14 22:28:46

ath10k: harmonize all MODULE_DEPEND to ath10k

With theoretically multiple bus attachements (unclear if we will ever
support anything but PCI) rename the module name to "ath10k" and use
it consistently.  Move the common depends to core.c and lindebugfs
and usb to their respective files.

MFC after:      3 days
c45b60cab05b47b1d87bf49e58f669d9aaf72765 Bjoern A. Zeeb 2026-02-07 22:29:44

ath10k: usb: make compile using [a future] linuxkpi_usb

Make ath10k usb code compile just to gather more USB bits.

Currently (and likely forever) it is useless as the ath10k USB
implementation never got finished.
At the moment it lacks an entry for the USB bus attachment in
core.c ath10k_hw_params_list[].

ath10k_usb0 on uhub1
ath10k_usb0: <Qualcomm Atheros USBWLAN, rev 2.01/92.10, addr 6> on usbus0
ath10k_usb0: Warning: ath10k USB support is incomplete, don't expect anything to work!
ath10k_usb0: Unsupported hardware version: 0x5020001
ath10k_usb0: could not get hw params (-22)
ath10k_usb0: could not probe fw (-22)

There is another possible hardware [1] which was also never merged
upstream.
[1] https://lists.infradead.org/pipermail/ath10k/2024-August/016037.html
"[PATCH] wifi: ath10k: add USB device ID for Atheros QCA9377-7"

MFC after:      3 days
ca83c369755bcc205090093e6e0d045fae24714e Bjoern A. Zeeb 2026-02-07 22:13:23
rtw89: update Realtek's rtw89 driver
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7 ( tag: v6.19-rc6 ).

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285228
10f91d9ff7b827aac6035e224e6ddc2c79f3a0cd Bjoern A. Zeeb 2025-12-05 20:48:02
rtw88: harmonize all MODULE_DEPEND to rtw88
From the time I used to split up the driver into a core part and
bus attachment sub-drivers the various bus attachments had their own
module name but all is "rtw88" now.

Core functionality depends on linuxkpi, linuxkpi_wlan, and for debug.c
lindebugfs.
Each bus attachment then depends on its own parent layer if needed:
PCI gets pull in through linuxkpi, USB: depends on [the future] linuxkpi_usb,
and SDIO: depends on [the future] linuxkpi_sdio.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D55021
49c1b388d5a89761980d24aee14f3bd0db7c0dda Bjoern A. Zeeb 2026-01-26 16:18:49
rtw89: cleanup static_assert() calls
These days we can use static_assert() without trouble so remove the
FreeBSD-specific rtw89_static_assert implementation.  This reduces
the diff to upstream and will ease future driver updates.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
57b839612b7abb891057f1efe380c509664f868b Bjoern A. Zeeb 2026-01-20 22:51:28
rtw89: harmonize all MODULE_DEPEND to rtw89
rtw89 came like rtw88 was done.  Given rtw88 once was split up rtw89
got modelled the same way.  Clean this up too.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
7fc5c8df4c90a2067c936e3026be6bd6840cd5ec Bjoern A. Zeeb 2026-02-07 18:05:40
ath10k: update Atheros/QCA's ath10k driver
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
05f7e89ab9731565d8a62e3b5d1ec206485eeb0b ( tag: v6.19 ).

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
083f8f33304ab105d0b556bdc244c9fa73068b67 Bjoern A. Zeeb 2026-02-10 15:12:28
brcm80211: import Broadcom wireless brcmsmac and brcmfmac drivers
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ).

We are likely only going to use the brcmfmac driver but given they
come nicely packaged in a directory structure and bwn(9) still uses
GPL-only phy files we could use some of the information from brcmsmac
and fix that (should it ever still be relevant).

git-subtree-dir: sys/contrib/dev/broadcom/brcm80211
git-subtree-mainline: 69c64e3fb575e0db0e2f0c1fc56f466624940ded
git-subtree-split: 1eabd3ed89eb4bb5c69e90eeaeda1a6dd31e8bab
b4c3e9b5b09c829b4135aff738bd2893ed052377 Bjoern A. Zeeb 2026-02-10 21:22:03
brcmfmac: make USB parts compile (and not panic right away)
Fix casts and consts and add one extra error check for a NULL pointer.
This will require [a future] linuxkpi_usb.

There are very few dongles I know off:
- the original Raspberry PI USB dongle [1]
- Cisco Linksys AE1200

The reason for making USB compile despite the limited 11n 150/300 Mbit/s
adapters is that it is the simplest way to work on cfg80211 while on the
road, not requiring a full PCIe slot or another SoC for SDIO.

Sponsored by:           The FreeBSD Foundation
Hardware donated by:    Martin Husemann (martin NetBSD.org) [1]
MFC after:              3 days
22741535bcf4b003e41c0ecd22cca578359ba434 Bjoern A. Zeeb 2026-02-09 01:07:01
brcm80211: update Broadcom wireless brcmsmac and brcmfmac drivers
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7 ( tag: v6.19-rc6 ).

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
9375e11f079d725d42c5b431de33044088ad14f7 Bjoern A. Zeeb 2026-02-10 23:56:40
diff3: Use a format string to quiet a compiler warning
And bump WARNS to 2
fd52a9becc62f721ad6a61c7301559afaedee010 Ed Maste 2025-11-18 13:21:03

Reverted commits

Commit & revert pair: pcb.h: mark struct pcb to be preserved
pcb.h: mark struct pcb to be preserved

There are programs that depend on this structure (e.g. kernel debuggers)
that breaks when the ABI changes.

Signed-off-by:  Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D55149
8f23665fed2fbaf4481359b4d2fcdd7b9feb40e3 Minsoo Choo 2026-02-06 20:03:53

Revert "pcb.h: mark struct pcb to be preserved"

kgdb only uses the marked fields from dumppcb for initial frame
reconstruction.

This reverts commit 8f23665fed2fbaf4481359b4d2fcdd7b9feb40e3.
24038d696e5030f622e87d6651e9dab1cd7fcb2a Konstantin Belousov 2026-02-09 18:25:17

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-03-23 19:10:59+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2026-02-09 (debug) (contains info about the classification)