FreeBSD git weekly: 2025-10-01 to 2025-12-31

Introduction

This is a display of mostly-automatically-classified git commits from 2025-10-01 to 2025-12-31.

This report is still in progress.

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

Table of contents and commits per category:

(18) Highlighted commits (these are copies, not in stats)
29 1.6% Userland programs
170 9.6% Documentation
345 19.5% Hardware support
163 9.2% Networking
138 7.8% System administration
76 4.3% Libraries
41 2.3% Filesystems
254 14.4% Kernel
193 10.9% Build system
26 1.5% Internal organizational stuff
72 4.1% Testing
133 7.5% Style, typos, and comments
88 5.0% Contrib code
37 2.1% Reverted commits
0 0.0% Unclassified commits
1765 100% total
Technical notes about this page

debug: info about the automatic classification

num % num changed stage
37 2.1% 0 00-reverts
138 7.8% 0 01-style
330 18.7% 0 02-filenames_wildcards
48 2.7% 0 02b-filenames_wildcards2
767 43.5% 0 03-filenames_plain1
367 20.8% 0 04-filenames_plain2
57 3.2% 0 05-summary-prefix
21 1.2% 0 Manually-classified commits
0 0.0% 0 Unclassified commits

debug: more stats

num % stage
0 0.0% Misclassified commits
1744 98.8% Classified commits, no corrections

debug: groups

29 1.6% num in revert
23 1.3% num in fixes
268 15.2% num in consecutive
320 18.1% 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.

packages: Add a sound package
Put virtual_oss, /etc/devd/snd.conf and the other audio-related tools
into a new "sound" package.  Don't create a separate -lib package,
since it's unlikely someone will want mixer(3) without mixer(8).

Put the sound package in the optional set rather than minimal, since
it's not actually required for audio hardware support, and many systems
(including nearly all servers) won't want it installed.

MFC after:      3 seconds
Reviewed by:    christos
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52823
1b806e607f52285f973fb1106491668fd28da6a4 Lexi Winter 2025-10-02 01:16:11

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

blocklist: Rename blacklist to blocklist
Follow up upstream rename from blacklist to blocklist.

- Old names and rc scripts are still valid, but emitting an ugly warning
- Old firewall rules and anchor names should work, but emitting an ugly
  warning
- Old MK_BLACKLIST* knobs are wired to the new ones

Although care has been taken not to break current configurations, this
is a large patch containing mostly duplicated code.  If issues arise, it
will be swiftly reverted.

Reviewed by:    ivy (pkgbase)
Approved by:    emaste (mentor)
MFC after:      2 days
Relnotes:       yes
7238317403b95a8e35cf0bc7cd66fbd78ecbe521 Jose Luis Duran 2025-10-12 17:14:27

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

blocklist: Add an UPDATING entry
Add an UPDATING entry about the renaming of blocklist.

Approved by:    emaste (mentor)
Fixes:  https://cgit.freebsd.org/src/commit/?id=7238317403b9 ("blocklist: Rename blacklist to blocklist")
MFC after:      1 day
ffa8165009365ff93050626d880f2d1d6aacc31a Jose Luis Duran 2025-10-13 14:35:12

debug: classified in 03-filenames_plain1 by 'UPDATING'

packages: Rename unbound to local-unbound
This more accurately reflects its purpose, and its contents, since
everything in the package is prefixed with "local-".

While here, add a message on upgrade about regenerating the config.

MFC after:      3 seconds
Requested by:   des
Reviewed by:    des
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53056
bf84861460f9287fe9cf66b2cd22fefe8e242a28 Lexi Winter 2025-10-15 11:00:35

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

UPDATING: Belatedly note OpenZFS sysctls moving
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52665
9f85cf09d48bb1bebeddab0913fc9ab2735cb810 Ed Maste 2025-10-16 16:47:08

debug: classified in 03-filenames_plain1 by 'UPDATING'

UPDATING: bump __FreeBSD_version for LinuxKPI changes
The size of an embedded struct has changed and might possibly be a
problem.  Allow this change to be detected by bumping __FreeBSD_version.

MFC after:      3 days
37ad1beaf516854d5e59b90a9706b09d02cc2a81 Bjoern A. Zeeb 2025-10-20 20:35:13

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

sockstat: add support for UDP-Lite endpoints
With this patch UDP-Lite endpoints are also show per default.

Reviewed by:            Peter Lei, Nick Banks
MFC after:              3 days
Relnotes:               yes
Differential Revision:  https://reviews.freebsd.org/D53230
f48c6390dd5a01ab2b33f26ee50f4e8cbe8ae737 Michael Tuexen 2025-10-23 07:12:32

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

flua: Move to a new flua package
flua is a standalone third-party component that deserves its own
package.  In particular, this means things can use flua without
having to depend on FreeBSD-utilities, which will be useful as
more base utilities use flua.

This saves ~500kB in FreeBSD-utilities for systems which don't
need flua.

MFC after:      3 days
Reviewed by:    kevans
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53161
957715f877b57a17545ead94d27ea8fd3ff4932a Lexi Winter 2025-10-25 17:21:37

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

UPDATING: mention pf's nat64 support
MFC after:    3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
f939619a2f989656e1ecdfd7a2759e3ba44d4ec7 Kristof Provost 2025-11-05 09:59:43

debug: classified in 03-filenames_plain1 by 'UPDATING'

libpam: Move to a new "pam" package
OpenPAM is a discrete, largely self-contained system component.
Users may not need PAM for many use-cases (e.g. jails, containers),
so move it to its own package.

Use LIB_PACKAGE to create a separate pam-lib package for libpam,
so that applications that support PAM don't need to bring in all
the PAM modules if PAM isn't actually in use.

Add pam to the minimal sets, since this is a core system component that
people expect to be installed.  This means all supported installation
methods will install the PAM modules by default, so don't add explicit
dependencies on the PAM modules from things that use PAM (e.g. runtime),
allowing custom/embedded systems to omit these easily.

This change adds a new package to the system so, until we have a proper
policy on how to handle this in release/stable branches, it should not
be MFC'd.

MFC after:      never
Reviewed by:    des, bapt
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53602
560af6b43e2a86e591e94bea99777630cd5f84fd Lexi Winter 2025-11-10 10:20:33

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

lib/libc: implement C23 memalignment()
This new function computes the alignment of a pointer.
It is part of ISO/IEC 9899:2024, the new C standard.
If the pointer is a null pointer, null is returned.
I have tried to write an implementation that can cope
with traditional address-based architectures, even if
size_t and uintptr_t are of different length.  Adjustments
may be needed for CHERI though.

A man page is provided, too.  No unit test for now.

Reviewed by:    kib, imp, ziaee (manpages), pauamma@gundo.com
Approved by:    markj (mentor)
MFC after:      1 month
Relnotes:       yes
Differential Revision:  https://reviews.freebsd.org/D53673
6c57e368eb1777f6097158eeca2fcc175d068dba Robert Clausecker 2025-11-10 17:54:41

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

RELNOTES: Document FreeBSD-base pkg .conf shuffle
Reminded by:  yasu
87025ccb8c802b6074f1651bfaaca5c6b4ffcc17 Colin Percival 2025-11-16 16:57:31

debug: classified in 03-filenames_plain1 by 'RELNOTES'

msun: expose the C23 functions we already support in <math.h>
This is the *pi family of trigonometric functions. Quite a few C23
functions are still missing.  These seem to be:
acospi, acospif, acospil, asinpi, asinpif, asinpil, atan2pi, atan2pif,
atan2pil, atanpi, atanpif, atanpil, canonicalize, canonicalizef,
canonicalizel, compoundn, compoundnf, compoundnl, daddl, ddivl, dfmal,
dmull, dsqrtl, dsubl, exp10, exp10f, exp10l, exp10m1, exp10m1f,
exp10m1l, exp2m1, exp2m1f, exp2m1l, fadd, faddl, fdiv, fdivl, ffma,
ffmal, fmaximum, fmaximum_mag, fmaximum_mag_num, fmaximum_mag_numf,
fmaximum_mag_numl, fmaximum_magf, fmaximum_magl, fmaximum_num,
fmaximum_numf, fmaximum_numl, fmaximumf, fmaximuml, fminimum,
fminimum_mag, fminimum_mag_num, fminimum_mag_numf, fminimum_mag_numl,
fminimum_magf, fminimum_magl, fminimum_num, fminimum_numf,
fminimum_numl, fminimumf, fminimuml, fmul, fmull, fromfp, fromfpf,
fromfpl, fromfpx, fromfpxf, fromfpxl, fsqrt, fsqrtl, fsub, fsubl,
iscanonical, iseqsig, issignaling, issubnormal, iszero, nextdown,
nextdownf, nextdownl, nextup, nextupf, nextupl, pown, pownf, pownl,
powr, powrf, powrl, rootf, rootl, rootn, roundeven, roundevenf,
roundevenl, rsqrt, rsqrtf, rsqrtl, ufromfp, ufromfpf, ufromfpl,
ufromfpx, ufromfpxf, ufromfpxl.

Reviewed by:    imp
Approved by:    markj (mentor)
MFC after:      1 month
Relnotes:       yes
Differential Revision:  https://reviews.freebsd.org/D53783
37fa5b36abb15b322493aba20146709d48359507 Robert Clausecker 2025-11-17 17:09:11

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

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

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

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

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

reboot: Default to a clean shutdown
* If invoked as fasthalt or fastboot, behavior is unchanged.

* If not invoked as fasthalt or fastboot, we simply signal init(8),
  just like shutdown(8) does, instead of taking the system down
  ourselves.

* Since only init can handle the RB_REROOT case, the -r flag is not
  supported in fast mode.

* Update the usage string to correctly reflect the program being run
  (fast or normal; halt, boot, or nextboot) and the options available
  in each case.

* Update the manual page to make the distinction between normal and
  fast mode clear, better explain what shutdown(8) still does that
  reboot(8) does not, and add a historical note explaining what the
  difference between the two used to be.

MFC after:      1 month
Relnotes:       yes
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D54117
4453ec5b8716bc465ff5192986099dc75d1f2ce7 Dag-Erling Smørgrav 2025-12-10 14:45:57

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

cam: Reduce overly long timeout values for initial device probing
Currently, we have very long timeouts for the initial probing
commands. However, these are not appropriate for modern (post 2010) SCSI
disks. Sandards since SPC3 state that these commands should not wait for
media access. Since we retry them several times during the initial bus
scan, these delays can delay the boot by minutes (5 minutes per errant
disk in our expereince). These delays don't help and only hurt, so
reduce the TESTUNITREADY, INQUIRY and MODESENSE commands (during the
initial probe). Provide sysctl/tuneables to change the time for these
and also the REPORTLUNS commands for people that might need to adjust
them for devices that violate this belief but none-the-less work with
longer timeouts.
        kern.cam.tur_timeout            (default was 60s, now 1s)
        kern.cam.inquiry_timeout        (default was 60s, now 1s)
        kern.cam.reportluns_timeout     (default is 60s)
        kern.cam.modesense_timeout      (default was 60s, now 1s)
This can be partially merged: the sysctls can, but the new defaults likely
shouldn't.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D52427
8ac7a3801c6a780edf6166c14915d7ac6e36e816 Warner Losh 2025-12-11 19:05:32

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

RELNOTES: Truncate for 16.0
Differential Revision:        https://reviews.freebsd.org/D54195
a16fdef54c10d887381ab9e56bc09f6dd42d6fea Mark Johnston 2025-12-12 17:50:38

debug: classified in 03-filenames_plain1 by 'RELNOTES'

RELNOTES: Add entries from this week's scan of the commit logs
Reviewed by:  emaste, imp
Differential Revision:  https://reviews.freebsd.org/D54197
9734ca05b9b481ae4f812ee39338782e7c2c1dda Mark Johnston 2025-12-12 18:26:13

debug: classified in 03-filenames_plain1 by 'RELNOTES'

Userland programs

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

Tcopy: add -r option to usage()
97d395d91025b5b652f2998c90716c253600dcd1 Poul-Henning Kamp 2025-10-02 08:24:52

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

getconf: Report value of _SC_PHYS_PAGES
aa9e4fe3c9021d623743e26aef879a0036f87c0f Jason W. Bacon 2025-10-03 20:43:47

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

lsvfs(1): Capsicumise
Signed-off-by: Faraz Vahedi <kfv@kfv.io>

Reviewed by:    asomers, markj
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1498
a0c709ab5af4e87ce4579404c4ffbd4295ad12c5 Faraz Vahedi 2025-08-11 17:53:55

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

vmstat: Print the number of wired pages in each object
Reviewed by:  alc, kib
MFC after:      1 week
Sponsored by:   Modirum MDPay
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53008
f66bb825f5895eed98c959cd2b612453b4d1aa6c Mark Johnston 2025-10-10 13:28:01

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

login.conf: Remove never used ignoretime/ignoretime@
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240378
Reviewed by:    otis (mentor), glebius (src committer)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D52991
4835fc45efe8b593fa49786ec4bfb6ce5050756c Paul Armstrong 2019-09-06 21:40:01

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

mkimg: Add a -h option and improve usage output to be more expressive
Reviewed by:  imp, kp
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52906
6fa18fe74461497f9a557af806552d246159272e Brad Davis 2025-10-03 21:57:06

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

find: fix pathnames printed by the SIGINFO handler
Don't duplicate the last component.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290362
Reported by:    John F. Carr <jfc@mit.edu>
Fixes:          https://cgit.freebsd.org/src/commit/?id=d06a00963b7
MFC after:      3 days
Reviewed by:    jilles, Goran Mekić <meka@tilda.center>
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1878
f6d767fe862964f704baf4eb388a30ed8227bb65 Alan Somers 2025-10-19 15:53:50

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

pwait: Avoid calling getpid(2) for each proc.
ab4abce6c2c2091a3b9ea1f38cbef94ee7a68090 Bryan Drewery 2025-10-10 18:00:35

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

cut: Avoid undefined behavior.
Summary: UBSAN complains about p[signed - unsigned] wrapping around.

Reviewed by:    kevans
Differential Revision: https://reviews.freebsd.org/D53226
35f375549c7f4d479ba1d9fcd0a368b0219c4ae6 Bryan Drewery 2025-10-20 18:33:31

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

pwait: Add an option to print remaining processes
* On startup, insert all valid PIDs into a tree.
* In our main loop, whenever a process terminates, remove its PID
  from the tree.
* On exit, if the -p flag was specified, print the remaining PIDs.

MFC after:      3 days
Reviewed by:    bcr, markj
Differential Revision:  https://reviews.freebsd.org/D53293
3d73146baeb933fe955c7496572b483a9f92914c Dag-Erling Smørgrav 2025-10-28 11:56:36

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

Commit group #0: id: Clean up
id: Clean up

No functional change intended.

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D53300
70b72ede982f3aebe03a2bf7a8245ee6bcde352c Dag-Erling Smørgrav 2025-10-28 16:51:50

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


id: Fix WITHOUT_AUDIT build

Rather than add more ifdefs, trust the compiler to optimize Aflag away.

Fixes:          https://cgit.freebsd.org/src/commit/?id=70b72ede982f ("id: Clean up")
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290740
MFC after:      3 days
92a533ed1d3c81a772815f90cc9aff9237a4429c Dag-Erling Smørgrav 2025-11-02 13:45:12

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

id: Add -d and -s options
These options may not be combined with any other options and print the
current or specified user's home directory and shell respectively.

Reviewed by:    imp, bcr
Differential Revision:  https://reviews.freebsd.org/D53301
f41b1eb637f576634be0df9d657f46aa57afea59 Dag-Erling Smørgrav 2025-10-28 16:51:56

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

truss: Properly display first argument to nmount
The first argument to nmount(2) is an nvlist in the form of an iovec,
which truss already knows how to decode.  Set the correct flag so
this happens automatically.

MFC after:      1 week
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290667
b9f848ecbafce4e56ba9c8b7993b85347e83484a Tiago Gasiba 2025-10-29 20:09:39

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

ktrace: Only enable EXTERROR traces for 'x'
Add a missing break statement to avoid falling through to the '+'
case.

Fixes:          https://cgit.freebsd.org/src/commit/?id=96f4be881e8e ("ktrace(1): teach about KTR_EXTERR")
0b8d17c861194057261d898d94eb45ca9ea310b4 John Baldwin 2025-11-06 02:47:37

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

sh: Implement simple parameter expansion in PS1 and PS2
This change follows a localized approach within getprompt() and avoids
full parser reentry. While this means we don't support advanced
expansions like ${parameter#pattern}, it provides POSIX-compliant basic
parameter expansion without the complexity of making the parser
reentrant. This is sufficient for the vast majority of use cases.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=46441
f9e79facf874567f25147b24863e5198164e8d04 Matthew Phillips 2025-10-12 19:27:34

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

rm(1): remove whiteouts when forcibly removing directories
Commit 2ed053cde5 changed UFS' VOP_RMDIR() behavior to no longer
ignore whiteouts when determining whether a directory is empty,
unless explicitly requested by the caller.  However, this also
necessitates a change to rm(1) to avoid breaking the expected
behavior when forcibly removing directory hierarchies via `rm -fr`.
I neglected to make this follow-on change despite discussing it
in the review for the breaking commit (D45987).

Finally address the breakage by making `rm -fr` imply FTS_WHITEOUT
when rm(1) reads directory contents via fts_read(3).  While here,
also fix a logic error which produces a spurious 'No error' warning
message on stdout for each deleted whiteout.

Reported by:    csjp
Reviewed by:    csjp, kib, olce
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53640
8b92a6ad597e224b616a8b1d6983f3b55c85308e Jason A. Harmening 2025-11-08 04:23:02

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

date: Improve nanosecond support
Add support for a field width, which defaults to 9 if unspecified or
zero.  If the width is not exactly 9, we have to either cut off digits
or append zeroes to make up the difference.  If the width is a dash,
we pick a width based on the clock's reported resolution.  This brings
us in line with GNU coreutils.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287080
MFC after:      1 week
Reviewed by:    0mp
Differential Revision:  https://reviews.freebsd.org/D53667
38839c872e7af6a1424009bf07d6b4450e9ca61d Dag-Erling Smørgrav 2025-11-11 14:58:23

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

ministat: Clean up usage message, manual page, and chameleon
In the manual page:
- Fix synopsis and use better argument names
- Improve description of flags.
- In EXAMPLES, list the contents of iguana and chameleon files.
- Use Rs to reference The Cartoon Guide to Statistics
- Fix misc indentation and style issues
- Tag SPDX

MFC after:      1 week
Reviewed by:    bcr, ziaee
Differential Revision:  https://reviews.freebsd.org/D53710
9d17b61b2fd254b418f3dd6b7a64afbc861a57f8 Mateusz Piotrowski 2025-11-12 15:06:06

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

lam: fix using stdin more than once
Historically, lam(1) closes stdin once we've hit EOF the first time,
which would stop it from doing anything else on subsequent gatherline()
calls with another openfile.  However, this doesn't seem to be strictly
necessary- the EOF flag on FILEs is quite sticky, so we can assume that
a subsequent fgetc(stdin) will flag EOF properly.

This 'fixes' the below-referenced commit in the sense that it surfaced
this problem as a fatal error, but the issue was pre-existing.  If we
do `lam - -`, then one gatherline() will fclose(stdin) and set `ip->eof`
for *that* openfile, while the next one will then observe that
STDIN_FILENO has been closed and turn it into an EBADF.

Add a few tests that were easy to snipe while I'm here, but I haven't
aimed for anything close to exhaustive because I think re@ would prefer
this fix go in sooner rather than later to land in 15.0.

Minor style adjustment for the previous commit while we're here.

Reported by:    cperciva
Discussed with: jrtc27
Reviewed by:    des, jlduran
Fixes:  https://cgit.freebsd.org/src/commit/?id=4472fd66d006 ("lam: fail on I/O errors")
MFC after:      3 days (tentative)
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53750
6a9452c8378a1aa767708ad2d235f847c880a21c Kyle Evans 2025-11-14 14:36:20

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

freebsd-tips: Add a shell function for laptops
MFC after:            3 days
Reviewed by:            pauamma_gundo.com
Differential Revision:  https://reviews.freebsd.org/D53748
42d9ae4945f281d12f3ef96cdbd7356e067f8b18 Alexander Ziaee 2025-11-14 14:40:44

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

sh: Fix a double free in a rare scenario with pipes
The command
  sh -c 'sleep 3 | sleep 2 & sleep 3 & kill %1; wait %1'
crashes (with appropriate sanitization such as putting
MALLOC_CONF=abort:true,junk:true in the environment or compiling with
-fsanitize=address).

What happens here is that waitcmdloop() calls dowait() with a NULL job
pointer, instructing dowait() to freejob() if it's a non-interactive
shell and $! was not and cannot be referenced for it. However,
waitcmdloop() then uses fields possibly freed by freejob() and calls
freejob() again.

This only occurs if the job being waited for is identified via % syntax
($! has never been referenced for it), it is a pipeline with two or more
elements and another background job has been started before the wait
command. That seems special enough for a bug to remain. Test scripts
written by Jilles would almost always use $! and not % syntax.

We can instead make waitcmdloop() pass its job pointer to dowait(),
fixing up things for that (waitcmdloop() will have to call deljob() if
it does not call freejob()).

The crash from
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290330#c2 appears to
be the same bug.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290330
Reported by:    bdrewery
Reviewed by:    bdrewery
Differential Revision:  https://reviews.freebsd.org/D53773
75a6c38e4d5c651b7398bf2bea5baa41a0939e92 Jilles Tjoelker 2025-11-15 16:43:03

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

sh: Don't assume EINTR means SIGALRM
While waiting for input in the read builtin, if select() is interrupted
but there is no pending signal, we act like we timed out, and return the
same status as if we had been interrupted by SIGALRM, instead of looping
until we actually do time out.

* Replace the single select() call with a ppoll() loop.

* Improve validation of the timeout value.  We now accept things like
  "1h30m15s", which we used to silently truncate to "1h".  The flip side
  is that we no longer accept things like "1hour" or "5sec".

* Modify the existing `read -t 0` test case to verify that read returns
  immediately when there is input and fails immediately when there isn't.

* Add a second test case which performs the same tests with a non-zero
  timeout value.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290844
MFC after:      1 week
Fixes:          https://cgit.freebsd.org/src/commit/?id=c4539460e3a4 ("sh: Improve error handling in read builtin:")
Reviewed by:    jilles, bdrewery
Differential Revision:  https://reviews.freebsd.org/D53761
3c2643a7dbac370b7232f4e5ac15fd77b9ff396d Dag-Erling Smørgrav 2025-11-19 10:43:13

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

sh: Fix job pointer invalidation with trapsasync
Calling dotrap() can do almost anything, including reallocating the
jobtab array. Convert the job pointer to an index before calling
dotrap() and then restore a proper job pointer afterwards.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290330
Reported by:    bdrewery
Reviewed by:    bdrewery
Differential Revision:  https://reviews.freebsd.org/D53793
f44ac8cc9c10d7305223a10b8dbd8e234388cc73 Jilles Tjoelker 2025-11-17 17:42:01

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

cp: Fix copying the root directory
When the source of the copy operation is the root directory, we should
neither append it to the destination path on FTS_D nor trim it back off
on FTS_DP.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291132
MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=82fc0d09e862 ("cp: Partly restore symlink folllowing.")
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53863
fe836c50120daed3e4084f43c27d8d650d36dee8 Dag-Erling Smørgrav 2025-11-22 12:11:59

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

beep: Sort usage and man page options
Sort usage and man page options, mention possible minimum and maximum
values, fix punctuation marks, and cleanup the man page.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291092
Reviewed by:    pauamma_gundo.com, christos
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53827
55d98b024f25403f60efe04f90a391014b6bc388 Jose Luis Duran 2025-11-19 15:59:25

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

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

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

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

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

fsync: Open files in non-blocking mode
This avoids blocking forever when invoked on a fifo.

MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D54084
69e041521a80a0b8950f6ec25269a9c3949d6590 Dag-Erling Smørgrav 2025-12-05 14:57:44

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

Fix zgrep(1) wrapper regression, add test
@bdrewery reported D48873 broke "bzgrep -q '1 2' /var/log/messages.0.bz2"
The mistake was in using $* instead of "$@" (I suspect $* is never right).

Reported by:    bdrewery
Reviewed by:    markj
Approved by:    markj
Fixes:          https://cgit.freebsd.org/src/commit/?id=1070477cc8b7 ("Fix remaining zgrep(1) wrapper script regressions")
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54217
80726c2257e9d6d79341aac65ba22987f53619bc Craig Leres 2025-12-13 23:43:02

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

Documentation

Man pages, release notes, etc.

trim.8: update the manual with references to zpool-trim and fsck_ffs -E
MFC after:    3 days
5d8fde850768d31f722de6177204ec7cab199bd1 Eugene Grosbein 2025-10-01 04:05:54

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

ip(4): fix description of struct ip_mreqn
This is a minor bug, since the kernel ignores imr_address and applications
are not supposed to initialize it.
e91fc88bca02a74ea972ebf7f66aef3a3298ad54 Gleb Smirnoff 2025-09-29 22:50:42

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

arch.7: Remove mention of PDP11_ENDIAN
AFACT, this was never accurate.  When there was support (such as it was)
for PDP endian it seems to have been spelled PDP_ENDIAN.

Reviewed by:    imp, kib, emaste
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D52817
0a551f8a7d68ca42d60824682123f12bba76c477 Brooks Davis 2025-10-02 09:25:01

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

arch.7: correct claim about ILP32 alignment
Only i386 lays out structures with weak (4-byte) alightment.  It may be
that access works when weakly aligned, but from an ABI perspective, it's
all about struct layout.

Reviewed by:    kib, emaste
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D52818
f7b6ea699b23b3af81866ef3aafb398c2c0d45af Brooks Davis 2025-10-02 09:25:53

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

mmcsd.4: s/DESCRIPTION/HARDWARE + HISTORY + SPDX
This manual only describes a tiny amount suitable for the HW Relnotes.
Remove the description section and replace it with a hardware section
which will appear there.

MFC after:      3 minutes
Reported by:    ivy
History Ref:    5bcb64f20afff21be511cc5 (Add mmc and mmcsd)
0c1c81c479bef8d3e67f93ea00fc5d34ccf5af33 Alexander Ziaee 2025-10-02 14:55:18

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

usbhid.4: Note that it was enabled by default for 15.0
Also add cross-references to hkbd.4 and hms.4.

Sponsored by:   The FreeBSD Foundation
7b18bf2a225af348c2d56ad345862fe0f1055839 Ed Maste 2025-10-02 16:14:35

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

usbhid.4: Note where debug messages go
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280377
Sponsored by:   The FreeBSD Foundation
44f3e9f7f6c9afed33d2967c1ed48361bb6b404b Ed Maste 2025-10-02 16:50:15

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

Commit group #1: umass.4: Add HISTORY, HARDWARE, and SPDX
umass.4: Add HISTORY, HARDWARE, and SPDX

While here, break a long line that agitates the linter.

Fixes:          https://cgit.freebsd.org/src/commit/?id=cc16f1b9d9261f18 (Add umass.c)
MFC after:      1 hour
Discussed with: imp, ivy

diff --git a/sys/dev/usb/FILES b/sys/dev/usb/FILES
70993c2fbe1acb68f45bea5fc5fa086650876e23 Alexander Ziaee 2025-10-02 17:37:27

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


umass.4: Remove some extra lines which snuck in

Fixes:          https://cgit.freebsd.org/src/commit/?id=70993c2fbe1ac (umass.4: Add HISTORY, HARDWARE, and SPDX)
MFC with:       70993c2fbe1ac (umass.4: Add HISTORY, HARDWARE, and SPDX)
34a2b5b09afe2a2fa3672f448d522b4665db9272 Alexander Ziaee 2025-10-02 18:02:01

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

snl.3: escape \n propertly
Reported by:  Bruno Silvestre
2ed9abe1d873465d375b47ece0a379e1dbd99719 Maxim Konovalov 2025-10-02 18:15:16

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

sdhci.4: Improve HARDWARE for HW Relnotes + SPDX
MFC after:            1 hr
Discussed with:         ivy, olce
Co-authored-by:         ziaee (typed up imps suggestion, tagged spdx)
Differential Revision:  https://reviews.freebsd.org/D52860
bc433a0b7b046b0412777e0f3cc8f18a233af8ff Warner Losh 2025-10-03 13:49:32

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

nda.4: Add a HARDWARE section, tag SPDX
The description likely also needs some love.

MFC after:              1 hour
Co-authored-by:         ziaee (typed up imps suggestion, tagged spdx)
Differential Revision:  https://reviews.freebsd.org/D52866
f19aea89abd8964bf96d134c2bd6e127464c79f6 Warner Losh 2025-10-03 14:30:15

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

fts: Document thread (un)safety
MFC after:    3 days
Sponsored by:   Klara, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D52828
64f8416afd4cd042b34e3e975f84fb3493397828 Dag-Erling Smørgrav 2025-10-04 18:35:38

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

ice.4: Avoid first person language
Approved by:  ziaee
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52896
85531add28443e4202632fedcb3ae6038d4acb0c Brad Davis 2025-10-03 22:01:45

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

bsdinstall.8: Minor maintenance
Replace CD-ROMs with "discs, USBs, or network boot environments"
to both modernize aesthetic and also nudge youths to think at scale.
Since I'm disrupting the flow of these lines anyway, expand the VM
acronym because I think this is one of the first manuals people will
be looking at.

Reset list alignment to seven characters. It was at 19 characters,
and that was not enough to align them all, wasting many extra lines
by crunching all the words over. Seven actually bought us some lines
from six due to avg item size. Tag SPDX.

MFC after:      3 days
Discussed with: ivy, zi
81d9e08a4df42079d5e163b5991d5d6f3a28d4f0 Alexander Ziaee 2025-10-03 22:26:05

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

ice.4: Zap registered mark from document descr
Document descriptions for device drivers always contain registered
trademarks of the manufacturers, but this is not a place for the
registered mark symbol. While here, remove another useless symbol,
the hyphen in the first line comment.

MFC after:      3 days
6720975ba0c5b821ea0e889457737a3e2692125a Alexander Ziaee 2025-10-04 23:11:50

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

iovctl.8: Fix missing xref section number
MFC after:    3 days
17085d8eb1207aa925ca5eeda1d5ba132f1dd163 Alexander Ziaee 2025-10-06 18:48:06

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

ice.4: Improve SYNOPSIS
Remove prose from synopsis, adding sysctls and tunables.

MFC after:              3 days
Reviewed by:            kbowling
Differential Revision:  https://reviews.freebsd.org/D52913
45f8336f3a3128c4c935a192e621c4882d6499be Alexander Ziaee 2025-10-06 18:48:50

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

snl.3: use \e esc sequence for \ as per mandoc_char(7)
Suggested by: cyric@mm.st
dcb5ee48960a3c1d0120be0524d4c81f831d23a3 Maxim Konovalov 2025-10-06 21:10:26

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

pf.conf.5: 'address' is mandatory with route-to
Adjust the BNF, and don't claim it is optional in the text.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290059
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
306f29475fcefcca0a32d1cd764eabf7b2e441f8 Kristof Provost 2025-10-07 08:13:23

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

fts: Further improve the manual page
* Add subsections for the three functions that didn't already have one.
* Add a RETURN VALUES section.
* Improve the grammar somewhat.
* Clarify that fts_read() will not set errno to 0 if called again after
  having already returned NULL.

Sponsored by:   Klara, Inc.
Reviewed by:    bcr, markj
Differential Revision:  https://reviews.freebsd.org/D52925
a802334d86c7173ddd7776a20065bd5682f25f67 Dag-Erling Smørgrav 2025-10-07 16:23:33

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

bsdinstall.8: Fix '---jail' option in manpage
The .Fl macro implicitly adds a '-', so only use a single '-' in the
--jail option.

Fixes:  https://cgit.freebsd.org/src/commit/?id=8d0a90512ee3 ("bsdinstall: Improve pkgbase handling for jails")
MFC after:      1 day
Reported by:    Mark Millard <marklmi@yahoo.com>
Sponsored by:   https://www.patreon.com/bsdivy
ed5023c96c6e0228d4c38d89b86809c713ed3d68 Lexi Winter 2025-10-08 09:28:03

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

arch.7: deprecate __ILP32__ and __LP64__ macros
With CHERI there now more options than __ILP32__ and __LP64__ so lack of
one does not imply the other.  Encourage the use of __SIZEOF_*__ macro
tests in their place.

Effort:         CHERI upstreaming
Reviewed by:    kib, markj, emaste
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D52820
9e7eb261e6f965f121515cc52db96ea879b8b384 Brooks Davis 2025-10-08 09:30:34

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

arch.7: decouple long and pointer sizes
Don't claim void* or (u)intptr_t are the same size as long.  This isn't
true for CHERI.

Effort:         CHERI upstream
Reviewed by:    kib, markj, jhb, emaste
Sponsored by:   Innovate UK, DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D52821
2fe28202aaac4735f4982e7b79997a0dbc66e588 John Baldwin 2025-10-08 09:31:17

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

arch.7: Add CHERI architectures
Effort:               CHERI upstreaming
Co-authored-by: Brooks Davis <brooks@FreeBSD.org>
Reviewed by:    kib, markj, jhb, emaste
Sponsored by:   Innovate UK, DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D52822
fd895b4f0423e430e311f5ee340b21458dc46b47 John Baldwin 2025-10-08 09:31:41

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

jail.8: Mention that vnet.interface can have multiple addresses
The vnet.interface parameter allows defining multiple interfaces,
separated by commas. Mention this in the man page.
While here, fix some other style nits that mandoc complained about.

PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206353
Approved by:            ziaee
Differential Revision:  https://reviews.freebsd.org/D52965
ab0329e6eb457590e55d54267ef67453e11bc7cd Paul Armstrong 2025-10-08 16:15:26

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

aacraid.4: Improve HARDWARE introductory sentance
To improve HW relnotes

MFC after:      3 days
20a8d06034791c8bb2cc733e4fe4fa1bc60273ec Alexander Ziaee 2025-10-08 16:45:33

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

aacraid.4: Fix document description + tag SPDX
The document description previously just stated the name of the driver.
Replace this with the name of the controller families and specs that
it supports, in a similar fashion to other RAID drivers.

MFC after:      3 days
d5d1e05efbedf67f1ef8e8428f9107401e369a0b Alexander Ziaee 2025-10-08 16:48:19

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

getgrouplist.3: Insist on the value returned in 'ngroups'; Minor changes
Emphasize the peculiar treatment of 'ngroups', through which the
effective group list's size is returned, even if the passed allocated
size is not big enough, in which case the output 'groups' array is
completely filled with the effective group list's first elements.

Use the precise POSIX term for the group associated to the user in the
password database ("initial numerical group ID"), consistently with what
was done in initgroups.3.

Use "length" instead of "size" to refer to the number of elements of an
array (in contrast with its actual size in bytes).

Perform some minor simplifications on top of the last rework.

MFC after:      1 hour
Sponsored by:   The FreeBSD Foundation
f5544556754ec6b33c1d13c7648a354fef645b2f Olivier Certner 2025-10-08 10:06:02

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

initgroups.3: Clarify that ENOMEM is a possible value for 'errno'
The current phrasing could be interpreted as meaning that initgroups(3)
could return ENOMEM instead of -1, which it actually did until I fixed
it in commit 0b018cfd81d8 ("initgroups(3): Fix return value on
allocation failure").

While here, mention setgroups(2) as a system call rather than a library
function.

MFC with:       0b018cfd81d8 ("initgroups(3): Fix return value on allocation failure")
Sponsored by:   The FreeBSD Foundation
c36a44e1cdab1c67a98132676818f473cc4e5c03 Olivier Certner 2025-10-09 14:04:44

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

Merge commit '1fdae2e33fdc751bc2ec74c81fcde14323e4e965'
Be explicit that newaliases for sendmail
(Upstream sendmail.org commit 3084151d898)

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289259
MFC after:      1 hour
e9f7c3de111b9dda23e1763e030688d78a71d8ff Gregory Neil Shapiro 2025-10-09 18:03:43

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

umass.4: Modernize driver loading instructions
+ consolidate kernel configuration in SYNOPSIS
+ explain driver autoloading in DESCRIPTION
+ s/port/interface/ because of internal USBs
+ fix flow of remaining example

MFC after:      1 day
d8a4843cb76ec1b7da8d5defafb7eef9a6cc1c21 Alexander Ziaee 2025-10-09 14:55:14

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

cli.lua.8: Reflow literal comments
Reflow comments in literal text blocks
so this manual is legible at MANWIDTH 78.

MFC after:      1 day
de36d0dbaeaf05e9bf949fdf22b560c34b2c0d74 Alexander Ziaee 2025-10-09 21:13:54

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

mount_nullfs.8: document unixbypass and nounixbypass
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D52983
033587a985a46e9d45fc3fb48a78754d81f0d50d Konstantin Belousov 2025-10-09 20:55:01

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

getgroups.2: Simplifications; Be clearer on programs to be modified
In the STANDARDS section, stop mentioning behavior that is not
prescribed by POSIX and make sure to specify which alternative we
implement (as POSIX allows to return or not the effective group ID).

Say more clearly that programs treating specially the first slot of the
returned array must be modified.

Consistently use "group ID" instead of "GID".

These changes are going to be MFCed into stable/14 as part of MFCing
commit 4be38acc826f ("getgroups.2: Clarify, mention ascending order, add
SECURITY CONSIDERATIONS"), so the current commit will be MFCed to
stable/15 only.

MFC after:      1 hour
MFC to:         stable/15
Sponsored by:   The FreeBSD Foundation
c363dcbe75b2c7171611815daec82d263607ee37 Olivier Certner 2025-10-10 15:49:47

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

RELNOTES: Add an entry for commit 5000d023a446
9504e956c50875b2325f62c2d658509fa10d489d Rick Macklem 2025-10-12 00:35:04

debug: classified in 03-filenames_plain1 by 'RELNOTES'

RELNOTES: Fix up the entry for 5000d023a446
1129bf441e99b9ced3fe448e19cbb15b64b9b3f1 Rick Macklem 2025-10-12 00:43:10

debug: classified in 03-filenames_plain1 by 'RELNOTES'

pam_xdg.8: Remove bogus note
The pam_xdg module does set the XDG_RUNTIME_DIR in the environment, it's actually
its main purpose.

Reported by:    arrowd
f08c46c8c83b4de306db1c8fab36a51c6c0ca28e Emmanuel Vadot 2025-10-13 05:57:46

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

bridge.4: Fix the synopsis for -ifuntagged
This command doesn't accept a vlan-id.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290141
MFC after:      3 days
Reported by:    Paul Procacci <pprocacci@gmail.com>
Reviewed by:    ziaee (manpages)
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53049
dc978c5cb55b75d292c7ef32564f5c376685234b Lexi Winter 2025-10-13 05:57:57

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

bridge.4: Improve VLAN documentation
Document how bridge implements VLANs, and provide an example of
configuring a bridge with VLAN filtering.

MFC after:      3 days
Reviewed by:    ziaee, pauamma_gundo.com (previous version)
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D51185
dd69f1261ec5eb91cd7786d4462a15cfdd810d25 Lexi Winter 2025-10-13 10:39:56

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

realpath: Belatedly document POSIX conformance
We've been mostly POSIX-conforming since r236400 and fully since r240410,
which fixed a corner case where a missing non-leaf directory would be
reported as ENOTDIR instead of ENOENT.

Sponsored by:   Klara, Inc.
Fixes:          https://cgit.freebsd.org/src/commit/?id=7877ed7ce33e ("Avoid mapping ENOENT to ENOTDIR for non-existent path components.")
Reviewed by:    ziaee, markj
Differential Revision:  https://reviews.freebsd.org/D53027
7c66667d45e95af59f59e41ef169119a974a6be1 Dag-Erling Smørgrav 2025-10-13 11:53:31

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

blocklist: Add an UPDATING entry
Add an UPDATING entry about the renaming of blocklist.

Approved by:    emaste (mentor)
Fixes:  https://cgit.freebsd.org/src/commit/?id=7238317403b9 ("blocklist: Rename blacklist to blocklist")
MFC after:      1 day
ffa8165009365ff93050626d880f2d1d6aacc31a Jose Luis Duran 2025-10-13 14:35:12

debug: classified in 03-filenames_plain1 by 'UPDATING'

certctl.8: Update documentation of BUNDLE
- Fix a typo.
- Provide the default path.

Reviewed by:    des
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53001
ec8e07e8fa94767dceb409c4c7c1840bba39172b Mark Johnston 2025-10-14 13:32:46

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

socket(2): refactor the manual page
Create a chapter on every important socket type: stream, datagram,
seqpacket.  Always list what protocol families do support what kinds of
sockets.  Improve some statements possessing language from the
specification [1].  Reduce some statements that are mostly specific to
TCP.  Provide more external links and references to various important
syscalls that can be used on sockets.

Add a paragrph on non-blocking mode.

The big factual change is documentation of SOCK_SEQPACKET.  In FreeBSD 15
this socket now fully follows the specification and is a stream socket
with record boundaries.

[1] https://pubs.opengroup.org/onlinepubs/9799919799/functions/V2_chap02.html#tag_16_10_06

Differential Revision:  https://reviews.freebsd.org/D52771
86d17239233ea4f5766bee68ba6355804525cefa Gleb Smirnoff 2025-10-14 18:41:25

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

socket.2: spell
ad13fd5a8fa1607805d11ced3428e86dbd94778e Maxim Konovalov 2025-10-14 20:32:07

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

nvd.4: Add a HARDWARE section for HW Relnotes
MFC after:    3 days
Reviewed by:    dab
Differential Revision:  https://reviews.freebsd.org/D52867
7f5267a99895a797ea135b67aa58d561ee52b279 Alexander Ziaee 2025-10-16 17:16:23

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

release.7: Update RPI example + CHROOTDIR + SPDX
+ arm/RPI-B.conf no longer exists, adjust for arm64/RPI.conf
+ document default CHROOTDIR, also add to FILES list
+ tag SPDX

MFC after:      3 days
Reviewed by:    cperciva
Differential Revision:  https://reviews.freebsd.org/D53078
8a9f1a2286689c447e8528dc79ee6c4a47423fdc Alexander Ziaee 2025-10-16 17:16:48

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

UPDATING: Belatedly note OpenZFS sysctls moving
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52665
9f85cf09d48bb1bebeddab0913fc9ab2735cb810 Ed Maste 2025-10-16 16:47:08

debug: classified in 03-filenames_plain1 by 'UPDATING'

manpages: Use canonical names for Linux filesystems
The manpages of linprocfs(5) and linsysfs(5) document incomplete names without
"fs" suffix. Make them identical to other filesystems.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283079
MFC after:      3 days
Reviewed by:    ziaee, markj
Differential Revision:  https://reviews.freebsd.org/D53155
88b9ca860ef332d4d32e97e0f8a166f12cffc8e3 Michael Osipov 2025-10-17 09:24:12

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

VOP_OPENCLOSE.9: note that td may be NULL for VOP_CLOSE
MFC after:    3 days
Reviewed by:    asomers, olce
Differential Revision:  https://reviews.freebsd.org/D53137
8a1d6d6da5cfe0b69c08f20e52817aa9920efe87 Jason A. Harmening 2025-10-16 15:25:51

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

kqueue.2: document KQUEUE_CPONFORK
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
a4981ededef3c2d867ddd991905e4b65bc917a62 Konstantin Belousov 2025-10-08 03:06:20

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

aw_mmc.4: add D1 compatible
MFC after:    3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52586
67bc0e34594d69acd14e5d08e426fdd26f5b7e5a Mitchell Horne 2025-07-11 20:58:39

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

snd_dummy.4: Use sound(4) instead of PCM
Sponsored by: The FreeBSD Foundation
MFC after:      4 days
Reviewed by:    ziaee
Differential Revision:  https://reviews.freebsd.org/D53257
d6432907f6120ff4993de7352ca62f6986fb910c Christos Margiolis 2025-10-22 11:51:15

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

uio.9: Improve description of uio_rw flags
The direction of the data transfer in uio(9) can be confusing,
so state explicitly the difference between UIO_READ and UIO_WRITE.

Reviewed by:    ziaee
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52996
0625f470e0956a3a337e4999f6712ec7b7d872e5 Mateusz Piotrowski 2025-10-09 15:47:25

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

clock_gettime(2): Remove unneeded trailing wording.
30394f3c87cdbeb27aa387dddd3d24020509834f Bryan Drewery 2025-10-15 23:39:57

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

gpart.8: Document one of gpart destroy diagnostic message
Reviewed by:  ziaee
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D52992
a08b38dfcea3c61718dfa40b003518fa3d9adac4 Mateusz Piotrowski 2025-10-24 14:51:07

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

Commit group #2: fdisk: Bump removal to FreeBSD 16.0
fdisk: Bump removal to FreeBSD 16.0

Removal did not happen prior to 15.0.

Sponsored by:   The FreeBSD Foundation
f817f6e7f4a8dc507f3e1b1603dfd2d81093e3bd Ed Maste 2025-10-24 15:08:25

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


fdisk: Bump deprecated version in warning message as well

Fixes: https://cgit.freebsd.org/src/commit/?id=f817f6e7f4a8 ("fdisk: Bump removal to FreeBSD 16.0")
Sponsored by:   The FreeBSD Foundation
739750ae7c63c653025ad84cac6ba7cb6756dcf8 Ed Maste 2025-10-24 15:10:42

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

debug: moved to doc because 'Need to be grouped with f817f6e7f4a8dc507f3e1b1603dfd2d81093e3bd'

getrlimitusage.2: Update HISTORY section
Add 14.2, as this was cherry-picked prior to release.

Reported by:    Harald Eilertsen
Reviewed by:    kib
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53320
2387a51af235e4304c63f95465a569c878f49dcd Ed Maste 2025-10-24 12:10:26

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

deadfs.9: spell
ec5b9019c2bb456a9b6130e8056d68ac49a20e0a Maxim Konovalov 2025-10-24 20:10:46

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

examples/mdoc: Remove text of BSD-2-Clause from mdoc examples
We live in the SPDX world now and our example manual pages should
reflect that.

Also, fix the order of the SPDX and copyright lines as per style(9).

Reviewed by:    ziaee
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53335
83ac79599f6b94c57321ce3738fc28d1fa6a6c60 Mateusz Piotrowski 2025-10-24 18:13:02

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

ffs.3: Add a STANDARDS section to the manual page
The ffs() function conforms to IEEE Std 1003.1-2008 ("POSIX.1").
The ffsl() and ffsll() functions conform to IEEE Std 1003.1-2024 ("POSIX.1").

Reviewed by:    ziaee
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D53352
f1cb4e9962d715ec85ba26d7019ab83adea1ffb7 Gordon Bergling 2025-10-25 21:37:22

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

mandoc: Also run makewhatis for /usr/share/openssl/man
We use a pkg(8) trigger to run makewhatis for /usr/share/man when
manpages are updated, but this doesn't cover /usr/share/openssl/man.

Rewrite the trigger to process a list of directories instead of a
single directory, and include /usr/share/openssl/man in the list.

MFC after:      3 days
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53064
450fb637f453c3722aa9f0aeb369e2aa2f5a5001 Lexi Winter 2025-10-25 17:30:03

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

libc: fix description issues in mac_text(3)/mac_free(3)
mac_text(3) as-written would seem to indicate that a `mac_t` should be
freed with free(3), but this isn't the case.  One can derive from
context from when the change was introduced and COMPATIBILITY that this
was intended to talk about *text in `mac_to_text`, so move the comment
there.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=179832
Co-authored-by: Priit Järv <priit cc ttu ee>
MFC after:      3 days
081218b7a2006e5b6783e51f66fd751871ac1272 Kyle Evans 2025-10-26 15:10:34

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

g_bio.9: Reference dtrace_io(4)
MFC after:    3 days
3559b8e98341d7087771516b1d8f9560a5c555b4 Mateusz Piotrowski 2025-10-26 16:31:37

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

write.2: explain the atomicity guarantees of the writes
Also provide the pointer to the latest POSIX standard that justifies the
requirement.

Reviewed by:    emaste
Discussed with: rmacklem
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53361
1c8d7bb4cf7a6b19262333b2a9b1dacf3094b938 Konstantin Belousov 2025-10-26 14:57:16

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

gone_in(9): bring the manual page up to date
3bcd7d4fa46a29ec3576d9474e9541510885cfaf Gleb Smirnoff 2025-10-27 18:51:04

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

closefrom.2: Add introduction of close_range to HISTORY
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53240
514fff24b19f69c5f22db380389128eb6bc32ea7 Ed Maste 2025-10-21 14:51:50

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

insmntque.9: Refer to vnode operations vector correctly
The comment in sys/vnode.h describes
the v_op member as "vnode operations vector",
so use "operations" instead of "operation" here.

Reviewed by:    bcr
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53333
24a6e040fc2e84234c684abcf3e1668a5a9467eb Mateusz Piotrowski 2025-10-24 17:34:04

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

agp.4: Bump deprecation to 16.0
It was not actually removed prior to FreeBSD 15.0.

Sponsored by:   The FreeBSD Foundation
cadadd1a0398fdeaebf62ab4d092ada0e3eb68c8 Ed Maste 2025-10-24 15:05:00

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

upgt.4: bump removal to 16.0
It was not actually removed prior to FreeBSD 15.0.

Sponsored by:   The FreeBSD Foundation
0cd8754ad52bb8174b8a766708424a4c53b8fc96 Ed Maste 2025-10-24 15:06:37

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

tuning.7 stats.7: Cross-reference
MFC after:    3 days
b2c5686755757535a6c3223b31fb96b64a961f15 Mateusz Piotrowski 2025-10-28 17:59:11

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

d.7: Order user-defined variable types by scope
MFC after:    3 days
38b81fbb9c375ef20c56e5d6f4099b88fcdba44c Mateusz Piotrowski 2025-10-28 19:13:18

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

getvfsbyname.3 mount.8: Reference lsvfs(1)
MFC after:    3 days
Reviewed by:    ziaee
Differential Revision:  https://reviews.freebsd.org/D53411
cb1315c15acf7d3fae66b2c5631e076776683f96 Mateusz Piotrowski 2025-10-28 18:10:25

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

Document the DEPRECATION NOTICE section for kernel interfaces
4b6700f3455f46aaed2c090e1c67c67565f26369 David E. O'Brien 2025-10-29 06:51:26

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

bhyve.8: Correct description for -c flag, tag spdx
The examples only show the usage of `-c <numcpus>`, as did the flag
description, however the -c flag supports more complex cpu topology
specifiers. These were documented correctly in SYNOPSIS, add them to
the body of the DESCRIPTION as well. Someone could go further and do
and example with using them.

MFC after:      3 days
Event:          OpenZFS Developer Summit '25
Reported by:    Levi Worley <levi@gainframe.com>
205af037e302fbd50dabc485a89e2222cd063b9e Alexander Ziaee 2025-10-30 15:06:30

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

gshsec.8: Fix list alignment, tag spdx
MFC after:    3 days
05d48584607221922539bb6917c9c118236d78d5 Alexander Ziaee 2025-10-30 15:49:31

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

ifconfig.8: Mention max name length
832cd05905980d0f6547bf02745b054c1f4af1eb William Carrel 2025-10-30 18:39:29

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

revoke.2: Remove mention of block special device files
Block devices are a thing of a past in FreeBSD.

Reviewed by:    ziaee
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53332
48b63e821dec5533dab165d4e95e876bdbd0a37e Mateusz Piotrowski 2025-10-24 17:17:42

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

simd.7: add scalar memchr() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46023
d2c23f5953a823e01f0c6418b0f98c119f145e20 Strahinja Stanišić 2024-07-18 17:57:51

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

simd.7: add scalar memset() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D45730
164156058e723c0d9b2bb68054543963f40f1159 Strahinja Stanišić 2024-06-24 17:07:06

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

simd.7: add scalar strlen() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D45693
07b1d5a37741f5d4de69117a03ef757edff29032 Strahinja Stanišić 2024-06-21 23:43:51

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

simd.7: add scalar memcpy() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46139
c80dfcb37261e5e8575d41801e64a39b7db6f4f8 Strahinja Stanišić 2024-07-24 23:36:09

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

simd.7: add scalar strnlen() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz, Jari Sihvola <jsihv@gmx.com>
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46230
474a80d3ff8516df5c379fa7f8e563cecb032060 Strahinja Stanišić 2024-08-05 13:51:09

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

simd.7: add scalar strchrnul() for RISC-V to manpage
index() and strchr() are implemented by calling strchrnul(), so they
also get to be marked as platform-specific.

MFC after:      1 month
MFC to:         stable/15
Approved by:    markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46047
39fef5b9fa943f301776e0b0bf406cedd7c29af2 Strahinja Stanišić 2024-07-19 18:01:51

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

simd.7: document bcopy() and bzero() as accelerated on riscv64
Event:                Google Summer of Code 2024
MFC after:      1 month
MFC to:         stable/15
Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D53248
d6870bb941fe235e0031f8bfb53fbd120ff859f9 Robert Clausecker 2025-10-21 18:58:16

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

dtrace_io.4: Use bio_length instead of bio_bcount in examples
Tracing bio_bcount makes little sense for some devices like for example
md(4), as it is set to "0" instead of to the actual I/O length.

markj@ suggested the following DTrace one-liner to identify some cases
where bio_length is set but bio_bcount is not:

    dtrace -n 'io:::start /args[0]->bio_length != args[0]->bio_bcount/{printf("%d %d", args[0]->bio_length, args[0]->bio_bcount); stack();}'

For future reference in the context of bio_length vs bio_bcount,
phk@ mentioned in the code review that:

> the original intent was to get rid of of bio_bcount

Reviewed by:    markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53365
db25448ab9ffa8bfe52d852674cc466494b849d1 Mateusz Piotrowski 2025-10-26 16:52:11

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

u3g: Note support for Quectel EM060K and Sierra EM7590
Sponsored by:         Netflix
d787ce1927bc7662b869cf2bc5e280c3c524dff5 Warner Losh 2025-10-31 16:52:37

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

pathconf.2: Document the new _PC_CASE_INSENSITIVE name
Commit d6864221d8 added support for the _PC_CASE_INSENSITIVE
name for pathconf, to indicate if case insensitive lookups
are configured.

This patch documents this new name and also updates
the description for _PC_HAS_HIDDENSYSTEM to also
include UF_ARCHIVE.

This is a content change.

Reviewed by:    kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53508
b473bb274cef37d45940cad4624b5d3b7fc96e01 Rick Macklem 2025-11-01 22:20:40

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

d.7: Document strchr, strjoin, strrchr, strstr, strtok, strlen, and substr
Reviewed by:  markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53417
af99c4c1d03c742faf8bd4c62fbbb664c5f7fc18 Mateusz Piotrowski 2025-10-28 20:06:53

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

atomic.9: fix description of acquire and release
The ordering point is not the atomic operation itself, but the load for
acquire or store for release done as part of the atomic.  This does not
matter for atomic_load_acq and atomic_store_rel, but does matter for RWM
operations.

Noted by:       alc
Reviewed by:    markj
Discussed with: alc
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D52744
f26382dd72dfc710a8cc7159364a8166e22a4254 Konstantin Belousov 2025-10-05 08:39:32

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

atomic.9: provide fine details about CAS memory model MD semantic
Reviewed by:  markj
Discussed with: alc
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D52744
269b1c238806c7fb8835a0510b224c466ca3efa0 Konstantin Belousov 2025-09-26 06:58:36

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

UPDATING: Add an entry for e5aa60d06958
088ced14a69ba2dce083c031b60c0d04ba218488 Rick Macklem 2025-11-03 00:20:26

debug: classified in 03-filenames_plain1 by 'UPDATING'

pf.conf.5: add nat-to/rdr-to to BNF
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290705
MFC after:      1 week
Sponsored by:   Rubicon Communications, LLC ("Netgate")
cd7f3e4d9e8305f866cf15e91b2ad01eb7685ba2 Kristof Provost 2025-11-03 16:05:25

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

cut.1: Align option list and tag spdx
MFC after:    3 days
16f37d97b9500a4fe2d0719161025515d477a5cd Alexander Ziaee 2025-11-03 23:21:10

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

buf.9: Sprinkle with mdoc macros
I did not bump the date here as the manual page looks more like a draft
and I'm not sure if it is actually up-to-date considering that it's
current Dd dates back to 1998.

MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52770
fc7f5452c6ff1a9d01a9d8d0638da593ae4f080c Mateusz Piotrowski 2025-11-04 11:04:43

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

makedev(9): drop an additional note about cdevpriv dtors
These were previously somewhat safe to call destroy_dev(9), but will now
also cause a deadlock in the same fashion that d_close doing so would
previously.  Amend the note to point it out, in case it's useful for
someone.

Reviewed by:    imp, kib, markj
Differential Revision:  https://reviews.freebsd.org/D53439
90314c04f10f583c37c59ec51fd628e3deaf3622 Kyle Evans 2025-11-05 00:28:02

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

posix_fallocate(2): move unsupported case to EOPNOTSUPP
ZFS has since been changed to use EOPNOTSUPP instead of EINVAL, and
fusefs/nfs are following suit.  POSIX Issue 8 had also made this move,
so it makes sense for us to standardize on EOPNOTSUPP.

Note in the HISTORY section where we're diverging from our previous
versions to align with the new standard.

Reviewed by:    asomers, imp (both previous version), kib
Differential Revision:  https://reviews.freebsd.org/D53537
737edb8fb52b6ed13ae4e09553a0d2ae2899cede Kyle Evans 2025-11-05 00:30:59

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

date.1: Lint with mandoc
Specifically, remove Tn macors, replace Li with Ql, and escape %N to
address date.1's rendering issues on man.freebsd.org.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290801
Reported by:    jinwookjeongg@gmail.com
MFC after:      1 week
Sponsored by:   Klara, Inc.
e878ba8eea7206b3a435338c6eed0e4264e0ce14 Mateusz Piotrowski 2025-11-05 12:34:31

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

UPDATING: mention pf's nat64 support
MFC after:    3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
f939619a2f989656e1ecdfd7a2759e3ba44d4ec7 Kristof Provost 2025-11-05 09:59:43

debug: classified in 03-filenames_plain1 by 'UPDATING'

ice.4: Add ToC and E835 and editorial pass
This manual is large enough and well structured enough that we can have
a clickable table of contents. Use that to move some subsections which
should not appear in Hardware Release Note to the description section.
Adjust subsection names so this will work, preserving parentheticals
for search by moving them to the bodies just below.

Strip unnecessary copyright symbols and escaped hyphens. Copyright
symbols never appear in the content of manual pages, including other
Intel manual pages, and appear to break the Hardware Release Notes.
Escaped hyphens were necessary decades ago for manual pages written
in man(7), but this page is written in mdoc(7). Also misc touchups.

Add the recently added E835 devices to the supported HARDWARE list.
Add the speed ranges to description like the other ethernet drivers.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290778
MFC after:      1 day
Fixes:          https://cgit.freebsd.org/src/commit/?id=09b48f811b4b (Add support for E835-XXV-4 adapter)
Fixes:          https://cgit.freebsd.org/src/commit/?id=b202176dc76d (Add PCI IDs for E835 devices)
Reviewed by:    kgalazka (previous version)
Reported by:    kgalazka (additional hardware has been added)
Reported by:    bigsneaky@duck.com (HW Relnote is truncating)
f30335c5cb5e18a1ef08f5ba1d6fa6fc06f39348 Alexander Ziaee 2025-11-05 21:59:20

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

inetd.8: Remove the enumeration of examples
The user can trivially see the list of examples in /etc/inetd.conf
by looking at the file, so there's no need to include an entire
paragraph in the manual enumerating the examples which are provided.

MFC after:      3 days
Reviewed by:    0mp
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52740
a7c558b4ade848da31a6d36d1d47e7031bc7d82e Lexi Winter 2025-11-05 23:51:05

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

Commit group #3: mpr.4: Add Broadcom LSI 3808 to HARDWARE
mpr.4: Add Broadcom LSI 3808 to HARDWARE

The product brief "MegaRAID 9500 PCIe Gen 4.0 Tri-Mode Storage Adapters"
confirms that the LSI 3808 are supported in FreeBSD.

https://docs.broadcom.com/doc/MegaRAID-9500-Tri-Mode-Storage-Adapters

MFC after:              3 days
Reviewed by:            imp, ziaee
Differential Revision:  https://reviews.freebsd.org/D52760
744c8d55445300074fc1906ad50aa6f394c1b8cf Jiacong Fang 2025-09-28 04:03:57

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


mpr.4: Remove Broadcom LSI 3908 from support list

"This one is my fault due to incorrect merging" ~ziaee

MFC after:              3 days
Reviewed by:            ziaee
Fixes:                  https://cgit.freebsd.org/src/commit/?id=744c8d554453 (mpr.4: Add Broadcom LSI 3808)
Differential Revision:  https://reviews.freebsd.org/D53634
8caf467784ba9f502c52fb67d968e21b0ee5f9e0 Jiacong Fang 2025-11-07 18:40:20

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

mixer(8): Update FILES section
While here, change "N" to "X" to match sndctl.8's notation.

Sponsored by:   The FreeBSD Foundation
MFC after:      4 days
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53503
26e7e9a6a2a2ee8101b0d06c83ac6d66b78a985d Christos Margiolis 2025-11-06 12:56:36

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

dumpon(8): Add a SYSCTL VARIABLES section
Document debug.minidump and machdep.dump_retry_count sysctl variables.

PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259393
MFC after:              3 seconds
Reviewed by:            gbe (previous), markj, ziaee
Differential Revision:  https://reviews.freebsd.org/D32618
850841edf6c0867a170d2637f3dacfda33d5f3dd Felix Johnson 2025-11-06 16:32:42

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

ciss.4: Add p440ar to HARDWARE
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290425
MFC after:      3 seconds, this fixes the HW relnotes
Reported by:    jwb
a41ffaa330f5dbfc6b10f32ea2879755e07ba932 Alexander Ziaee 2025-11-06 16:51:13

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

dumpon.8: use .Nm macro when refer to itself
Bump .Dd too while I am here.
396fac02243911588abe56be387fbdab14469c49 Maxim Konovalov 2025-11-06 18:03:59

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

sysrc.8: Rewrite examples for mdoc conformance
Tag SPDX while here. This is not a content change, so do not bump date.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274164
MFC after:      3 seconds
3f0dd7724658126dcfde488a994cf7698353a82c Alexander Ziaee 2025-11-06 18:42:06

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

ports.7: Add /var/db/ports to FILES
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272426
MFC after:      3 days
Co-authored-by: Piotr Smyrak <ps.ports@smyrak.com>
b8ff8a11c0d1d1f1b3bd1e60fae9c05ada7b28c5 Mateusz Piotrowski 2025-11-06 22:11:22

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

dtrace.1: Fix mdoc macros around -x
There should be no space between -x's "arg" and "=value".

MFC after:      3 days
753cef701dbea03627c1fe11dd5556e74df415b2 Mateusz Piotrowski 2025-11-06 23:04:01

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

jail.8: Add creating a jail from distribution set
PR:                   https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200803
MFC after:              3 days
Reviewed by:            jamie
Differential Revision:  https://reviews.freebsd.org/D53631
d59903481dbaef9ef7e91ea4945d2355ae17c53a Alexander Ziaee 2025-11-07 18:38:54

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

utx.8: protect first name "Ed"
For some people "Ed" is a first name, but for mandoc it is a
macro (end of display block) and needs to be escaped.
385796001c415c2410989edceef01e4b50c6cdee Wolfram Schneider 2025-11-08 08:04:33

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

dtrace.1: Document DTRACE_DEBUG
Reviewed by:  markj
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53627
f811c0a555546e4154dfa159e8f56b3ba1c70d0d Mateusz Piotrowski 2025-11-06 22:41:44

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

ix.4: Add E610 to HARDWARE section
MFC after:            3 days
Reviewed by:            ziaee
Fixes:                  https://cgit.freebsd.org/src/commit/?id=dea5f973d0c8 (new Intel Ethernet E610 family)
Differential Revision:  https://reviews.freebsd.org/D52990
abd53b16c03f77c12bb8b77d9e2e4cf392745361 Yogesh Bhosale 2025-11-10 19:23:46

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

nuageinit.7: fix cloud-config header line
This updates the nuageinit man page by aligning mentions of the
cloud-config header line with the cloud-init documentation[0], removing
an unwanted "!" character.

[0] https://docs.cloud-init.io/en/latest/explanation/about-cloud-config.html#how-do-i-create-a-cloud-config-file

Signed-off-by: Jonathan Matthews <freebsd@hello.jonathanmatthews.com>
Differential Revision:  https://reviews.freebsd.org/D53706
4ab2d625e1462e9a78cb8086906c1a3da3aa6713 Jonathan Matthews 2025-11-12 09:24:24

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

ix.4: Document E610 debug dump
Explain how to collect E610 device debug dump data with sysctl for
troubleshooting with Intel Customer Support.

Fixes:                  https://cgit.freebsd.org/src/commit/?id=2170400142b9 (Add support for debug dump)
Reviewed by:            bcr, erj (previous version), ziaee
Signed-off-by:          Yogesh Bhosale <yogesh.bhosale@intel.com>
Differential Revision:  https://reviews.freebsd.org/D52990
8225ed665eea69b3df3ea57009cf8fe61863c1fc Yogesh Bhosale 2025-11-10 18:03:54

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

sbp.4: Add a hardware section, fix markup nits
+ tag SPDX
+ add sysctl to apropos database
+ fix markup of examples and reflow a overly long line
+ add a hardware section for hw relnotes

MFC after:      3 days
dee8e38f52266d9b2fa837607ff3a78f240a806d Alexander Ziaee 2025-11-11 18:38:04

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

mx25l.4: Describe better and tag spdx
MFC after:    3 days
6f73950475ce6b56974b7cd08cdf0ea771165c50 Alexander Ziaee 2025-11-11 18:56:40

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

mx25l.4: Add n25q64 to hardware list
MFC after:    3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=76735c74398923a (flash: Add "n25q64" to mx25l driver)
595fcd71a89e8c2d9039528d58b073f5ca712b68 Alexander Ziaee 2025-11-11 18:58:19

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

hgame.4: Polish
Explain driver loading and application access in the body of the manual.
Crossreference other game controller driver manuals, and devfs.rules to
hint about how to configure application access. Add a common dongle to
supported hardware. Add evdev a few places to make it really clear how
it works.

MFC after:              immediately for inclusion in 15.0R
Reviewed by:            wulf
Differential Revision:  https://reviews.freebsd.org/D53290
c0c8d812b560a3e89656c026022a44631f88e233 Alexander Ziaee 2025-11-13 21:13:45

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

jail.8: Add creating a jail from package base
MFC after:            immediately for inclusion in 15.0R
Reported by:            ivy
Differential Revision:  https://reviews.freebsd.org/D53745
477799750abd5702a02f7f8065e6235d7db75188 Alexander Ziaee 2025-11-13 21:25:06

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

quot: Improve manual page
* Rewrite the first paragraph to clarify that quot(8) only supports FFS.

* Document which options can or cannot be combined with each other.

MFC after:      1 week
Reviewed by:    ziaee
Differential Revision:  https://reviews.freebsd.org/D53727
2f3adab9d512faec3e1891e505d1888db5d0240e Dag-Erling Smørgrav 2025-11-14 14:28:52

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

loader manuals: Clarify console and boot_serial
console=comconsole is for the loader and boot_serial is for the kernel.

I think we should centralize documentation on the loader settings in one
manual, such a loader.8. The current proliferation is not obvious where
to find the documentation. To the user, these are all set in loader.conf
or at the loader prompt.

MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D53695
09ffaa4e07d749c83cc1db13829505f21b025f29 Alexander Ziaee 2025-11-14 14:41:57

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

loader.8: Document module commands
Begin documenting module loader commands in loader(8), where the reader
would look for them. Segregate them by their availability in individual
loader implementations, like build(7) targets.
These details were graciously donated by kevans.

MFC after:              3 days
Reviewed by:            kevans
Co-authored-by:         Kyle Evans <kevans@freebsd.org>
Differential Revision:  https://reviews.freebsd.org/D50727
6fb0d67819f730e8def56e139f780eff3c0cab0f Alexander Ziaee 2025-11-14 14:59:09

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

Commit group #4: iwx.4: Fix SYNOPSIS
iwx.4: Fix SYNOPSIS

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290812
MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=27c41b28b1d7 (iwx.4: Initial manual page)
Reported by:    Dimitry Lukhtionov <dimitryluhtionov@gmail.com>
b0c1ead2b9be0f6aa5a715d849b9ca7af093b513 Alexander Ziaee 2025-11-14 15:04:45

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


iwx.4: Follow the established style

Fixes:          https://cgit.freebsd.org/src/commit/?id=b0c1ead2b9be ("iwx.4: Fix SYNOPSIS")
Reviewed by:    ziaee
Differential Revision:  https://reviews.freebsd.org/D53760
ebb0b4822699eb614d5e9418c0a1bf6b30718699 Dag-Erling Smørgrav 2025-11-16 19:10:36

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

debug: moved to doc because 'Need to be grouped with b0c1ead2b9be0f6aa5a715d849b9ca7af093b513'

boot.config.5: Clarify that this controls legacy boot blocks
Reviewed by;  ziaee
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52460
e96359d111aaffa6bf0ea72a6f183eb3b91e6c72 Ed Maste 2025-09-09 16:06:03

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

UPDATING: Document FreeBSD-base pkg .conf shuffle
Reminded by:  yasu
MFC after:      3 days
6ccdd2fc2328dd81b9c645fba025d01052a3c1a1 Colin Percival 2025-11-16 16:56:12

debug: classified in 03-filenames_plain1 by 'UPDATING'

RELNOTES: Document FreeBSD-base pkg .conf shuffle
Reminded by:  yasu
87025ccb8c802b6074f1651bfaaca5c6b4ffcc17 Colin Percival 2025-11-16 16:57:31

debug: classified in 03-filenames_plain1 by 'RELNOTES'

fdc.4: Correct igor-reported warnings
Sponsored by: The FreeBSD Foundation
e1b027b276dfba017d12b8a112af3251e79effc5 Ed Maste 2025-11-16 22:43:40

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

Deprecate fdc(4) and floppy utilities
Floppies have been obsolete for over a decade.  Add a deprecation note
now and plan to remove fdc(4) support in 16.

Reviewed by:    ziaee
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41549
4c736cfc69a7ef81c48c8431b31c7e31746fe816 Ed Maste 2023-08-22 14:45:14

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

example.4: Bump deprecation example to FreeBSD 17
The deprecation notice should indicate that the driver or feature will
be removed in a future release, not one that's nearly EOL.

Sponsored by:   The FreeBSD Foundation
bf2dc446d12953c67fa54698952b9072e3c660ce Ed Maste 2025-11-12 14:56:55

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

contrib/mandoc: document .St -ieee754-2008 in mdoc(7)
Approved by:  markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53784
63cd0841de76b215f5d5078fab097b515b42cc93 Robert Clausecker 2025-11-17 15:39:11

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

msun: document that {sin,cos,tan}pi(3) follow C23
 - also use new .St -ieee754-2008 request in *pi.3

Reviewed by:    imp
Approved by     markj (mentor)
See also:       D53784
Differential Revision:  https://reviews.freebsd.org/D53783
4fcc58afbff924293c721f4c4056bb7f94580f22 Robert Clausecker 2025-11-17 17:10:56

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

exterror.9: explain buffers and bios usage of extended errors
Reviewed by:  pauamma_gundo.com
Sponsored by:   The FreeBSD Foundation
Differential revision:  https://reviews.freebsd.org/D53798
c0a38339fec37a5b6367f138f059a12d6d716fd4 Konstantin Belousov 2025-11-18 04:23:41

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

mgb.4, muge.4: Use standard HARDWARE introduction
Release notes are generated using this text.

I used "interfaces" not "adapters" in these pages as the listed devices
are the controller ICs, not end-user projects.

Reviewed by:    ziaee
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53846
a4aa7df767e0df49ca3294d2b578be25812364d8 Ed Maste 2025-11-20 16:41:38

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

dmesg.8: Index kern.msgbuf_show_timestamp
This is the only place this important debugging tunable is documented.
Mark it up with the Va macro according to style.mdoc(5) so that people
can find it via `apropos Va=kern.msg`, the standard syntax to search
the FreeBSD manual for sysctls and tunables.

Fixes:  https://cgit.freebsd.org/src/commit/?id=6910fee62e77 (dmesg: Document kern.msgbuf_show_timestamp)
e13664f6a44b4970ea5e8378b8e1a4879fa5d5a0 Alexander Ziaee 2025-11-21 15:59:28

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

vt.4: Document increasing scrollback size
MFC:                  immediately as 2 llms say this is impossible
Reviewed by:            adrian, emaste
Differential Revision:  https://reviews.freebsd.org/D53860
a8740ba860bfc35879f886b80b30327d0d3b16bd Alexander Ziaee 2025-11-21 17:40:56

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

loader.efi.8: Minor formatting nits
- Add several missing .Pp after lists and literal blocks.

- Fix the column widths for the console table and use a shorter indent
  so that it doesn't wrap on an 80-col display.

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D53866
46d05a49a1d0d655af6cae2afd48a973698cbf71 John Baldwin 2025-11-22 13:10:20

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

mount.8: document nosymfollow option
Document the nosymfollow mount option in more details.
Forgotten in 5ddc8ded1dbe650b7d83240a1f86a1eb6e2b9b5a
a067eb525e10acc9d7e1f3b1a8a6dfeca42b4424 Wolfram Schneider 2025-11-24 08:33:07

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

Add description of the LD_DEBUG environment variable.
a8151f196c3cc6af2f8de5682e8522df5986dcd6 George V. Neville-Neil 2025-11-25 14:14:26

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

lseek.2: SEEK_HOLE, SEEK_DATA & ENXIO conform to POSIX 2024
Signed-off-by: Ricardo Branco <rbranco@suse.de>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1891
51f278e685a0aa57930fabbcc7ab0d03fda0ee49 Ricardo Branco 2025-11-18 23:00:38

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

jemalloc: import jemalloc 5.3.0 man page
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1890
bf4c7487f25d3891425a9ba54516b740a948876b Minsoo Choo 2025-11-17 18:45:19

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

jemalloc: apply freebsd changes to jemalloc 5.3.0 man page
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1890
80ec82aba9ae7286cac1a4f8000262cf2cf34d0c Minsoo Choo 2025-11-17 18:48:15

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

mdo.1: Document group-related and fine-grained control functionalities
This is a manual page update describing the functionality that was added
to mdo(1) in commit 3ca1e69028ac ("mdo(1): Add support and shortcuts for
fully specifying users and groups").  Please either refer to that commit
or the new manual page's content for more information.

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

Reviewed by:    ziaee
MFC after:      1 minute
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Google LLC (GSoC 2025)
Co-authored-by: Kushagra Srivastava <kushagra1403@gmail.com>
Differential Revision:  https://reviews.freebsd.org/D53905
73dd00f2fd7de2a5d8dda8fa25ebcd7c8964ff52 Olivier Certner 2025-09-01 15:24:54

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

papers: Retire phkmalloc paper
It has not been installed since commit cdc37953165c ("In preparation for
the removal of the roff toolchain, disconnect the") and turned up in
a search for outdated MALLOC_OPTIONS settings.

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

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287357
Reviewed by:    bapt
Event:          Kitchener-Waterloo Hackathon 202506
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50908
35232d8edb5b8b3f18b6d9b2a93ecc252f8ed5a2 Ed Maste 2025-06-17 15:07:42

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

loader: Note current autoboot_delay behavior
Some time ago, the boot loader stopped polling for a key press during
the kernel and module loading prior to the transition to lua. Inspection
of the code shows the polling is no longer there. Document the change.

Sponsored by:           Netflix
7fe881e87b4a9a65bb5cbba0e4d6808639a55781 Warner Losh 2025-11-27 04:39:48

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

man: RealTek -> Realtek
Realtek changed how it styled its name 25 or so years ago, but the old
style persisted in many places. These products use the new styling in
their datasheets.

Signed-off-by: ykla yklaxds@gmail.com
Sponsored by: Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1901
5fd8a01e9b7c0fcf3ac0bab5cd137c9bbdda3341 ykla 2025-11-26 08:43:52

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

umass(4): Update to include pointers to quirks
umass(4), while much improved, still sometimes need quirks. Add a
pointer to usb_quirk(4) and usbconfig(8).

Sponsored by:           Netflix
687ab0dc54a926092548310d71afdbe386150838 Warner Losh 2025-11-28 20:49:16

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

libc: remove ARMv5/6 from man page
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
53da09369c42333820762415cb6b829b10362389 Minsoo Choo 2025-11-29 00:40:11

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

man/man3: add cross references to stdbit(3)
Add cross references to relevant stdbit man pages

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

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

dtrace.1: remove sparc
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>

Reviewed by:    markj
MFC after:      1 week
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1907
507cfc42799f38d6960cd3a14eb66294c5fda4ff Minsoo Choo 2025-11-30 19:01:14

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

msconvd(8): Drop mentions of Bus/InPort mouse support in manual page
mse(4) was removed long ago.

MFC after:      1 month
dc6f609685a9bc41c67d3c1219311e0096982865 Vladimir Kondratyev 2025-12-01 21:09:00

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

release.7: PKGBASE is now the default
Signed-off-by:        polyduekes-git <polyduekes@proton.me>
Reviewed by:    cperciva, emaste, ziaee
Closes:         https://github.com/freebsd/freebsd-src/pull/1913
df815450fbdb494c85ca0c53f43cf9cee59e7dd1 polyduekes 2025-12-02 13:53:43

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

freebsd-base.7: Rewrite table into a tagged list
The table is not playing nicely with
https://man.freebsd.org/freebsd-base

MFC after:              3 days
Reviewed by:            pauamma@gundo.com
Differential Revision:  https://reviews.freebsd.org/D54036
39b2ca9ec99eded0b248082dcec6c843f40330a8 Alexander Ziaee 2025-12-02 17:21:08

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

kqueue(9): document f_copy
f_copy controls whether and how a knote is inherited by the child
process.

Sponsored by:           Netflix
Reviewed by:            kib
Differential Revision:  https://reviews.freebsd.org/D53845
618347747494f0c0842edbdfe29bacf533b10d0f Warner Losh 2025-12-03 04:40:47

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

vidcontrol.1: Video buffer dump is syscons only
Fixes:                https://cgit.freebsd.org/src/commit/?id=1f4442f71fa3 (be explicit that -p and -P are sc(4) only)
MFC after:      3 days
Reviewed by:    ziaee
Differential Revision:  https://reviews.freebsd.org/D53878
9ec8196f68bac015965164f7f1a65c619bab4e85 Pau Amma 2025-12-04 03:28:17

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

pfind(9): follow-up fixes and improvements
(Found on a branch from a year ago.)

- Adjust NAMEs
- MLINKS: add pfind_any.9, pfind_any_locked.9; remove old zpfind.9
- Reword the description of pfind_any() so that it doesn't imply only
  zombie processes are returned
- Fix a comma
- Use .Dv for the macro PRS_ZOMBIE
- Move the (logically separate) final statement to a new paragraph
- .Xr to pget(9)

Reviewed by:    0mp
Fixes:  https://cgit.freebsd.org/src/commit/?id=07d78399eb79 ("pfind(9): Update to recent behavior")
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53548
2ace05b65a2c912888aeec921fc6f990a5c36909 Mitchell Horne 2023-01-28 18:48:33

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

freebsd-base.7: Document the optional set
MFC after:    3 days
Reviewed by:    ziaee, emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D54065
ce8dc5b12451e9922ab827dfe3d10abcd6e85165 Lexi Winter 2025-12-05 02:43:51

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

certctl.8: Prefer the new TRUSTDESTDIR variable
With the reimplementation in C of certctl, the environment variable
previously known as CERTDESTDIR was renamed to TRUSTDESTDIR for
consistency.

Although the previous variable is still valid, prefer the new one, as it
is described in the manual page, while the old one is not.

Reviewed by:    des
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D54044
5c7176bba30ab3b250177cba3923bdc84b68a7c7 Jose Luis Duran 2025-12-05 17:36:49

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

shutdown(8): Document additional formats supported by the code.
MFC after:    1 week
f9500e75791cf793904c80ca4a52433afd585a23 Xin LI 2025-12-09 05:46:24

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

trim.8: minor update for manual page
Further explain that trim(8) is not for trimming free blocks
in populated file systems/ZFS pools, as people still take it wrong sometimes.

MFc after:      1 week
dbc4a1c69191909a7210cad6da46b755557d0d34 Eugene Grosbein 2025-12-09 14:47:26

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

trim.8: fix misprint
Grammar fix after previous commit.

MFC after:      1 week
X-MFC-with:     dbc4a1c69191909a7210cad6da46b755557d0d34
b2f8d46d898fb50222aefca47d687a852c647b2f Eugene Grosbein 2025-12-09 14:57:10

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

nvmf_tcp.4: Don't quote the document description given to .Nd
Reported by:  ziaee
d8556d2bad4074258fb11c0c7ee997ad78dadf87 John Baldwin 2025-12-09 15:57:16

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

bnxt.4: Adjust for recent HARDWARE
+ Adjust document description matching another terabit driver
+ Add BCM576XX family to DESCRIPTION, switch to XX notation
+ Add some model names, additional models, and improvements to HARDWARE

MFC after:              3 days
Reviewed by:            sumit.saxena_broadcom.com (previous)
Differential Revision:  https://reviews.freebsd.org/D54028
473bc5778c3e5136831c08d525d673059ef0aaa2 Alexander Ziaee 2025-12-11 01:58:28

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

RELNOTES: Truncate for 16.0
Differential Revision:        https://reviews.freebsd.org/D54195
a16fdef54c10d887381ab9e56bc09f6dd42d6fea Mark Johnston 2025-12-12 17:50:38

debug: classified in 03-filenames_plain1 by 'RELNOTES'

RELNOTES: Add entries from this week's scan of the commit logs
Reviewed by:  emaste, imp
Differential Revision:  https://reviews.freebsd.org/D54197
9734ca05b9b481ae4f812ee39338782e7c2c1dda Mark Johnston 2025-12-12 18:26:13

debug: classified in 03-filenames_plain1 by 'RELNOTES'

login.1: Remove mention of login copyright display
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291649
Fixes: https://cgit.freebsd.org/src/commit/?id=905571c03119 ("Remove copyright strings printed at login time via login(1) or sshd(8).")
5917f9571dabddf28f95d15c17b65dc163628d44 Ed Maste 2025-12-14 16:43:51

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

src.conf.5: regen documenting WITH_IPFILTER_IPFS
b9b1262a8ef95857101e538145703894e3b880b7 Brooks Davis 2025-12-15 13:52:34

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

Hardware support

Hardware drivers and architecture-specific code.

ath: fix ath_buf leak if ath_tx_tag_crypto() returns an error
If ath_tx_tag_crypto() returns an error, then ath_tx_normal_setup()
should consume the mbuf and return an error, so the caller knows to
free the ath_buf.  But it wasn't.

This fixes issues I've seen locally where a an AP VAP constantly hits
error conditions (due to other RF/PHY/MAC chipset issues which I haven't
yet figured out) and encryption fails because the station goes away
whilst something's being queued.

Locally tested:

* AR9380, AP mode (2G HT20, 5G HT20, 5G HT40)
f7aad20db59210a4411559d07976a48809b3b0a7 Adrian Chadd 2025-10-01 02:21:01

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

watchdog: ifdef wd_ioctl_patpat on COMPAT_FREEBSD14
Sponsored by: Rubicon Communications, LLC ("Netgate")
5b63afc09a86318fa8bf09a786a1b084e000cc51 Mateusz Guzik 2025-10-01 07:40:31

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

Commit group #5: snd_hda: Implement automatic redirection between associations
devd: Remove SND package

This was done by accident, build snd.conf always.

Reported by:    ivy
Fixes:          https://cgit.freebsd.org/src/commit/?id=2ffaca551eaf ("snd_hda: Implement automatic redirection between associations")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 day
5cc36854ee63dc695d90a841d9db587bec67ba24 Christos Margiolis 2025-10-01 08:18:32

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

debug: moved to hardware because 'Need to be grouped with 2ffaca551eaf32c17f701762ecf29a961cf19aa4'

Commit group #6: arm64/vmm
arm64/vmm: Clear all pmc fields

When clearing pmcntenclr_el0, pmintenclr_el1, and pmovsclr_el0 clear
all bits as new fields may be added in the upper 32-bits.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52801
c1723bbe2aa7f6c8b23d3aa97379d89e883b0a93 Andrew Turner 2025-10-02 15:34:23

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


arm64/vmm: Save more PMU registers

These were missed in the initial vmm.ko change.

While here keep the order the same in all locations we handle these.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52802
35d0c9efb17a9a7fea57c3a4a056141b21dad18f Andrew Turner 2025-10-02 15:34:35

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


arm64/vmm: Save dbgclaimset_el1

It may be used by the guest.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52803
4954ec00c4200d8bfd29875fc13f541942209824 Andrew Turner 2025-10-02 15:34:43

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

arm64: Rename the MDCR_EL2 macros
To be consistent within the register prefix all fields with MDCR_EL2_.

Reviewed by:    emaste
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52804
d552556b7e6d226887ebb6da30e4f1dcff3cb407 Andrew Turner 2025-10-02 15:34:54

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

arm64: Sort hypervisor.h
Move the MDCR_EL2 macros into the correct alphabetical location.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52805
4aa762f3cb97402f0345ce5112c47a303dd4107d Andrew Turner 2025-10-02 15:35:04

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

arm64/vmm: Add missing debug traps
These are features we don't support or advertise to the guest so can
safely be trapped.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52806
c67ea2707d2b5e6deb5986710f520ff69e4f78a3 Andrew Turner 2025-10-02 15:35:11

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

x86: Keep cumulative MCA statistics in the kernel
Keeping cumulative MCA statistics in the kernel provides a way for
users to get an accurate count of various kinds of errors reported
by the CPU.

After ca8929d2a3e9b9df31d2e487377f99d7c39aa01d, it is possible that
the kernel will drop the record of some MCA interrupts. Moreover, this
provides a cheaper interface to obtain statistics if that is the only
reason a user is processing MCA logs.

Reviewed by:    markj
Sponsored by:   Netflix
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D52709
5f1f7d8457d4fc28c6cff7e26a629a2d6ee3fc61 Jonathan T. Looney 2025-09-24 14:35:18

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

Commit group #7: iwx
iwx: add some missed beacon debugging

I'm seeing random disconnects in iwx without any useful information
as to why.  I'll start by adding missed beacon debugging here; hopefully
they're generally useful.

Differential Revision:   https://reviews.freebsd.org/D52524
Reviewed by:    bz
f53137556059764f5c028880d09d3c234877d37f Adrian Chadd 2025-09-14 19:36:18

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


iwx: add some lock assertions in the TX start path

The locking paths into these routines LOOK correct, but I figured
it'd be good to at least enforce we're not doing concurrent entry
into iwx_start() / iwx_tx() without the lock held.

Differential Revision:  https://reviews.freebsd.org/D52655
Reviewed by:    thj
262172de955ff09f5029039f0d823996a63ff3d1 Adrian Chadd 2025-09-21 04:55:45

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


iwx: don't log VHT rate lookups in iwx_tx_fill_cmd() for data frames

iwx is now logging a lot of stuff to the kernel when associated at VHT
rates.  It's my fault; the replacement tx rate APIs print out a warning
when you're handing the legacy rate /HT rate APIs a VHT rate.

However all of the supported chipsets in iwx will be pushing the
rate control entirely into firmware.  We don't need to do per-frame
TX rate control like in previous chips.

So for now, just put in an if (rate == VHT) into the path and
a TODO comment.  A few lines later the function will just skip the
rate assignment stuff for data frames, thus saving us the logging.
The other paths (control traffic, multicast traffic) uses legacy
rates / HT rates by default and won't trigger a warning log.

Yes, iwx_tx_fill_cmd() really does deserve a rate control logic
rewrite, but I want to fix this particular issue first.

Locally tested:

* AX210, STA mode, HT and VHT associations

Differential Revision:  https://reviews.freebsd.org/D52766
Reviewed by:    thj
88f467bd1a113b65cebcb6eca145dbd3bea72adc Adrian Chadd 2025-09-28 03:13:06

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


iwx: rewrite iwx_rs_update() to be VHT aware, refactor it a bit

The current iwx_rs_update() code doesn't handle setting VHT rates
at all.

So:

* write a routine - iwx_rs_update_node_txrate() - which will update
  the given node txrate info with the given notification
* .. which is based on the print_ratenflags() logic and decoding
* migrate iwx_rs_update() to use this routine, only on the STA BSS node.

This only handles decoding the version 2 rate_n_flags format response -
same as print_ratenflags() - so print if someone somehow sees a version
1 response.

It's shown a few things that deserve some later follow-up work:

* I really should have net80211 APIs that operate on the txrate struct
  itself, not on the ieee80211_node, but I'll use what I have.
  Changing it later is easy.

* the current net80211 txrate API doesn't include channel width,
  LDPC/STBC and such.  I didn't need it for the earlier tx rate
  representation migration, but it would be nice to add it.
  (The reason is that those choices are currently made in the drivers
  using rate control, rather than the rate control module, which is
  again what the older code did as well.)

  This means that the displayed rate isn't EXACTLY what the NIC has
  chosen - eg the NIC could quite happily decide to transmit a 20MHz
  or 40MHz frame to an 80MHz STA if that actually works out better.
  So just add TODOs for those.

Locally tested:

* AX210, STA mode

Differential Revision:  https://reviews.freebsd.org/D52767
Reviewed by:    thj
4a5a884c4a77e800bb37e1c12db72c724a2220bc Adrian Chadd 2025-09-28 03:19:57

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


iwx: clean up debugging around key add/set; comments on delete

* Add IWN_DEBUG_KEYMGMT as a debug flag
* Convert DPRINTF(()) in key add/set to IWN_DPRINTF()
* printf() -> net80211_vap_printf()
* add braces around return value

Differential Revision:  https://reviews.freebsd.org/D53703
Reviewed by:    thj
7d88ac0eb2d2e81ac121dd4a32229494594ec44c Adrian Chadd 2025-11-12 02:49:10

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


iwx: fix and clean up suspend/resume path

I noticed a couple of things were happening:

* during suspend, I'd get a timeout in the NIC lock path (which
  sets a bit on the NIC to say that the host wants to talk to it);
* resume wouldn't come back - scan commands would fail, and you'd have
  to reinit the NIC again for it to work.

The thing is:

* the suspend path should already shut down the NIC by shutting down all
  the VAPs (and the last VAP should call ic_parent to bring it down), and
* the resume path should already bring up the NIC by bringing up each VAP,
  and the first VAP to be brought up calls ic_parent to bring it up.

So instead, I've shuffled around the code to just double check the
hardware state is consistent /before/ ieee80211_suspend_all() and
ieee80211_resume_all() is called.

This both fixes the errant hardware timeout during suspend, and it
fixes resume to work.

Locally tested:

* AX210, STA mode, both hardware ACPI suspend/resume and devctl suspend
  and devctl resume

Differential Revision:  https://reviews.freebsd.org/D53721
Reviewed by:    thj
b4c35d4622d522c92bb080ee51e4a351e9d71897 Adrian Chadd 2025-11-12 21:01:40

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


iwx: clean up TX AMPDU session establishment and checking

* Send a TX A-MPDU exchange successfully; we were allocating the
  A-MPDU TX queue but returning 0 to net80211 was telling it
  to not establish the TX A-MPDU session and none of the BA session
  tracking stuff would work.

* Clean up the TX A-MPDU queue lookup in the transmit path - only
  QoS data frames are allowed, not qos null-data, cf/ack/etc frames;
  only send them if the A-MPDU session is established.

* Tell net80211 that we've established the TX A-MPDU session once
  the firmware queue has been created.

* Check to make sure we're not double (or more) creating TX AMDPU
  sessions - only allocate a qid if we're not doing A-MPDU yet.

* Delete IWX_FLAG_A-MPDUTX - it's now being properly tracked!

Locally tested:

* AX210, STA mode - gets 50/50mbit on 2GHz HT20, and 100/100mbit on
  5GHz VHT/40.

Differential Revision:  https://reviews.freebsd.org/D53725
Reviewed by:    thj
00b4d712e2be54b8c87a7fd7f215ad5ef7845d5b Adrian Chadd 2025-11-13 04:33:52

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

pci: add quirk to disable Function-Level Reset (FLR)
MediaTek mt76 WiFi cards are advertising FLR support but after issuing
a FLR the chipset is gone.  Add a quirk so we can disable FLR.  The
current reset code will automatically fall back to a power reset.

This makes the card show up under bhyve where before it would just not
be discovered at all. That should make wifibox work for it and will help
development for a LinuxKPI based mt76 driver as found in framework laptops
as no dedicated machine and constant reboots are needed anymore.
We will likely need to add more PCI vendor/device IDs once we can test
the other device IDs.

Event:                  EuroBSDCon Devsummit 2025
After a lot of help from: jhb
Really implemented by:  jhb (I just typed and tested)
GH issue:               github.com/pgj/freebsd-wifibox/issues/73
MFC after:              3 days
Reviewed by:            imp, emaste
Differential Revision: https://reviews.freebsd.org/D52728
4c0e53aced2251eb5ac7eca44e13a6b947be8582 Bjoern A. Zeeb 2025-09-25 12:49:07

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

if_vmx: fix panic during kldload
Just like vmxnet3_intr_disable_all, iflib may invoke this routine
before vmxnet3_attach_post() has run, which is before the top-level
shared data area is initialized and the device made aware of it.

MFC after:      1 week
Sponsored by:   Dell Inc.
01b0690c495e1043a72cae9ee945f9f2c2adc216 Eric van Gyzen 2025-10-04 12:23:41

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

apei_detach: fix swi_remove parameter
swi_remove expects a void *, but we were passing void **.

MFC after:      1 week
Sponsored by:   Dell Inc.
9dd865a59edda38e6a379c5081e9483a87abc1eb Eric van Gyzen 2025-10-04 15:18:05

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

x86: Close race condition on MCA task queues at startup
Currently, the CMCI handler checks the cold variable to determine
whether it can schedule a task. The task queue is setup as part of the
mca_startup() function, which is run well after the configure_final()
function sets the cold variable to 0. Therefore, if an MCA arrives
in the window between configure_final() and mca_startup() running,
the code could try to schedule a task on an unintitalized task queue.

Close the race by specifically checking whether the mca_startup()
function has run.

Reviewed by:    markj
MFC after:      1 week
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D12276
4a5d8670a7d58b04913fd90aae85a1e35236ca3d Jonathan T. Looney 2025-10-03 16:23:07

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

x86: Defer non-fatal MCA message output from the HW interrupt context
When processing recoverable MCA events in a hardware interrupt context,
defer logging the messages to a task queue.

Reviewed by:    markj
MFC after:      2 weeks
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D12275
5e1611a37a02076180ccea1506713b8c9628779e Jonathan T. Looney 2025-10-03 18:26:37

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

ahci: Use pci_msix_*_bar instead of reading config registers directly
Reported by:  avg
Reviewed by:    avg, imp
Differential Revision:  https://reviews.freebsd.org/D52888
762f1c7c6cded9242956c2c35c772dff9b5d155b John Baldwin 2025-10-06 17:56:47

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

ahci: Don't fail attach if the MSI-X BARs cannot be allocated
If the MSI-X table and/or PBA live in separate BAR(s) and those BAR(s)
cannot be allocated, fall back to using MSI or INTx instead of failing
attach.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289748
Reported by:    Vitalij Satanivskij <satan@Ukr.net>
Reviewed by:    avg, imp
Differential Revision:  https://reviews.freebsd.org/D52889
b658158e9396848d3963e9555d356d0f4ca6900a John Baldwin 2025-10-06 17:56:47

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

arm64: Add Debug OS Lock fields
Sponsored by: Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52930
fa975e2a5bb221e2e15305c4c54162f7b9ec062a Andrew Turner 2025-10-07 08:25:25

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

arm64/vmm: Handle debug exits
This is enough to boot FreeBSD again.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290044
Reported by:    Siva Mahadevan <me@svmhdvn.name>
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52931
534aec00976c18c4c4b485b2fade9d5f33de89c8 Andrew Turner 2025-10-07 08:26:00

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

x86: Reduce amount of time the MCA lock is held while emitting records
The MCA spin lock is acquired in the hardware interrupt context to
record MCA messages. It is also acquired by a task handler to emit
those messages.

Reduce the amount of time the task handler holds the lock to reduce
the maximum amount of time the hardware interrupt handler may need to
spin on the lock.

Reviewed by:    glebius, markj
MFC after:      2 weeks
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D52938
e770e32aa3a017b35fcf24e7c6f14fc2a209bad5 Jonathan T. Looney 2025-10-06 15:07:33

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

x86: Add a way to inject artificial MCA events for testing
Reviewed by:  glebius
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D52942
1c2fc62e4a9689961169be7836038acd5f757be1 Loic Prylli 2025-10-06 17:59:41

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

nvme: Tweak completion timeout loop
* Rename delta_t to avoid misleading simplistic syntax highlighters
* Simplify the increment calculation

Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D52973
4070ae0e9a60715199f83004e7ebdfb169fc8cfc Dag-Erling Smørgrav 2025-10-08 10:07:13

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

x86: Allow MCA messages to be rate-limited
Always print the first 50 messages of each type. After that, optionally
rate-limit the messages. This provides a way to limit the overhead of
processing excessive messages without suppressing the first few of any
type.

As part of this change, we are switching from direct printf() calls to
collecting data in an sbuf(9). In POLLED mode (run from a task queue),
we dynamically allocate the buffer. In the other modes (which are
likely called from a hardware interrupt), we use a buffer allocated
from the BSS segment and guarded by a lock. In normal operation,
most calls to mca_log() should come from the POLLED mode, so there
should be no contention for the new lock. If there is an interrupt
storm which exceeds the capacity of the free list, there will be new
contention for this lock; however, overall lock contention should
still be lower than it was prior to e770e32aa3a0, when the mca_lock
was almost always held for the entirety of the mca_log() call.

This commit is partly based on a patch proposed by Loic Prylli
<lprylli@netflix.com>.

Reviewed by:    markj, glebius (previous version)
MFC after:      2 weeks
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D52946
0d14826de7d9d72e91f1d396120f1456102bccf4 Jonathan T. Looney 2025-10-06 20:39:51

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

x86: support sending non-fatal MCA messages to syslog
Currently, all MCA messages are logged to the console. However, this
can have performance implications which can turn a storm of correctable
errors into a disruptive event.

Provide an option to direct non-fatal messages to syslog. Note that
we will always log to the console for fatal errors.

Reviewed by:    markj
MFC after:      2 weeks
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D12278
55c28005f544282b984ae0e15dacd0c108d8ab12 Jonathan T. Looney 2025-10-07 12:58:05

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

nvme: There's 64 LBAF descriptors, not 16
Older versions of the standard were limited to 16, but the actual limit
is 64. Bump the limit to 64. This should be a #define, but there's no
good standardized name, so I'm punting on that. All the places that use
it, apart from the byte swapping code, do the right thing and use the
nlbaf field to limit what to access.

Sponsored by:           Netflix
53825afc5dd13f3d16c3db6727260d7184bcd581 Warner Losh 2025-10-10 00:16:47

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

ix(4): Add support for debug dump for E610 adapters
This is part 2 of the support for the new Intel Ethernet E610 family of devices.

Intel E610 Ethernet Controller devices feature a debug dump capability
that allows you to capture runtime register values directly from the
hardware, with assistance from the firmware. These registers are
organized into clusters based on their function, enabling targeted
debugging. This information is consolidated into a single dump file,
facilitating the debugging of complex issues encountered in the field.
The debug dump provides a snapshot of the device's current hardware
configuration, including switch tables, transmit scheduler tables, and
other relevant data. It captures the state of specified clusters and
serves as a stateless snapshot of the entire device.

This update introduces ioctl and sysctl support for the debug dump feature.

Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com
Co-developed-by: Krzysztof Galazka krzysztof.galazka@intel.com

Approved by:    kbowling (mentor), erj (mentor)
Tested by:      gowtham.kumar.ks_intel.com
Sponsored by:   Intel Corporation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D50934
2170400142b99c0eb604403b74ebd88c05dd7ed4 Bhosale, Yogesh 2025-10-10 09:39:16

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

ice(4): Add PCI IDs for E835 devices
Add device IDs and branding strings for E835 adapters.
This is a follow up for E830 adapters with Security Protocol
and Data Model (SPDM) support and RDMA support available
on 100 and 200Gbps links.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>

Approved by:    kbowling (mentor), erj (mentor)
Sponsored by:   Intel Corporation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D52782
b202176dc76d862f886778439b96dd1243d8b999 Krzysztof Galazka 2025-10-10 12:04:00

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

Commit group #8: vmm
vmm: Unify implementations of vcpu_cleanup()

Different vmm implementations were freeing the per-vCPU structure in
different places.  Make the implementations consistent.  No functional
change intended.

Reviewed by:    corvink
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53010
756fa1c09673ba555f603574af5943f455daff90 Mark Johnston 2025-10-10 13:16:45

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


vmm: Make vmmops declarations more consistent

- On amd64, make vmmops_* functions globally visible, as some will be
  called from machine-independent code in the future.
- On arm64 and riscv, move declarations to vmm.h, since they're supposed
  to be generic across different VMM backends (only amd64 has more than
  one backend).
- Make the declaration macros consistent with each other.
- On amd64, make the function typedef names consistent with the
  corresponding ifunc names.

No functional change intended.

Reviewed by:    corvink
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53011
e9182981f7feeb97ee440bb9c1db9a1bc5309b92 Mark Johnston 2025-10-10 13:19:57

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


vmm: Move the guest vmspace into the generic vm_mem structure

This further consolidates handling of guest memory into MI code in
sys/dev/vmm.

No functional change intended.

Reviewed by:    corvink
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53012
059b0b7046639121f3dca48f5de051e019f9d57c Mark Johnston 2025-10-10 13:20:12

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


vmm: Remove some unused macros

No functional change intended.

Reviewed by:    corvink
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53013
642c763a9ad14cbe70596cabc16f73b9ca99de57 Mark Johnston 2025-10-10 13:22:16

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


vmm: Improve register get/set handling a bit

On non-amd64 platforms, check for negative register indices.  This isn't
required today since we match against individual register indices, but
we might as well check it.  On amd64, add a comment explaining why we
permit negative register indices.

Use mallocarray() for allocating register arrays in the ioctl layer.

No functional change intended.

Reviewed by:    corvink
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53143
14133abfe9c218b97e888edf04d2ec4a86e7ab4b Mark Johnston 2025-10-21 17:34:11

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


vmm: Add PRIV_DRIVER checks for passthru ioctls

In preparation for allowing non-root users to create and access bhyve
VMs, add privilege checks for ioctls which operate on passthru devices.

Reviewed by:    corvink
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53144
e11768e94787bef2866486ba8616353716a10447 Mark Johnston 2025-10-21 17:34:29

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


vmm: Move local variables into ioctl handlers

Make the ioctl handlers easy to read by moving local variables into
per-ioctl blocks.  No functional change intended.

Reviewed by:    corvink, emaste
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53145
0225c6d85d0d4250ed304b31e6ce855fc5d93f15 Mark Johnston 2025-10-21 17:34:48

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

Commit group #9: nvme: use nitems() rather than hard coded value
nvme: use nitems() rather than hard coded value

Suggested by: jhb@
Sponsored by: Netflix
d714732b598bd6ac04ba8214b80a6b5f61881e3a Warner Losh 2025-10-13 05:16:20

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


nvme: Use unsigned

CI complains about signed/unsigned comparisons, but normal build does
not. Fix this by transitioning to unsigned and using a loop-scoped
variable.

Fixes: https://cgit.freebsd.org/src/commit/?id=d714732b598b
Sponsored by: Netflix
96e0a62abd93664ad52d18a899f83cd866793a90 Warner Losh 2025-10-13 06:12:36

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

dev/fdt: Use proper prototype for SYSINIT functions
MFC after:    1 week
d82653aee7e357916403147dc21d342e6b543106 Zhenlei Huang 2025-10-13 10:12:28

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

iommu_gas: Use proper prototype for SYSINIT functions
MFC after:    1 week
05c313cd2cbcc6c0a6ffa97363b70232d02542f3 Zhenlei Huang 2025-10-13 10:12:29

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

nvme: Use proper prototype for SYSINIT functions
MFC after:    1 week
dd256c3fa738b6941f58355c077224c9a227b169 Zhenlei Huang 2025-10-13 10:12:29

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

xdma: Use proper prototype for SYSINIT functions
MFC after:    1 week
ef56b9188937eec1ceef458d02c71c6b890b398a Zhenlei Huang 2025-10-13 10:12:29

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

xen: Use proper prototype for SYSINIT functions
The only possible return value of function xen_intr_init() is 0. Make
it return void to match the prototype of SYSINIT.

MFC after:      1 week
19061a898ac809c8e9a30839b7200ff13a6eb9c0 Zhenlei Huang 2025-10-13 10:12:30

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

arm: Use proper prototype for SYSINIT functions
The only possible return value of function module_info_init() is 0. Make
it return void to match the prototype of SYSINIT.

MFC after:      1 week
0b9c12fa976446705635a94984f45232f034eecf Zhenlei Huang 2025-10-13 10:12:35

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

arm64 coresight: Use proper prototype for SYSINIT functions
MFC after:    1 week
5d5ba0c0fa9e2eaeda9d41508bb0f83d5a55f367 Zhenlei Huang 2025-10-13 10:12:36

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

i386: Use proper prototype for SYSINIT functions
MFC after:    1 week
0039721e3bab22446413fb62532e622345770ffb Zhenlei Huang 2025-10-13 10:12:36

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

powerpc: Use proper prototype for SYSINIT functions
MFC after:    1 week
9caa16bd028746af7bee01c6bcc6394de91265db Zhenlei Huang 2025-10-13 10:12:37

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

tsc: Use proper prototype for SYSINIT functions
MFC after:    1 week
bf8f6545f6ca41e080cc3bc42009bdf253f596b4 Zhenlei Huang 2025-10-13 10:12:37

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

x86/xen: Use proper prototype for SYSINIT functions
MFC after:    1 week
c8e077e57b2535b840d391f3217d00465b0514c4 Zhenlei Huang 2025-10-13 10:12:37

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

mv88e151x: fix potential attach and autonegotiation issues
Reported by:  GCC -Wmaybe-uninitialized, -Wtautological-compare
Reviewed by:    kp
Differential Revision:  https://reviews.freebsd.org/D45919
68501a93076ac095be7a96ecd55d15287c497c9d Ryan Libby 2025-10-15 04:01:48

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

arm64: Move BP hardening and SSBD workaround to CPU_FEAT framework
Port the BP hardening and SSBD workaround from cpu_quirks to the
CPU_FEAT framework.

Reviewed by:    andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53112
d970d0246fdd70f65db7226104071330c83e27bd Sarah Walker 2025-10-16 16:11:51

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

tools: Update sysctl to its new name
The kern.ipc.somaxconn sysctl has been replaced with
kern.ipc.soacceptqueue since FreeBSD 10.0.

Reviewed by:    emaste
MFC after:      1 hour
Differential Revision:  https://reviews.freebsd.org/D34598
84333aada464296c1e28126b5c91ae2fb3f79eef Jose Luis Duran 2025-10-16 17:18:51

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

ixl(4): fix multicast promiscuous mode state tracking and filter management
This change reapplies the improvements from commit 89e7335 and adds
additional fixes and code optimizations on top of it.

The ixl driver supports up to 128 multicast filters in hardware. When this
limit is exceeded, the driver should enable multicast promiscuous mode.
When the count drops below 128, it should disable promiscuous mode and
restore individual filters.

The driver previously had problems that could corrupt multicast filters list.
The main issue was that ixl_dis_multi_promisc() would attempt to disable
promiscuous mode without checking if it was actually enabled, potentially
corrupting existing filters. There was also no state tracking across driver
functions, leading to redundant operations.

This change adds an IXL_FLAGS_MC_PROMISC flag to track the multicast
promiscuous mode state. The flag is set when enabling promiscuous mode and
cleared when disabling it. Early return checks prevent redundant operations
when the mode is already in the desired state, avoiding filter corruption
and unnecessary hardware calls.

Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283820
Approved by:    kbowling (mentor)
Tested by:      gowtham.kumar.ks_intel.com
MFC after:      2 weeks
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D52549
46a8a1f08f88c278e60ebb6daa7a551eb641c67b Bhosale, Yogesh 2025-10-16 20:02:45

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

netmap: Fix error handling in nm_os_extmem_create()
We bump the object reference count prior to mapping it into the kernel
map, at which point the vm_map_entry owns the reference.  Then, if
vm_map_wire() fails, vm_map_remove() will release the reference, so we
should avoid decrementing it in the error path.

Reported by:    Ilja van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    vmaffione
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53066
dfc1041c08ba32f24b8050b4d635a0bbbfd9b767 Mark Johnston 2025-10-17 12:55:17

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

vmm: Fix a deadlock between vm_smp_rendezvous() and vcpu_lock_all()
vm_smp_rendezvous() invokes a callback on all vCPUs, blocking the
initiator until all vCPUs have responded.  vcpu_lock_all() blocks each
vCPU by waiting for it to go idle and setting the vCPU state to frozen.
These two operations can deadlock on each other, particularly when
booting a Windows guest, when vcpu_lock_all() blocks waiting for a
rendezvous initiator, and the initiator is blocked waiting for the vCPU
thread which called vcpu_lock_all() to invoke the rendezvous callback.

Implement vcpu_lock_all() in a way that avoids deadlocks with
vm_smp_rendezvous().  In particular, when traversing vCPUs, invoke the
rendezvous callback on the vCPU's behalf to help the initiator finish.
We can only safely do so when the vCPU is IDLE or we have already locked
it, otherwise we may be racing with the target vCPU thread.  Thus:
- Use an exclusive lock to serialize vcpu_lock_all() callers, which lets
  us lock vCPUs out of order without fear of deadlock with parallel
  vcpu_lock_all() callers.
- If a rendezvous is pending, lock all idle vCPUs and invoke the
  callback on their behalf.  If the vcpu_lock_all() caller is itself a
  vCPU thread, this will handle that thread.
- Block waiting for all non-idle vCPUs to idle, or until one of them
  initiates a rendezvous, in which case we go back and invoke callbacks
  on behalf of already-locked vCPUs.

Note that on !amd64 no changes are needed since there is no rendezvous
mechanism, so there is a separate vcpu_set_state_all() for them based on
the previous vcpu_lock_all().  These will be merged together once vcpu
state handling is consolidated into sys/dev/vmm.

Reviewed by:    corvink (previous version)
MFC after:      3 weeks
Differential Revision:  https://reviews.freebsd.org/D52968
f39768e52e513264da60add0ca2412bddda271ff Mark Johnston 2025-10-17 13:09:38

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

pci/n1sdp: Disable HotPlug
Work around an issue when HotPlug is enabled where pcib3 and pcib5
continuously report the following:

pcib3: HotPlug interrupt: 0x30
pcib3: Command Completed
pcib3: HotPlug interrupt: 0x30
pcib3: Command Completed
...

As a workaround disable HotPlug on the N1SDP as it's unlikely anyone
will depend on it.

Reviewed by:    br
Fixes:  https://cgit.freebsd.org/src/commit/?id=1f5c50a86173 ("pci_host_generic:Add pcib_request_feature on ACPI")
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53134
edbbf26e2650e02cd3925dd1deaacf9b8fb2e2a0 Andrew Turner 2025-10-17 15:02:19

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

dc(4): fix argument to if_foreach_llmaddr() for 21143.
As found on RTEMS the argument to if_foreach_llmaddr() was wrong
causing crashes.

Fixes:          https://cgit.freebsd.org/src/commit/?id=51e80820552e0
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290314
MFC after:      3 days
33afdf0e356d84ffe5c62c886f84cf12ba147d3e Chris Johns 2025-10-17 12:38:30

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

bluetooth: ng_ubt_rtl/rtlbtfw: remove duplicate entry in device table
Remove the single 8822CU entry in all three places.
It seems the only entry referencing a USB device.  The same device is
listed with the 8822CE devices.

MFC after:      3 days
Reviewed by:    wulf
Differential Revision: https://reviews.freebsd.org/D52324
0ee6e36ea9b2dd959b0fb9f04ab98a01f93729fc Bjoern A. Zeeb 2025-09-01 18:27:02

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

pt: Switch to swi(9)
The pt hwt(4) backend uses NMIs to receive updates about the latest t
racing buffer offsets from the tracing hardware. However, it uses
taskqueue(9) to schedule the bottom-half handler. This can lead to
a panic since the taskqueue(9) code isn't aware it's being called
from an NMI context and uses the regular scheduling interfaces.

Fix this by scheduling the bottom-half handler using swi(9) and the
SWI_FROMNMI flag.

Fixes:  https://cgit.freebsd.org/src/commit/?id=310162ea218a
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52491
96d82d2d133acaf8effa2e3aee546276e39ff9f2 Bojan Novković 2025-08-11 18:57:31

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

achiem: quiet gcc -Warray-bounds
gcc complains about accessing the byte as ads->common.bytes[3] as that
field is declared as being one byte.

Reviewed by:    mav
Differential Revision:  https://reviews.freebsd.org/D53152
5bd3ce4ef629d2ffd57b4b58a7e7d56cb0e171a8 Ryan Libby 2025-10-17 22:43:06

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

kqueue: handle copy for netmap filters
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
7a72e88781ae294aae6b97e1972cb19b2a670412 Konstantin Belousov 2025-08-23 14:42:19

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

sgx: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Reviewed by:  markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53158
8350f46d9808e6183d5f6bd4aa73d4d4e563b574 Zhenlei Huang 2025-10-20 04:28:41

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

aac: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Reviewed by:  markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53158
db1844a0e1bcafeb974215033ed682e7fa18cac8 Zhenlei Huang 2025-10-20 04:28:42

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

aacraid: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Reviewed by:  markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53158
ff29e5bc53e6fafc49d1caceed88cbc9e9223189 Zhenlei Huang 2025-10-20 04:28:42

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

ipmi: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Reviewed by:  markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53158
cb0116af7ac794238b0fa569f2722607924fcad6 Zhenlei Huang 2025-10-20 04:28:42

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

mfi: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Reviewed by:  markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53158
d12ce84b0d338958b26f6eec86b4967fca8d3bd6 Zhenlei Huang 2025-10-20 04:28:42

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

mrsas: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Reviewed by:  markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53158
0a2fb63b4954c540686d387254b65cc6878bd19e Zhenlei Huang 2025-10-20 04:28:43

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

snd_hda: Add device ID for ATI Raven
4c667615372f927864734d725f51d14c441216a6 Dmitry Luhtionov 2025-10-20 13:59:57

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

ehci(4): Add ID for Realtek RTL811x USB 2.0 controller
a2838e818cfe5b150725776cc9ab45bb8f65c390 Dmitry Luhtionov 2025-10-20 14:05:05

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

AMD IOMMU: fix per-device IOMMU bypass when IR is enabled
When interrupt remapping (IR) is enabled, the device table entry
(DTE) for a given device will likely be initialized by
amdiommu_ir_find() during MSI configuration.  This function directly
calls amdiommu_get_ctx_for_dev() with id_mapped=false, which means that
any attempt to disable DMA remapping for the device (e.g. by setting
hw.busdma.pciD.B.S.F='bounce' in the loader tunables) will effectively
be ignored as the paging mode field in the DTE will not be set to
0 as required for identity mapping.  This will ultimately produce
an unusable device, because busdma will later observe the bounce
configuration through iommu_instantiate_ctx() and will employ the
non-translated 'bounce' busdma methods for the device, while the DTE
remains configured to enable translation.

Fix this by tweaking iommu_instantiate_ctx() to always return the
relevant per-device context object even if translation is disabled,
and adopt it in amdiommu_ir_find() instead of directly calling
amdiommu_get_ctx_for_dev().

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53209
35170408a7b86a879d7e2ffb5ddb70fe75951d89 Jason A. Harmening 2025-10-20 01:53:08

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

riscv: build starfive JH7110 DTBs
These are known to work if loaded manually by loader(8) (for VF2 at
least). If nothing else, it is useful to provide a DTB closely tied to
the kernel version.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53117
96b137c044d8f7266757e95ff134119f3ac51be5 Mitchell Horne 2025-10-20 14:24:58

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

riscv: build allwinner DTBs
These are known to work if loaded manually by loader(8) (for the Nezha
board at least). If nothing else, it is useful to provide a DTB closely
tied to the kernel version.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53118
3ed48eb085f7c4ae5c019ee882e694b432d43911 Mitchell Horne 2025-10-20 14:25:08

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

Commit group #10: modules: enable allwinner kmods on riscv
modules: enable allwinner kmods on riscv

While here, standardize the place they are enabled in the Makefile. For
armv7 the module subdirectory was added explicitly in the config file,
but this is not idiomatic.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
5522519731b74e7b56c710ec5ea4d34065f3ed32 Mitchell Horne 2024-09-18 17:19:16

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


modules/allwinner: add nvmem_if.h to SRCS

Ensure the header is generated; it is a dependency for these drivers.
This fixes standalone module builds and riscv LINT.

Reported by:    zlei
Sponsored by:   The FreeBSD Foundation
Fixes:  https://cgit.freebsd.org/src/commit/?id=5522519731b7 ("modules: enable allwinner kmods on riscv")
fe7954d723f85abd6eaf035db92a3a60a7803eb4 Mitchell Horne 2025-10-22 14:29:37

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

debug: moved to hardware because 'Need to be grouped with 5522519731b74e7b56c710ec5ea4d34065f3ed32'

arm: tweak imx module build logic
Add the subdirectory in the Makefile, not the config.

No functional change intended.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
5aefe9f16f240696142894bdeabcebbb057c7053 Mitchell Horne 2025-10-20 23:06:26

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

ti_clkctrl.c: fix paths in comment
Now under sys/contrib/device-tree.
f34e152e025e47b53b4a90464c49d09cadb3bbfc Mitchell Horne 2025-05-16 15:47:51

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

snd_dummy: Create device alias
Sponsored by: The FreeBSD Foundation
MFC after:      4 days
Reviewed by:    emaste, ziaee
Differential Revision:  https://reviews.freebsd.org/D53237
2693d6c7c9cab28967de13233342fcf9281e5636 Christos Margiolis 2025-10-22 11:51:01

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

sys/arm64: fix COMPAT_FREEBSD32 __syscall()
It seems like _QUAD_LOWWORD was incorrectly expanded into 1,
which is correct for big endian but not little endian.  This
means we always grab the padding word for the syscall number,
which is usually 0, causing SIGSYS to be delivered to the caller.
Reintroduce _QUAD_LOWWORD to fix the syscall.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290411
MFC after:      1 week
Discussed with: jrtc27
Reviewed by:    cognet, emaste
Approved by:    markj (mentor)
Fixes:          https://cgit.freebsd.org/src/commit/?id=8c9c3144ccfa3061879b8cec015ee7d1010e4766
Differential Revision:  https://reviews.freebsd.org/D53250
1ca09538d94273601dac08204c1d0b3ca9115864 Robert Clausecker 2025-10-21 21:35:24

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

sys/arm: add fp[gs]et* prototypes to <ieeefp.h>
We have provided implementations for hard float of these for
a while now.  Add them to the header to make things official.
This is required for a bunch of legacy programs in ports.

Approved by:    markj (mentor)
MFC after:      1 week
Differential Revision: https://reviews.freebsd.org/D53156
a8079d40ae7f3cee17c94e61e43c24780a64a010 Robert Clausecker 2025-10-17 09:30:09

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

nvme: add support for DIOCGIDENT
Add support for the DIOCGIDENT ioctl to both nvme controller device
nodes and namespace device nodes.

This information was already available via the nda(4) device node.
However, mapping /dev/nvmeX to /dev/ndaY device nodes is not
straightforward, so it's better to get it directly from the /dev/nvme
device node.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290259
MFC after:      2 weeks
Sponsored by:   ConnectWise
Submitted by:   imp (mostly)
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1875
6d0001d44490becdd20d627ce663c72a30b9aac3 Alan Somers 2025-10-16 22:00:14

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

modules/dtb: Add the ARM dtb module
fvp-base-revc.dtb works with the kernel now interrupt-maps are
supported in more cases.

Reviewed by:    mhorne
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D51258
b157c28ce97bbabfdddde35f67e3181053ed3ffd Andrew Turner 2025-10-20 18:49:24

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

arm64: Add additional fields for PMBSR and PMSIDR
Reviewed by:  andrew
Sponsored by:   Arm Ltd
f4f638eb23d770e19ede167908d8145b8851f835 Sarah Walker 2025-10-23 10:39:33

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

random: fenestrasX: Add missing entropy sources
Reviewed by: cem
Fixes: https://cgit.freebsd.org/src/commit/?id=1492c8c0d qcom_rnd: add initial qualcomm prng driver.
Fixes: https://cgit.freebsd.org/src/commit/?id=9eecef052 Add an Armv8 rndr random number provider
Fixes: https://cgit.freebsd.org/src/commit/?id=b2f8b2dc8 sys: Add an SMCCC Random Number Generator driver
Differential Revision:  https://reviews.freebsd.org/D53292
93b02f69a6f6ffb833227c2fd56d48daac128156 David E. O'Brien 2025-10-23 06:25:59

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

padlock(4)/nehemiah: move i386-only entropy source to MD files
Reviewed by: khng
Differential Revision:  https://reviews.freebsd.org/D53309
d1ca01059d5d756a4aef09d955e98aa59a284344 David E. O'Brien 2025-10-23 22:27:06

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

amd64: print 'EFI RT fault' line before fault CPU state
Suggested by: arrowd
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
cfb28c5ea0bce2ce95b14076bc63546049f0c16c Konstantin Belousov 2025-10-24 09:39:13

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

le(4): Update depreciation notice
This driver was in fact not removed prior to FreeBSD 15.0.

Sponsored by:   The FreeBSD Foundation
e4d6433e9c0379e164ff50ce829b5b1c0716bcb1 Ed Maste 2025-10-24 17:05:05

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

x86 LAPIC: force edge-triggered mode for !bootverbose as well
Submitted by: Austin Shafer <ashafer@nvidia.com>
Reviewed by:    imp, jhb
Fixes:  https://cgit.freebsd.org/src/commit/?id=5c039412a2823
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53336
cf59dabe161f956ac7d36fbb91b7edeab9d0f6c3 Konstantin Belousov 2025-10-24 18:17:56

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

igb(4): Fix out-of-bounds register access on VFs
Virtual Functions have access to a limited number of registers,
and their bus space size is lower. Use KASSERT to detect out-of-bounds
access and eliminate them to avoid kernel panics in production
environment.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>

Reviewed by:    jmg
Tested by:      mateusz.moga_intel.com
Approved by:    kbowling (mentor), erj (mentor)
Sponsored by:   Intel Corporation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D52976
2c02e6ca7154593d214b62578f67d9fe7db23d70 Krzysztof Galazka 2025-10-24 19:25:47

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

snd_dummy: Round channel pointer after each write
Otherwise we go out of bounds and keep incrementing endlessly.

Sponsored by:   The FreeBSD Foundation
MFC after:      4 days
Differential Revision:  https://reviews.freebsd.org/D53337
364864ea91abbd8a9a79578168fa5d34e05200a7 Christos Margiolis 2025-10-27 11:30:29

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

arm64/vmm: Remove armreg.h when not needed
Reviewed by:  imp
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53321
fddf48eb012c8c7dd640c1fea5c0766f8d85f0c4 Andrew Turner 2025-10-27 10:55:10

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

Commit group #11: arm64
arm64: Include armreg.h in db_disasm.c

It is needed for INSN_SIZE. Include it directly rather than depending
on header pollution.

Reviewed by:    imp
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53322
aa22b68ec76699527de04c99425716ab45c9b8c2 Andrew Turner 2025-10-27 10:55:57

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


arm64: Remove armreg.h from db_machdep.h

There is nothing in this file that needs armreg.h

Reviewed by:    imp
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53323
f3ee178be2b2b4205a42d514db1142d6bf162601 Andrew Turner 2025-10-27 10:56:06

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


arm64: Split out accessing special registers

We shouldn't need to include armreg.h just to access special registers
that are not defined in this file. Split out the parts that should be
common with arm64.h and hypervisor.h.

Reviewed by:    emaste
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53324
b57a571a001958febec042e15c571c5074ce44ce Andrew Turner 2025-10-27 10:56:17

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


arm64: Use _armreg.h in cpu.h

We only needed armreg.h for the *_SPECIALREG macros. Use the new
_armreg.h directly.

Reviewed by:    emaste
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53325
95a5bfcee07cf522edab72388decc4d6e27d341d Andrew Turner 2025-10-27 10:56:25

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

dev/ofw: Move ofw_cpu earlier
Move ofw_cpu to BUS_PASS_CPU + BUS_PASS_ORDER_MIDDLE so it can be used
by other devices.

Reviewed by:    jhibbits
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53328
87cea227e1945a8aa808b72d210f9a391be9b234 Andrew Turner 2025-10-27 10:57:44

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

dev/ofw: Register the ofw_cpu xref
This allows it to be referenced by other devices.

Reviewed by:    jhibbits
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53329
d539f2d9d2ce88f295567578d0e7a3b49d45544b Andrew Turner 2025-10-27 10:57:54

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

ice(4): Add support for E835-XXV-4 adapter
Add subdevice ID and branding string for E835-XXV-4
adapter.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>

Approved by:    kbowling (mentor), erj (mentor)
Sponsored by:   Intel Corporation
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53319
09b48f811b4bf3a17485680b4720d1c0a81bbe07 Krzysztof Galazka 2025-10-27 14:10:26

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

x86/intr: Handle case of disabling MSI after release
Once an interrupt source is registered it's never deregistered.
However, when an MSI is released the pointer for it becomes NULLed out,
resulting in a NULL pointer dereference when attempting to disable the
now-released MSI source.  Add NULL check to avoid this.

Reviewed by:    kib
Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51624
cb38499303621553c977fd7dd7f18d12731fcd9c Justin Hibbits 2025-10-26 02:45:26

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

kexec: Introduce basic arm64 support
This works on older arm64 platforms, but may not work with arm64 devices
using GICv3, due to a quirk in the GICv3, where some registers are
write-once.

Most of the kexec reboot work on arm64 can be done entirely in C code,
by disabling the MMU, as the kernel is carved out of the vm_phys_segs
array, so cannot be overwritten.

Reviewed by:    andrew
Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51621
1ae25866767d686067fe6678b62681b7a8f0d361 Justin Hibbits 2025-10-26 02:45:00

debug: classified in 03-filenames_plain1 by '['sys/arm64/', 'sys/dev/']'

amd64: Add kexec support
The biggest difference between this and arm64 kexec is that we can't
disable the MMU for amd64, we have to instead create a new "safe" page
table that the trampoline and "child" kernel can use.  This requires a
lot more work to create identity mappings, etc.

Reviewed by:    kib
Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51623
16db4c6fff450d3dd802b6c4b23cae0a8af44976 Justin Hibbits 2025-10-26 02:45:15

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

kexec: Add dummy headers for arm, i386, powerpc, and riscv
kexec hasn't been ported to these architectures, yet, so appease the
build with dummy headers.

Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51625
3b9578059cce3bc193be651546e191d0177df7d4 Justin Hibbits 2025-10-26 02:43:52

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

acpi: in acpi_stype_sysctl() use same logic as in acpi_sleep_state_sysctl()
Otherwise we allow to trigger an MPASS() by a userland sysctl, e.g.
hw.acpi.power_button_state=NONE.  This does not bring fully compatibility,
where as before 97d152698f483 setting to 'NONE' actually meant disabling
any action on a power or sleep button.  Now sysctl will fail, but with
this change it won't at least panic.

Aymeric may come with a better fix.

Fixes:  https://cgit.freebsd.org/src/commit/?id=97d152698f4831db5a94d55c15233330c188feda
34dfccc64f47f1549e65593b4a3aa8d31757529d Gleb Smirnoff 2025-10-27 18:22:46

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

xilinx pci: Codasip Prime board support
- Add a compatible string;
- Fix build.

Tested on Codasip X730 64-bit RISC-V CHERI Application CPU using
onboard nvme(4) device.

Differential Revision:  https://reviews.freebsd.org/D53295
8a25a04058a81453108e7e6accbf6663c19e9117 Ruslan Bukin 2025-10-27 19:41:53

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

usb_vendors: update to 2025-09-15
90cd623611b22e2e484b800743845b38d9c20250 Baptiste Daroussin 2025-10-28 08:31:02

debug: classified in 03-filenames_plain1 by 'share/misc/usb_vendors'

pci_vendors: update to 2025-10-18
e5f545e0d872fbfdb6c3c94ca81e7f3bce9d094a Baptiste Daroussin 2025-10-28 08:31:46

debug: classified in 03-filenames_plain1 by 'share/misc/pci_vendors'

sys/dev/md: cleanup includes
Remove twice included but unneeded explicit sys/param.h.  Sort.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
c6e12d38f167d4cea1e8bb8119f4677c1c008c6a Konstantin Belousov 2025-10-28 17:03:12

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

vmm: Fix routines which create maps of the guest physical address space
In vm_mmap_memseg(), use vm_map_insert() instead of vm_map_find().
Existing callers expect to map the GPA that they passed, whereas
vm_map_find() merely treats the GPA as a hint.  Also check for overflow
and remove a test for first < 0 since "first" is unsigned.

In vmm_mmio_alloc(), return an error number instead of an object
pointer, since the sole caller doesn't need the pointer.  As in
vm_mmap_memseg(), use vm_map_insert() instead of vm_map_find() and
validate parameters.  This function is not directly reachable via
ioctl(), but we ought to be careful anyway.

Reviewed by:    corvink, kib
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53246
20a38e847251076b12c173d7aa0b37eef261fd32 Mark Johnston 2025-10-28 20:15:13

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

nvme: Remove a todo comment
The storage subsystem really wants one of a very small number of I/O
errors. And since we started to do this I/O, EIO is the right error to
return. Other errors may get different and weirder treatment up the
stack, or even converted to just EIO. So remove this TODO comment that's
been there since the initial nvme driver commit. It wouldn't be helpful
to do this, and could likely hurt.

Sponsored by:           Netflix
471743e1315cdc54d85e3e77b53e3841b3647ea1 Warner Losh 2025-10-28 22:33:36

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

gpiobus: use bus_generic_detach when detaching
Use bus_generic_detach instead of bus_detach_children so the children
actually get deleted.

Reviewed by:    jhb
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52305
330b4f470280ec42d1498f875b8873f6eb32a7dd Ahmad Khalifa 2025-10-29 17:53:05

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

acpi_gpiobus: implement bus_child_deleted
Implement bus_child_deleted and attach the gpio_aei dev to it's ACPI
handle.

Reviewed by:    wulf
Differential Revision:  https://reviews.freebsd.org/D51585
3bbdc0223a7c1efaf734d3d9f3cb818e79e11d54 Ahmad Khalifa 2025-10-29 17:52:51

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

nhi: Fix a race with interrupt teardown during detach
When nhi fails to attach on one of my systems (X1 Carbon 6th gen), an
interrupt races with the teardown code such that the rings have been
freed by nhi_detach() before an interrupt triggers.  At the time of
the crash, the thread invoking nhi_attach() is blocked in
bus_teardown_intr() from nhi_pci_free() waiting for the interrupt
thread to finish executing the handler.

To fix, don't just disable the interrupts in nhi_detach(), but
actually tear the handlers down and disable MSI-X before freeing the
rings.

Reviewed by:    obiwac
Differential Revision:  https://reviews.freebsd.org/D53201
561571d480679933287a6d21c6929c39a7963857 John Baldwin 2025-10-29 18:56:17

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

vchiq: logging/tracing refactoring
* Create macros for error, info, warn, trace / debug
* Migrate existing printf() logging to use the above macros
* Add a sysctl knob to control it at runtime

This is based on work done in https://reviews.freebsd.org/D37878 .

Submitted by: Marco Devesas Campos <devesas.campos@gmail.com>
Differential Revision:  https://reviews.freebsd.org/D53371
df764dd133ecba8eade6a44e9baf1f0e9cf0d2f3 Marco Devesas Campos 2025-10-26 23:04:17

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

intr/powerpc: cleanup extraneous spaces in PowerMAC CPC HT driver
Spotted while examing this driver.  Remove some end of line spaces/tabs.
Replace some spaces which should instead be tabs.

Reviewed by:    jhibbits
MFC after:      2 weeks
319a1dbcf46f4afd2d32234d6936bb9e9e006a74 Elliott Mitchell 2025-01-10 00:52:52

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

Commit group #12: intr/powerpc: create openpic_class kobj
intr/powerpc: create openpic_class kobj

Using kobj allows implementing most PIC functions merely by inheriting
from the parent class.  As there are multiple OpenPIC implementations,
this ensures all common hooks go through by default.

Note, this adds the suspend/resume functions to other PICs.  This should
be harmless as suspend/resume isn't working on the devices anyway.

Reviewed by:    jhibbits
MFC after:      2 weeks
8fb17896120d8e7c499a13f4459f9894c20c6131 Elliott Mitchell 2025-01-02 19:03:40

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


powerpc: Move openpic_intr, since it's hidden now

Last minute change by me (diff reduction), that I didn't build.  This
was in the original commit.

Fixes:          https://cgit.freebsd.org/src/commit/?id=8fb1789612 ("intr/powerpc: create openpic_class kobj")
MFC after:      2 weeks
X-MFC-with:     8fb1789612
5e941ac54da32a7eff2ff96a1744843e6e030518 Justin Hibbits 2025-10-30 03:00:09

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

nvme: Add handling for bar5
The NVMe spec allows the Table BIR (TBIR) and PBA DIR (PBIR) to
be 0, 4, or 5. The existing NVMe driver basically only has support
for 4, perhaps under the assumption that BAR4 is 64-bit and also
occupies BAR5.

This change adds support for BAR5, covering the case where BAR4
and BAR5 might both be present and 32-bit, where the Table BIR
might be 4 and the PBA BIR might be 5, or vice versa.

The NVMe spec (in the SR-IOV section) also permits VFs to use BIR=2,
so I haven't added stricter checks on which BIR will be permitted
by the driver.

This enables FreeBSD on Google Compute Engine C4 Machines.

MFC after:              3 days
Reviewed by:            imp
Sponsored by:           Google
Co-authored-by:         Matt Delco <delco@google.com>
Signed-off-by:          Jasper Tran O'Leary <jtranoleary@google.com>
Differential Revision:  https://reviews.freebsd.org/D53140
7b32f4f0a7fe9b1b2f5a3905ca15f656713255ad Jasper Tran O'Leary 2025-10-28 20:43:35

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

riscv: Treat pointer register as an input in fpe_store
The contents of the memory is an output, but the pointer to that memory
is an input. This was correct in the original version of D45697, but
when adding appropriate clobbers, the pointer operand was incorrectly
switched to an output rather than left an input for fpe_store.

Reviewed by:    jrtc27
Obtained from:  CheriBSD
Fixes:          https://cgit.freebsd.org/src/commit/?id=44d4ee7f3dad ("riscv: add FPE code.")
MFC after:      1 day
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D53441
91f66f9b377e09f59f481e653d8f64120a183806 John Baldwin 2025-10-30 19:52:51

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

riscv/vmm: Remove a redundant maxcpu check in vm_alloc_vcpu()
aplic_max_cpu_count() just returns the VM's max vCPU count, and
vm_alloc_vcpu() already checks that.  Just remove this check so that
it's easier to merge vm_alloc_vcpu() into MI code.

If the APLIC really does require us to lower the limit, we should
instead adjust vm->maxcpu in vm_create().

No functional change intended.

Reviewed by:    br
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53496
5baa83cfcbd87109dc8a61fbb2e183998cc2d5c5 Mark Johnston 2025-10-31 14:08:45

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

uart: provide and use default rclk for JH7110 UART
A regression in the u-boot-provided JH7110 device tree leaves the uart
incorrectly configured.

The issue arises when a baud rate is specified ('current-speed'
property), but the rclk value is not ('clock-frequency'). Previous
releases, e.g. v2025.04, provided both.

The alternative way to retrieve this value is to query the parent clock,
but our clk framework is not available during early console probing and
configuration.

In this instance, we end up defaulting to DEFAULT_RCLK in ns8250_init(),
which is the wrong value. The relevant uart class (uart_snps) should
provide a default rclk in its definition, but it does not. Add a new
variant class with the correct default rclk of 24000000.

Finally, uart_cpu_fdt_probe() needs to be updated to actually query this
default value when it does not find a 'clock-frequency' property. This
was simply missing; the ACPI uart bus behaves identically, see
uart_acpi_probe().

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289978
Reported by:    rdunkle@smallcatbrain.com
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53119
6de1c50e78a826abc08660e4c3ac10f1ddba9ba2 Mitchell Horne 2025-10-14 18:02:40

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

Add support for Sierra Wireless EM7590 modem.
00ebecd4a09db84fb6c5002b082400d8f8a97407 Ari Suutari 2025-10-22 09:59:09

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

usb/u3g: add Quectel EM060K
6968897a8048aee2c72efdfbe23a7b64bdebcdbc Andre Albsmeier 2025-10-31 16:50:01

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

random: CTASSERT check sizeof random_source_descr[]
Ensure that the number of elements of random_source_descr[]
and fxrng_ent_char[] matches that of enum random_entropy_source.

Reviewed by:    cem
Differential Revision: https://reviews.freebsd.org/D53255
8bd9a9e9e4cb3e293c1639319692ce201eb8fc53 David E. O'Brien 2025-10-22 07:19:20

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

tb_pci: Don't try to attach to PCI buses that aren't below a PCI-PCI brige
This driver is a subclass of the normal PCI bus driver that is
intended to be used for the logical child bus of a Thunderbolt PCI-PCI
bridge device.  To determine if a given PCI bus's parent is a TB
bridge, it examines the PCI device IDs of the parent pcibX device.
However, this only works for pcibX devices that are actual PCI-PCI
bridges and panics for PCI buses that are children of host bridges
such as the pci0 child of pcib0.

Probably this should not be reading device IDs (as that doesn't tell
you if the device driver for the PCI-PCI bridge is actually a TB
driver).  Instead, the TB PCI-PCI driver should be exporting a new
IVAR (with a globally unique number as we do for ACPI handles) that
returns the TB generation and the probe routine for this PCI bus
driver should be checking for that IVAR (the way acpi_pci.c checks for
the presence of an ACPI handle).

This fixes a panic on boot if tb.ko is loaded at boot time (which the
driver recommends for certain chipsets).

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D53202
b9efaeb87a8f9cfc0cd87076a8b314785d6e04d9 John Baldwin 2025-11-03 15:24:23

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

vmm: Simplify the VM_ALLOC_MEMSEG ioctl a bit
We can free the mask earlier, simplifying some error paths.  No
functional change intended.

Reviewed by:    corvink, jhb, emaste
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53418
c3f41c02c9a5bf45504af59c351f0ae336719753 Mark Johnston 2025-11-04 13:52:01

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

amd64/vmm: Factor vcpu_notify_event() into two functions
vcpu_notify_event() previously took a boolean parameter which determines
whether the implementation should try to use a posted interrupt.  On
arm64 and riscv, the implementation of vcpu_notify_event() is otherwise
identical to that of amd64.

With the aim of deduplicating vcpu state management code, introduce a
separate amd64-only function which tries to use posted interrupts.  This
requires some duplication with vcpu_notify_event_locked(), but only a
little bit.

Then, fix up callers.  No functional change intended.

Reviewed by:    corvink, jhb
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53419
78a3a1e78ad8812bcf82e30b52ba2f21c49a3407 Mark Johnston 2025-11-04 13:52:21

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

amd64/vmm: Remove useless global variables
No functional change intended.

Reviewed by:    corvink, jhb, emaste
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53420
3faad9e26018dfc0ab6da21a53c0310656187d7b Mark Johnston 2025-11-04 13:54:07

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

vmm: Move the module load handler to vmm_dev.c
Move the vmm_initialized check out of vm_create() and into the legacy
sysctl handler.  If vmm_initialized is false, /dev/vmmctl will not be
available and so cannot be used to create VMs.

Introduce new MD vmm_modinit() and vmm_modcleanup() routines which
handle MD (de)initialization.

No functional change intended.

Reviewed by:    corvink
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53421
e758074458df3b61773b7678ff47c4a835365d21 Mark Johnston 2025-11-04 13:54:27

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

vmm: Consolidate VM name length checking
vm_create() is only called from one place.  Rather than having similar
checks everywhere, move them to vmmdev_create().

We can safely assume that the name is nul-terminated, the vmmctl ioctl
handler and the legacy sysctl handler ensure this.  So, don't bother
with strnlen().

Finally, make sure that the name buffers are the same size on all
platforms.  VM_MAX_NAMELEN is supposed to be the maximum, not including
the nul terminator.

Reviewed by:    corvink
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53422
7377c87e467343e71b3e803708b98e04ea8e84bd Mark Johnston 2025-11-04 13:55:07

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

amd64/vmm: Remove an unused function
Reviewed by:  corvink, emaste
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53423
7214e0469234d90edd6deda4b181cd4862a9ace0 Mark Johnston 2025-11-04 13:56:02

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

vmm: Move vm_maxcpu handling into MI code
No functional change intended.

Reviewed by:    corvink
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53477
c46e5dc65ba5c9666bb4452878e332dc49730843 Mark Johnston 2025-11-04 13:56:15

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

virtio: Fix polling in virtqueue_dequeue()
The access of vq->vq_ring.used->idx needs to be volatile-qualified,
otherwise the compiler may optimize virtqueue_poll() into an infinite
loop if there is no data available upon the first poll.

Prior to commit ad17789a8569 this wasn't a problem since an external
function call after each poll inhibited the optimization.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289930
MFC after:      3 days
Sponsored by:   Klara, Inc.
Fixes:          https://cgit.freebsd.org/src/commit/?id=ad17789a8569 ("virtio: Remove the unused poll method")
f999ffdce3813eb946f10999ccffb8275c324469 Mark Johnston 2025-11-04 14:27:33

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

arm64/vmm: Move the vgic_max_cpu_count() check
vm_alloc_vcpu() is called quite frequently, and we don't need to apply
the vgic limit unless we're actually allocating a vcpu structure for the
first time.

No functional change intended.

Reviewed by:    andrew
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53580
f3a7ed2047dffaebbfbb3920e993e9df424be728 Mark Johnston 2025-11-04 16:58:25

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

mmc_fdt: handle broken-cd property
The documented properties [1] for card-detection are one of:
 - cd-gpios
 - non-removable
 - broken-cd

In cd_setup() we handle the first two, but not the latter, resulting in
a silently undetected card on an affected system.

To work around this, force cd_disabled when broken-cd is specified, so
that the card detect helper function gets to run. A more complete
solution would implement some kind of polling mechanism to detect the
card's presence or removal.

Some variants of the Allwinner D1, such as the Lichee Rv, specify this
property in the mmc0 device node.

[1] sys/contrib/device-tree/Bindings/mmc/mmc-controller.yaml

Reported by:    Haowu Ge <gehaowu@bitmoe.com>
Tested by:      Haowu Ge <gehaowu@bitmoe.com>
Reviewed by:    imp, manu, mmel
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53546
768ee6d454821cc63247cb4ffe526c5a06accff0 Mitchell Horne 2025-11-05 14:37:36

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

mlx5: Preallocate ktls tags asynchronously
Change tag preallocation to happen asynchronously when an interface is
brought up, so as to reduce boot times when preallocating tags.

- A new mlx5-tls-prealloc_wq is allocated when preallocation is
  desired, and started when an interface is opened

- The bulk of the prealloc code remains the same, except the
  allocations are now M_NOWAIT. M_NOWAIT is needed because, since the
  preallocation is done asynchronously, and since tag allocation is
  not instant, we could race with a real TLS session trying to
  allocate a tag. Note that in this case, we take allocation failure
  as a sign that we were unable to obtain the entire zone due to there
  being other consumers.  This was suggested by @markj as a way to
  keep things simple, after discussing why uma_zone_get_cur() didn't
  immediately report a fully allocated zone.  If this turns out to be
  problematic, we could use uma_zone_set_maxaction() to stop
  pre-allocations (also suggested by Mark)

Reviewed by: glebius, kib, markj
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D53570
9349214a28152a3cb2424459976f571a9c8fc5df Andrew Gallatin 2025-11-05 23:58:33

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

Commit group #13: safe(4): add gone_in 16.0
safe(4): add gone_in 16.0

Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53426
9b7d2cee03e5d0b0723718047d4bc388d0745591 David E. O'Brien 2025-10-29 01:11:48

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


4f19c2e99b0d5429c5f0dee1952f170c699a4954 David E. O'Brien 2025-11-07 23:23:21

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

vtnet: don't provide VIRTIO_NET_HDR_F_DATA_VALID
According to section 5.1.6.2.1 of version 1.3 of the virtio
specification, the driver MUST NOT set VIRTIO_NET_HDR_F_DATA_VALID in
the flags. So don't do that.

Reviewed by:            Timo Völker
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D53650
836b3cd9d7910aff5225e9e58189067ca03fae30 Michael Tuexen 2025-11-10 15:28:04

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

vtnet: fix enabling/disabling tso
Transmit segment offloading depends on transmit checksum offloading.
Enforce that constraint. This also fixes a bug, since if_hwassist bits
are from the CSUM_ space, not from the IFCAP_ space.

PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290773
Reviewed by:            Timo Völker
Tested by:              lg@efficientip.com
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D53629
4c50ac68166caf7e08c5a9984d63fa91490fa50d Michael Tuexen 2025-11-10 15:34:53

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

Commit group #14: nvmf
nvmf: Add a transport hook to limit the size of host data transfers

Smart NIC offload transports may have a cap on the size of the largest
data PDU that can be received.  Allow these transports to enforce a
cap on the size of an I/O request submitted by the nvmf(4) host.

NB: The controller is able to advertise a maximum-supported PDU size
during TCP negotiation, but there is no way in the protocol to
advertise a maximum size that the host can receive.

Sponsored by:   Chelsio Communications
01dd6a83b5ffce7a99ab8a7c2c9dcb82088357cd John Baldwin 2025-11-10 15:50:47

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


nvmf: Honor any data transfer limit imposed by the transport

If the transport has a data transfer limit, restrict I/O transfers to
the largest multiple of MPS that fits within the limit.

Sponsored by:   Chelsio Communications
62caae230859423ae045b5d754f30d193ca628c0 John Baldwin 2025-11-10 15:50:47

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


nvmf: Add a transport hook to limit the maximum command capsule size

NVMe controllers advertise the largest supported size of a command
capsule in the controller data (IOCCSZ).  Smart NIC offload transports
may have a cap on the size of the largest data PDU that can be
received.  These transports can implement this hook to limit the
advertised IOCCSZ to limit the in-capsule-data payload sent by remote
hosts.

Sponsored by:   Chelsio Communications
c1b3c5f5f3fab895df3d2e75ac3edee4e9aa6432 John Baldwin 2025-11-10 15:50:47

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

nvmft: Honor any IOCCSZ limit imposed by the transport
Sponsored by: Chelsio Communications
8ced50767933f3e2949456367d4d9a64797daec3 John Baldwin 2025-11-10 15:50:47

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

cxgbe: Extend support for NVMe capabilities
- Default to enabling all NVMe capabilities.  Currently, NVMe/TCP PDU
  offload is supported by T7 adapters.

- Fetch relevant parameters from the firmware if NVMe support is
  enabled.  A few parameters are shared with RDMA support, so the RDMA
  parameters section is now split into handling for parameters used by
  both vs parameters used only by RDMA.

Sponsored by:   Chelso Communications
adaa1470777b7b392960661e317577bf23fe029a John Baldwin 2025-11-10 15:50:47

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

cxgbe: Add ULD_NVME for NVMe/TCP offload
NVMe/TCP offload depends on TOE similar to iSCSI and iWARP offloads.

Sponsored by:   Chelsio Communications
a4cd88b604def2b59b0871e612bd6ad04b22520e John Baldwin 2025-11-10 15:50:47

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

cxgbe tom: Add support for sending NVMe/TCP PDUs
These work requests are largely similar to the same work requests for
iSCSI offload but use a newer tx_data work request structure.

This includes initial support for ISO where a large C2H_DATA or
H2C_DATA PDU is split into multiple PDUs on the wire.

Sponsored by:   Chelsio Communications
fd3581e4ddde4166d6ba6ce264a63833ded35483 John Baldwin 2025-11-10 15:50:48

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

cxgbe: Add support to the base driver for NVMe/TCP PDU offload
- Adds various per-queue counters similar to iSCSI PDU offload as well
  as a hook in the adapter softc for a reference to the NVMe/TCP softc.

- Instruct the firmware to include a DDP indicator in the status field
  for NVMe/TCP PDU completion messages.  This flag indicates if the
  payload data for a PDU has been received in the free list or if it
  was placed directly into a kernel I/O data buffer via DDP.

Sponsored by:   Chelsio Communications
71d82199a111af67cba73e32a27a900d74c1a1cc John Baldwin 2025-11-10 15:50:48

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

cxgbe tom: Don't require exact match for TCP seqno for FIN for NVMe offload
Similar to iSCSI on T6+, additional DDP data might have been received
without a completion posted if a connection was closed in the middle
of a transfer.

Sponsored by:   Chelsio Communications
fca740e2d21008faec0d81426259470b452704e6 John Baldwin 2025-11-10 15:50:48

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

Commit group #15: nvmf_che: NVMe-TCP offload support for Chelsio T7 adapters
nvmf_che: NVMe-TCP offload support for Chelsio T7 adapters

This provides an alternative NVMe over TCP transport which uses PDU
offload for TOE connections on a T7.

Similar to iSCSI offload via cxgbei.ko, nvmf_che uses DDP when
possible to enable the NIC to DMA received data directly into I/O data
buffers (pages from a struct bio on the host side, pages from a CTL
I/O requests on the controller side) to avoid copying data on the host
CPU.  nvmf_che is also able to receive a stream of C2H or H2C PDUs for
a single data transfer when using DDP without processing the header of
each PDU.

Unlike cxgbei, nvmf_che aims to be mostly transparent to end users.
Notably, neither nvmecontrol or ctld have to be explicitly asked to
use an offload.  Instead, TCP queue pairs are claimed by this driver
whenever they are eligible (e.g., using TOE).

The main restriction of nvmf_che compared to the software TCP
transport is that Chelsio adapters have a restriction on the largest
PDU that can be sent and received.  When sending data, nvmf_che is
able to split large C2H or H2C data requests across multiple PDUs
without affecting nvmf(4) or nvmft(4).

To avoid overly large PDUs when using nvmf(4), nvmf_che reports a data
transfer limit that is honored by nvmf(4).  This ensures that the
remote controller's PDUs will never be too large (since the command
transfer size is limited to one PDU) and also ensures that nvmf(4)
will never to try to send a command PDU with ICD that is too large.

For nvmft(4), overly large command PDUs due to ICD are avoided by
clamping the size of the reported IOCCSZ in the controller data.
However, to ensure that H2C PDUs are sufficiently small, nvmf_che will
only claim queue pairs which advertised a suitable MAXH2CDATA
parameter during queue negotiation.  For ctld(8), this can be achieved
by setting the MAXH2CDATA option in a transport-group, e.g. for T7:

transport-group tg0 {
        discovery-auth-group no-authentication
        listen tcp 0.0.0.0
        listen tcp [::]
        listen discovery-tcp 0.0.0.0
        listen discovery-tcp [::]
        option MAXH2CDATA 32488
}

Sponsored by:   Chelsio Communications
ec0cd287f55f7ea93ff4ccfa4de0f70eca5fef75 John Baldwin 2025-11-10 15:50:48

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


nvmf_che: Fix amd64 LINT-NOVIMAGE build

Fixes:  https://cgit.freebsd.org/src/commit/?id=ec0cd287f55f nvmf_che: NVMe-TCP offload support for Chelsio T7 adapters
Sponsored by:   Chelsio Communications
e353cb88d4581303a4d9af090974ec88463802e6 Navdeep Parhar 2025-11-12 20:04:48

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


cxgbe(4): fix nvmf_che module build

Fixes: https://cgit.freebsd.org/src/commit/?id=ec0cd28
564cad5638d219d5712a8ac61dafa6f804518cab David E. O'Brien 2025-11-13 01:28:57

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

debug: moved to hardware because 'Need to be grouped with ec0cd287f55f7ea93ff4ccfa4de0f70eca5fef75'

sound: Clarify userland/vchan relationship in sndstat feeder chain
When vchans are enabled, the primary channels do not interact with
userland, but with the vchans.

With vchans enabled:

$ sndctl feederchain
dsp0.play.0.feederchain=[vchans -> [...] -> hardware]
dsp0.record.0.feederchain=[hardware -> [...] -> vchans]

With vchans disabled:

$ sndctl feederchain
dsp0.play.0.feederchain=[userland ->  [...] -> hardware]
dsp0.record.0.feederchain=[hardware -> [...] -> userland]

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53504
59d7865d3c20e86b3c42096f4a8c06a5e2eebd29 Christos Margiolis 2025-11-10 16:15:36

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

sound: Add kqueue support
Co-authored by:       meka@tilda.center
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53029
4181bf9d18166c4061bfa137b8a46972a5a55f67 Christos Margiolis 2025-11-11 12:04:45

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

Commit group #16: sound
sound: Retire unused snd_dbuf->dir

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53518
3ba4e3d352e5fbc550645a76064ca16460616d86 Christos Margiolis 2025-11-11 12:04:58

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


sound: Retire snd_dbuf->dev

Redundant, and if we at some point really need this, we can fetch it
from snd_dbuf->channel->dev.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53519
55540ebc33ad9a52bc4de121cb598243153981a8 Christos Margiolis 2025-11-11 12:05:03

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


sound: Re-arrange sndbuf_create() arguments

Since we always use the channel name as the "drv" argument, we can just
get rid of it and fetch it in sndbuf_create(). Also, put the "channel"
argument first, as it is more intuitive.

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53520
482d0d97885506a5eb2b1f2501f65e7e4fca6fdc Christos Margiolis 2025-11-11 12:05:07

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


sound: Define SNDBUF_F_MANAGED as 0x00000001

It's the only flag anyway.

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj, emaste
Differential Revision:  https://reviews.freebsd.org/D53521
d159b023de52570800d5a5292318de4bce3c9978 Christos Margiolis 2025-11-11 12:05:12

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


sound: Retire unused sndbuf_dump()

Fixes:          https://cgit.freebsd.org/src/commit/?id=e4e61333ffa4e90360de2dd1e4e0146f7cbf0afb
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj, emaste
Differential Revision:  https://reviews.freebsd.org/D53522
6d6eb25d0b19443089749e288f091bf26fc58f70 Christos Margiolis 2025-11-11 12:05:16

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


sound: Retire unused sndbuf_getflags() and sndbuf_setflags()

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53525
06eb65e11d7a66caec358966dcf892c9f4c2e411 Christos Margiolis 2025-11-11 12:05:20

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


sound: Simplify sndbuf_clear() loop

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53526
c0e96595a4da90d890be88881a5dc3381da59dd7 Christos Margiolis 2025-11-11 12:05:24

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


sound: Remove redundant sndbuf_free() in chn_kill()

If b exists, it will get destroyed by sndbuf_destroy() (which calls
sndbuf_free()) a few lines below, so the additional sndbuf_free() here
is redundant.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53527
ad28c6a13a45746f32cbc832b3fe58748fae0d19 Christos Margiolis 2025-11-11 12:05:30

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


sound: Get rid of useless sndbuf getters and setters

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53528
78c5026ae13b2d30b479f9bc892ecdb6f5a5bc0b Christos Margiolis 2025-11-11 12:05:34

debug: classified in 03-filenames_plain1 by '['sys/arm/', 'sys/arm64/', 'sys/dev/']'


sound: Add to pcm/buffer.* copyright

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
4e2bf54d9f2e9a2a51dbdcebf079089615102f1c Christos Margiolis 2025-11-11 12:05:37

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


sound: Retire unused {pcm_feederdesc,feedertab_entry}->idx

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53547
f1157508b37d66c0e038b2a3346858999bcd5984 Christos Margiolis 2025-11-11 12:05:42

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


sound: Retire MAXFEEDERS and feedercnt

Apart from the fact that it's unrealistic to reach MAXFEEDERS (256),
since sound(4) comes with maximum 7 feeders (including feeder_root),
there is also no reason to cap it.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53549
84282785cc497c3fb798502899f880e15d063233 Christos Margiolis 2025-11-11 12:05:47

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


sound: Remove unnecessary pcm/vchan.h include from pcm/feeder.c

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53550
6049209f35c39823f6f9a756953b361d52658812 Christos Margiolis 2025-11-11 12:05:51

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


sound: Simplify pcm_feederdesc initialization

Currently we initialize a pcm_feederdesc array for every feeder, which
is then used by FEEDER_DECLARE(). However, there is no reason for this
to be an array, as each feeder has only one description. Additionally,
since the only thing we define in that array is the feeder type, remove
the pcm_feederdesc definitions altogether, and instead pass their type
to FEEDER_DECLARE() directly, which will then initialize the
pcm_feederdesc.

This also simplifies feeder_register().

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53551
7d33c3d651901c97a683689916c810cf4e26a057 Christos Margiolis 2025-11-11 12:06:01

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


sound: Retire unused pcm_feederdesc->flags

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53552
0e9e222518dc543e34f891c00d2a6a1dd93c3fc2 Christos Margiolis 2025-11-11 12:06:05

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


sound: Simplify feeder_getclass()

With the parameters we provide feeder_getclass(), the only thing we
really care about is the feeder's class type. We can simplify (and make
the code more readable) that by simply passing the type to
feeder_getclass(). Apart from being simpler, we can now also retire
feedertab_entry->desc and cmpdesc().

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53553
441a411853e48719d4aa6a36bba0a4c4cbca3a4f Christos Margiolis 2025-11-11 12:06:09

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


sound: Retire feedertab_entry

Have an SLIST of feeder_class directly. This way we simplify the code,
and also avoid the additional malloc()/free() for each entry.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53554
c24ca02c4c85d0b691a6100fd3006b1f23061858 Christos Margiolis 2025-11-11 12:06:14

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


sound: Retire feeder_class->data

It's always NULL. No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53555
762f8e6f515a33274503872cf597e0895ff706bc Christos Margiolis 2025-11-11 12:06:18

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


sound: Retire feeder_class->desc

The only field we care about is pcm_feederdesc->type, so keep that one
only and do not embed the whole pcm_feederdesc.

While here, make the feeder type enum into a named one and use it as
feeder_class->type's type.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53556
91fcc0132d0b192f07f9b67626c9af2ad8759857 Christos Margiolis 2025-11-11 12:06:24

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


sound: Retire pcm_feederdesc->type

This is always accessed from pcm_feeder->desc->type. Instead of
duplicating this field, we can remove it from pcm_feederdesc, and access
it through pcm_feeder->class->type.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53557
92dcd20222a2674ba31ae09865da19d948992994 Christos Margiolis 2025-11-11 12:06:28

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


sound: Remove unnecessary initializations in feeder_create()

We do not need to zero out fields since the struct is allocated with
M_ZERO. Also we no longer need to have a special case for the root
feeder.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53558
699fd108c50ccbd576476a2c95fa03e16492f2f9 Christos Margiolis 2025-11-11 12:06:32

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


sound: Retire unused feeder_printchain()

We can print it with "sndctl feederchain".

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53559
f4819a1b6c441f804d66d710678bf5558ee29eee Christos Margiolis 2025-11-11 12:06:37

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


sound: Retire feeder_register_root()

We can now use feeder_register().

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53560
2ba68208390a2c091039eb6731cdc2ebe280f89a Christos Margiolis 2025-11-11 12:06:41

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


sound: Retire DSP_DEFAULT_SPEED

Only a few drivers use this, but this is not really our "default" speed.
And even those drivers most likely override that value at some point
once CHANNEL_SETSPEED() has been called.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53562
16ae4c2398c89dcc5c03f1aac72a2fce2a60e724 Christos Margiolis 2025-11-11 12:06:47

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


sound: Retire unused SCF_SYNTH

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
7dc58828f494ae8fc06ef014b01b2dbea855091b Christos Margiolis 2025-11-11 12:06:55

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


sound: Simplify logic in dsp_io_ops()

Use CHN_LOCK()/CHN_UNLOCK() directly, instead of
dsp_lock_chans()/dsp_unlock_chans(). These functions are useful when we
want to potentially lock both channels. Here we know which channel we
are locking, so we can just lock it directly. This way we get rid of the
prio variable as well.

Related to runpid again, there is no reason to assign it when
CHN_F_RUNNING is not set. channel->pid (as well as channel->comm) is
always assigned in dsp_chn_alloc().

Get rid of runpid. I do not see how we can end up with channel->pid
(td->td_proc->p_pid) not matching buf->uio_td->td_proc->p_pid.

Also improve errno values.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53736
b4c32d67d40a862620aa3e565ed0cb9ad59f1e60 Christos Margiolis 2025-11-21 16:14:13

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


sound: Clean up midi/ includes

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53841
4e8eb778803a8bffd0faa507ae2662725363cae5 Christos Margiolis 2025-11-21 16:14:18

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


sound: Merge PCM_ALIVE() with PCM_REGISTERED()

PCM_ALIVE() is used only in pcm_unregister(), but it does not hurt to
use PCM_REGISTERED(), which uses PCM_ALIVE() internally. In fact, it's
more robust this way.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
3107b952f534813846e4f58afdb57624a81618d8 Christos Margiolis 2025-11-21 16:14:24

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

iwx: migrate to using net80211 crypto key methods
In preparation for further MFP key work, migrate iwx away from using
IEEE80211_KEY_GROUP and pointer arithmetic.  This is a hold over from
ye olde days.

Locally tested:

* (STA mode, CCMP/CCMP network)
* iwx0: <Wi-Fi 6 AX210> mem 0x84c00000-0x84c03fff at device 0.0 on pci4

Differential Revision:  https://reviews.freebsd.org/D52523
c5f7cb19f527eb845660c98feb4e5e3cbf05dce5 Adrian Chadd 2025-09-12 23:11:36

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

acpi: add counters for cumulative time spent in each sleep state.
Add this so it can be consumed/graphed.

Differential Revision:  https://reviews.freebsd.org/D53633
Reviewed by:    gallatin, imp
53880f09fb1b485cf5c4af2b81081112e0c7cea3 Adrian Chadd 2025-11-07 03:45:24

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

vmm: Initialize AMD IOMMU command buffers
The driver communicates with the AMD IOMMU by writing to the tail of a
fixed length command ring buffer. After issuing cmd_max commands, the
tail pointer wraps back to the beginning of the ring buffer. Now, each
command buffer entry will contain content from previous commands which
may set bits in fields marked as Reserved for the current command. In
some cases, the hardware will return an ILLEGAL_COMMAND_ERROR event when
this occurs.

Fix is to memset the command buffer prior to use.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270966
Reviewed by:    corvink, kib, markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53692
6e68cd8666e14db265f00e9ee59b670ca2964e0d Chuck Tuffli 2025-11-12 15:39:29

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

arm64/vmm: Don't set MDSCR_EL1.KDE when enabling single-stepping
When VHE mode is enabled, this results in a hang on the host.  In
particular, when MDSCR_EL2.KDE is set to 1 and the CPU is executing at
EL_D, i.e., EL2, debug exceptions are enabled. In non-VHE mode, we call
into the guest by trapping to EL2, which implicitly masks debug
exceptions by setting PSTATE.D. However, in VHE mode, PSTATE.D remains
clear, so when the guest's MDSCR_EL1 value is loaded, we immediately
begin single-stepping.

In non-VHE mode there is no need to set KDE either, so just stop setting
it.

Reviewed by:    andrew
MFC after:      3 days
Sponsored by:   CHERI Research Centre (EPSRC grant UKRI3001)
Differential Revision:  https://reviews.freebsd.org/D48965
ac0032344ca256f758a5eeb0fd6089dd647b0496 Mark Johnston 2025-11-05 20:54:30

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

arm64/vmm: Fix handling of MDCR_EL2.TDE
TDE (make EL2 the target EL for debug exceptions) is set both when
setting guest breakpoints and when single-stepping the guest.  In some
cases we may configure both capabilities, and when subsequently
disabling one of them we need to take care to avoid clearing TDE if the
other is still configured.

MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=75cb949228bb ("arm64/vmm: Add breakpoint and single-stepping support")
Sponsored by:   CHERI Research Centre (EPSRC grant UKRI3001)
b6f25aca11c98acc49f111f2899ecd4e96c7debd Mark Johnston 2025-11-12 15:19:07

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

Commit group #17: Retire pccard(4)
Retire pccard(4)

pccard has been declared obsolete for a long time and also the
support has been removed but the man page still exists. It mentions
being scheduled to be removed before 13.0 but it still exists in the
tree.

[Extracted from review D53434]

Reviewed by: emaste
Fixes: https://cgit.freebsd.org/src/commit/?id=31b35400c ("pccard: Remove more of the PC Card infrastructure")
5b9fba1cb0d84ee297908ec4d575c33cf1f68ad5 Muhammad Moinur Rahman 2025-11-12 17:01:18

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


pccard.4: Really remove

Fixes:          https://cgit.freebsd.org/src/commit/?id=5b9fba1cb (Retire pccard(4))
Fixes:          https://cgit.freebsd.org/src/commit/?id=31b35400c (Remove more of the PC Card infrastructure)
Discussed with: emaste, jhb
8a8c58f71e80e186da3679266eef54f4180e4d11 Alexander Ziaee 2025-11-12 18:22:12

debug: classified in 03-filenames_plain1 by 'ObsoleteFiles.inc'

debug: moved to hardware because 'Need to be grouped with 5b9fba1cb0d84ee297908ec4d575c33cf1f68ad5'

arm64: Add the PMBSR_MSS_BSC_BUFFER_FILLED define
This will be used by the SPE driver.

(commit message by andrew@)

Reviewed by:    andrew
Sponsored by:   Arm Ltd
736b7ec362a3db58007361ecbbb62dfb4bb3031e Sarah Walker 2025-11-12 16:55:28

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

arm64: Add a define for MDCR_EL2_E2PB_EL1_0_NO_TRAP
This will be used by the SPE driver.

(commit message by andrew@)

Reviewed by:    andrew
Sponsored by:   Arm Ltd
be0ded8d64e3e8c7bf6bf59b236a086f6a98e7b6 Sarah Walker 2025-11-12 16:57:29

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

Commit group #18: arm64: Add Arm SPE support
arm64: Add Arm SPE support

Add support for the Arm Statistical Profiling Extension (SPE). This
is an optional extension added in Armv8.1 to provide profiling of
software using randomised instruction sampling.

This adds the initial driver, and attached it to the hardware tracing
framework, hwt(4), in CPU mode to allow tracing of all threads on
a given CPU.

(commit message by andrew@)

Co-authored-by: Sarah Walker <sarah.walker2@arm.com>
Co-authored-by: Andrew Turner <andrew@FreeBSD.org>
Reviewed by:    andrew
Sponsored by:   Arm Ltd
Sponsored by:   The FreeBSD Foundation (early driver)
Differential Revision:  https://reviews.freebsd.org/D46241
68f185ccc9f8f9498d536f4737d888b37cf11882 Zachary Leaf 2025-11-12 16:35:05

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


arm64/spe: Fix the GENERIC-NODEBUG build

Fixes:  https://cgit.freebsd.org/src/commit/?id=68f185ccc9f8 ("arm64: Add Arm SPE support")
a1b9b97d9679c9c4d31d86c924f1d6f06f972579 Mark Johnston 2025-11-13 13:54:53

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

cxgbe KTLS tx: Distribute FW6_PLD replies across rx queues
If the connection flowid is available then the replies are requested on
the rx queue that is receiving wire traffic for the connection.  This
reduces contention for the txq lock.

Reviewed by:    jhb
MFC after:      3 days
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D53385
a6ae6090bb3dc14eda750aa53650fccf4c0bf818 Navdeep Parhar 2025-10-21 17:29:28

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

sound examples: Extend and clean up
- Simplify directory and file structure.
- Clean up and improve code. Add more comments.
- Add polling examples.

MFC after:      1 week
Reviewed by:    christos
Differential Revision:  https://reviews.freebsd.org/D53353
6a569666868b36f5f436eea9d66789b6df191b8a Goran Mekić 2025-11-12 20:15:59

debug: classified in 05-summary-prefix by 'sound examples:'

sound: Remove KOBJMETHOD_END re-definitions
No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj, emaste
Differential Revision:  https://reviews.freebsd.org/D53696
4c05ff1d5ad206d6074151f747a1dd272487555c Christos Margiolis 2025-11-12 20:30:58

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

cxgbe(4): Add support for QSFP-DD connector and 400G transceivers
Tested with SR8 and DR4 transceivers.

MFC after:      1 week
Sponsored by:   Chelsio Communications
4b17bb0edea0341d81eba3d369bd7739e5683d4b Navdeep Parhar 2025-10-16 18:23:49

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

cxgbe(4): T7 related updates to shared code
- Avoid some more registers with read side-effects during regdump.
- mps_tcam_size is 3x the size of T6/T5.
- Update rss_rd_row to work with T7.

Obtained from:  Chelsio Communications
MFC after:      1 week
Sponsored by:   Chelsio Communications
17b4a0acfaf5e58a04232c756a79d73649ead231 Navdeep Parhar 2025-10-15 19:29:06

debug: classified in 05-summary-prefix by 'cxgbe\(4\):'

apm(8): Drop MLINK to apmconf(8)
apmconf(8) was merged into apm(8) back in 2000 and this note and MLINK
were added as a transition aid, but that aid is no longer needed.
daa1f9b415f3bca82cc7a6e555c9c56e1b1c44f5 John Baldwin 2025-11-13 02:36:14

debug: classified in 05-summary-prefix by 'apm\(8\):'

sound: Remove dead midi code
Sponsored by: The FreeBSD Foundation
MFC after:      1 week
e4b31985b54b626b2bbf486a82dd789f3dd381db Christos Margiolis 2025-11-13 12:10:04

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

Commit group #19: sound
sound: Retire unused mixer functions

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
b55adf9b261b91ddd3c7293720bbbbfb4ffe7066 Christos Margiolis 2025-11-13 12:53:18

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


sound: Move mixer->modify_counter to more appropriate place

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
15d77c1fdcb1c7f022a21892dcb78990986f1a3c Christos Margiolis 2025-11-13 13:33:24

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


sound: Retire OLDPCM_IOCTL

It is defined by default, and there is no reason to have a switch for
it. While here, also get rid of some unnecessary comments and ioctl
definitions.

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
1fe7bfd6c70160c064237eac104e7d9c71390c4f Christos Margiolis 2025-11-13 13:33:28

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

Commit group #20: sound
sound: Remove unnecessary uio checks in dsp_io_ops()

uiomove_faultflag() takes care of that already.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D53733
6b5431941c10b6fdf164ad9d3dfa4b4f1b2edc22 Christos Margiolis 2025-11-13 14:35:48

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


sound: Do not use double pointer in dsp_io_ops()

No reason to do so.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D53734
fa7bc983076661e85107970e39de66a1e54d87d1 Christos Margiolis 2025-11-13 14:35:53

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


sound: Retire SND_DIAGNOSTIC PCM locking macros

Disabled by default, but also redundant, since most of the errors they
catch will be caught anyway by WITNESS and the locking subsystem.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D53735
b19e61f223a1982cce103b9716568391a071892a Christos Margiolis 2025-11-13 14:35:58

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

arm64: Fix calculating kernel size for preload metadata
Cast &end to vm_offset_t before subtracting VM_MIN_KERNEL_ADDRESS to
ensure the resulting size is correct for PRELOAD_PUSH_VALUE.
Previously the correct size was effectively divided by sizeof(void *).

Reviewed by:    andrew
Obtained from:  CheriBSD
Differential Revision:  https://reviews.freebsd.org/D53699
587490dabc649b58f0c7966e749aa80a0f16796b Hesham Almatary 2025-11-13 14:57:54

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

Commit group #21: cxgbe(4): Expanded interrupt handling for T7
cxgbe(4): Expanded interrupt handling for T7

- Catch up with the new cause/perr registers.  The high level approach
  is the same but the T7 has an extra top level INT_CAUSE concentrator
  and a PERR_CAUSE concentrator with a changed layout.

- Add various flags to control the interrupt handlers' behavior.

- Implement a t4_intr_clear that internally use the slow handler as an
  iterator over known cause/perr registers.  This lets the driver clear
  all of the interrupt sources that it knows about.  The firmware sets
  up the interrupt enables and clears the causes normally so this call
  should be redundant.

MFC after:      1 week
Sponsored by:   Chelsio Communications
7b80c8b7d8d9a4a634c5fd5334a9fe40f9ca0b3b Navdeep Parhar 2025-11-12 01:27:40

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


cxgbe(4): Skip non-existent blocks in the interrupt handler

Fixes:  https://cgit.freebsd.org/src/commit/?id=7b80c8b7d8d9 cxgbe(4): Expanded interrupt handling for T7
MFC after:      1 week
Sponsored by:   Chelsio Communications
b676b5e5e07fde53e6dafd0fa6c360ca56ac7154 Navdeep Parhar 2025-11-13 21:14:01

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

drm2: update gone_in to 16 from 13
3a572775bfc3b1dc127e2db1a7c95ca776ff5245 David E. O'Brien 2025-11-13 20:37:19

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

mlx5: Fix compilation error when not building with KERN_TLS
Reported by: np
Fixes: https://cgit.freebsd.org/src/commit/?id=9349214a2815 mlx5: Preallocate ktls tags asynchronously
Sponsored by: Netflix
c56a266434678faf961d737714d47291b88a3f9e Andrew Gallatin 2025-11-13 21:55:17

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

rtwn: migrate to new ieee80211 key data accessors
Migrate to the ieee80211_crypto_key_*() routines.
Should be no functional change.

Locally tested:

* RTL8821AU, STA mode

Differential Revision:  https://reviews.freebsd.org/D52712
333eb58deeda6cc5a5a908b92301f833ba8750fa Adrian Chadd 2025-09-24 15:36:46

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

mtw: convert to new net80211 crypto key API
* constify mtw_write_region_1()'s data field
* convert to use ieee80211_crypto_get_*()
* .. note that rx/tx mic data routines are explicitly being called,
  as this NIC is doing TKIP + MIC offload

Differential Revision:  https://reviews.freebsd.org/D53704
Reviewed by:    bz
5431dafdb9659fb578fa2b9944005e15f50d4038 Adrian Chadd 2025-09-25 18:29:00

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

cxgbe(4): Avoid racy access to requested_fec in sysctl_requested_fec
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289121
Reported by:    Qiu-ji Chen
MFC after:      1 week
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D52199
b0cfa27c91c400dcf3e8441cc04f9e5300c7c3af Navdeep Parhar 2025-11-14 07:45:59

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

tpm: crb: factor out idle/ready state transitions
Some TPM implementations have a different start method that requires
an additional notification for some state changes; for instance, the
"Pluton" start method.  Just factor these transitions out for now, and
the coming commits will introduce points that the start method can hook
in at.

Reviewed by:    obrien
Differential Revision:  https://reviews.freebsd.org/D53682
cca34aa1d005ffc859704331a3221b8c506d2f06 Kyle Evans 2025-11-15 02:22:10

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

NOTES: Add iwm and iwx
Reviewed by:  imp, jhb
Differential Revision:  https://reviews.freebsd.org/D53759
b1039bbe185bbadea24207b600f4bea065a2dbee Dag-Erling Smørgrav 2025-11-15 03:18:51

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

efi: Move edk2 compat defines to sys/efi-edk2.h
Create efi-freebsd.h, which is safe to include from the FreeBSD context
(all of userland, except the small bits we share with edk2 and the
kernel). This defines anything that we need. At the moment, it just
includes NULL definitions.

Create efi-edk2.h, which is approximately ProcessorBind.h from edk2 that
we can include in FreeBSD compontents that are re-using edk2 components
(bits of the boot laoder, and libefi*). Update the efi_gid definitions
to match edk2 better. Add this file to badfiles.inc, since we can't
write it in a way that's compatible. This is copied from the old
efi-osdep.h.

This has to be done in one commit that's bigger than I like since we
can't easily move things piecemeal around they are so inter-related.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D53651
ce1342883e03e6a021f03a49d13539a145d320e2 Warner Losh 2025-11-16 17:32:26

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

igb(4): Fix VLAN support on VFs
Virtual Functions are considered untrusted and have no control
over VLAN filtering configuration in HW. To allow using
VLANs on VF intreface driver has to assume that VLAN HW Filtering
is always enabled and pass requests for adding or removing VLAN
tags to Physical Function driver using Mailbox API.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>

Approved by:    kbowling (mentor)
Reviewed by:    erj (previous version)
Tested by:      gowtham.kumar.ks_intel.com
MFC after:      1 week
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D53245
1839526b7315cae62efbd2d1493e6243439effcb Krzysztof Galazka 2025-11-17 15:30:26

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

snd_hda: Patch Lenovo V15
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290496
Tested by:      adrian
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
5f624d923db0f2fb33990948cffdc24da44deaa8 Christos Margiolis 2025-11-17 16:09:18

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

Commit group #22: nvme: Abstract out function to obtain a disk ident string from cdata
nvme: Abstract out function to obtain a disk ident string from cdata

This will permit sharing the code with nvmf(4).

Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D53338
8d2a50bb38051fefeb1427fdbfd249f2829310d8 John Baldwin 2025-11-17 18:21:39

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


nvme: Include <sys/systm.h> explicitly for memmove

Reported by:    andrew, rpokala
Fixes:          https://cgit.freebsd.org/src/commit/?id=8d2a50bb3805 ("nvme: Abstract out function to obtain a disk ident string from cdata")
Sponsored by:   Chelsio Communications
032fbda024d78a8e2f9479efcdda8604c62bcea0 John Baldwin 2025-11-20 14:36:50

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

nvmf: Add support for DIOCGIDENT
This mirrors commit 6d0001d44490becdd20d627ce663c72a30b9aac3 but for
nvmf(4).

Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D53339
33383fbf606be619af0e107106f4f6028c9eab0d John Baldwin 2025-11-17 18:26:30

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

dev/ofw: Teach ofw_cpu to find the pcpu on arm64
Use the midr value to ensure we find the correct PCPU pointer on arm64.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53327
6b12b94c8fd2d5d85060d02620ed807ac6233f71 Andrew Turner 2025-11-18 18:00:29

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

dev/fdt: Add support for non-PCI MSI interrupts
Some non-PCI devices can send interrupts, e.g. the Arm SMMU or GICv5
Interrupt Wire Bridge. Add support for these by implementing pci_get_id
and pci_alloc_msi and the MSI/MSI-X parts of the PCIB interface.

Only the MSI parts of the PCI interface are added as that is all I am
able to test.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53330
68e6422c6c91170a615e77028683a157e8e39d05 Andrew Turner 2025-11-18 18:00:30

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

arm64: Add non-PCI MSI support
Add the arm64 parts to support for non-PCI MSI and MSI-X interrupts.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53331
4713f54013176fc73ada29cf094016fd3b328c80 Andrew Turner 2025-11-18 18:00:30

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

arm: Handle GIC_IVAR_VGIC in the gic driver
We don't have a GICv2 vgic so can just return 0.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53662
262fadda370001eed2fd1a72592d79dbd533c650 Andrew Turner 2025-11-18 18:00:31

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

arm/gic: Make GICV3_IVAR_SUPPORT_LPIS generic
GICv5 will need this too, so move to the GIC_IVAR namespace.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53663
8178a4e3c13241804bb9625b2ef4c1b3fea3c7d9 Andrew Turner 2025-11-18 18:00:31

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

arm64: Switch to gic_get_support_lpis in gicv3_its
The old gicv3_get_support_lpis will be removed.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53664
3ef673e98af669b5cf4e496bb2a1aab9020c480d Andrew Turner 2025-11-18 18:00:32

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

arm64: Remove gicv3_get_support_lpis
It's no longer used after moving to gic_get_support_lpis.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53665
2188e77bfdecfe6d7fa2007f64a471fdaa045892 Andrew Turner 2025-11-18 18:00:32

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

iichid: The IICHID spec defines the response to the RESET command as two bytes of zeros.
Our recent changes to iichid.c has caused us to attempt to read a
full REPORT instead, and at least one keyboard hangs solid when we
do that.

This patch changes us to be spec-compliant.

Differential Revision: https://reviews.freebsd.org/D53803
MFC after: 1 day
Approved by: re(ccperciva)
5d53462af1d0e892da77b52b701b337119b2f5d7 Poul-Henning Kamp 2025-11-18 19:22:01

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

nvme: Fix backwards sense of error condition
b21e67875bf0c tested for the good condition, not the error condition, so
we'd never do anything else in this function. This was causing certain
logging not to happen, and also prevented forthcoming namespace size
change code from working as well.

Fixes: https://cgit.freebsd.org/src/commit/?id=b21e67875bf0c
Sponsored by: Netflix
27481c268916b0790c7ad16202a5b012625ce1a8 Warner Losh 2025-11-18 20:07:11

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

nvme: Notify namespace changes better
When we get a namespace notification, we have to reconstrut the
namespace to get the new identification data from the namespace. For
each namespace in the AEN, we will reconstrict it before we call the
notification. We also flag it as changed for the duration of the change
callback (prior versions of the patch needed to keep track, but we no
longer do, so this bit may be removed). Note when we've seen the
namespace so we can notify when it goes away.

Co-authored-by: imp
Differential Revision: https://reviews.freebsd.org/D33032
20e94950c54e398049396647da36b9e2c3b639c1 Wanpeng Qian 2025-11-18 15:24:23

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

nvd: handle namespace changes
Signal the new media size when the namespace changes size.

Reviewed by:            imp
Differential Revision:  https://reviews.freebsd.org/D33032
bd769e73d8f1d5141b1c2eb2322b4c6caed5d9e0 Wanpeng Qian 2025-11-18 17:24:13

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

nvme_sim: signal namespace depature
Signal when the namespace is gone so we can tear down the disk when a
nvme drive is removed.

Reviewed by:            imp
Differential Revision:  https://reviews.freebsd.org/D33032
4640f5008922c5b189d2f7b63edf73300277e6df Wanpeng Qian 2025-11-18 17:24:13

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

powerpc: Don't use cache to zero pages
pmap_zero_page() may be called on uncached pages, so using the cache to
zero uncached pages may trigger a fault.

MFC after:      2 weeks
9b0102837e305ca75de2bc14d284f786a33f9a6a Justin Hibbits 2025-11-14 16:56:42

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

dpaa2: Setup interface caps on attach
39d4094173f9 ("epair: add support for checksum offloading") revealed
that HW checksum offloading is not enabled when the dpaa2_ni driver
is attached despite being declared and enabled on the dpni interface.

I modified dpaa2_ni_setup_if_caps to take into account both IPv4 and
IPv6 checksum offloading capabilities and added a call to re-configure
interface capabilities on attach to fix it.

Reviewed by:    bz
Fixes:          https://cgit.freebsd.org/src/commit/?id=39d4094173f9 ("epair: add support for checksum offloading")
MFC after:      1 week
Differential Revision: https://reviews.freebsd.org/D53436
a731cb93a66271713d6ea197946e4a307e5b0837 Dmitry Salychev 2025-10-28 22:30:05

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

sound: Fix KASSERT panics in chn_read() and chn_write()
INVARIANTS kernels may trigger a KASSERT panic from sndbuf_acquire(),
when fuzzing write(2) using stress2, because of a race in chn_write().

In the case of chn_write(), what sndbuf_acquire() does is extend the
ready-to-read area of the buffer by a specified amount of bytes. The
KASSERT in question makes sure the number of bytes we want to extend the
ready area by, is less than or equal to the number of free bytes in the
buffer. This makes sense, because we cannot extend the ready area to
something larger than what is available (i.e., free) in the first place.

What chn_write() currently does for every write is; calculate the
appropriate write size, let's say X, unlock the channel, uiomove() X
bytes to the channel's buffer, lock the channel, and call
sndbuf_acquire() to extend the ready area by X bytes. The problem with
this approach, however, is the following.

Suppose an empty channel buffer with a length of 1024 bytes, and 2
threads, (A) and (B), where (B) is a higher-priority one. Suppose thread
(A) wants to write 1024 bytes. It unlocks the channel and uiomove()s
1024 bytes to the channel buffer. At the same time, thread (B) picks up
the lock, and because it is higher priority, it keeps dominating the
lock for a few iterations. By the time thread (A) picks up the lock
again, it tries to call sndbuf_acquire() with a size of 1024 bytes,
which was calculated before it performed the uiomove(). In this case,
there is a very high chance that the buffer will not be empty, that is,
have a free area of 1024 bytes, as was the case when thread (A) started
executing, and so the KASSERT will trigger a panic because the condition
(bytes <= free) is not met.

Another scenario that can trigger a panic is the following: suppose a
buffer with a size of 4 bytes, and two threads: (A) and (B). In the
first iteration, thread (A) wants to write 2 bytes, while the buffer is
empty, BUT the pointer (sndbuf_getfreeptr()) is at the end (i.e.,
buf[3]). In the first iteration of the loop, because of the way we
calculate t, we'll end up writing only 1 byte, so after sz -= t, sz will
be 1, and so we'll need one more iteration in the inner loop, to write
the remaining 1 byte. Now we're at the end of the first loop, thread (A)
unlocks the channel, it has written 1 byte, it needs to write 1 more,
and the buffer is left with 3 empty slots. Now thread (B) picks up the
lock, and it wants to write 3 (or more) bytes. Eventually it writes the
3 bytes, and it leaves the buffer with 0 free slots. By the time thread
(A) picks up the lock again, and continues with the second iteration of
the inner loop, it will try to write the last byte, but sndbuf_acquire()
will panic because there is no free space anymore.

To fix this, get rid of the inner loop and calculate the write size on
each iteration. Also, call sndbuf_acquire() before unlocking the
channel. In the scenarios explained above, we'll end up entering the
chn_sleep() case. Modify it as well, so that we do not kill the channel
if we need to sleep more.

Do the same for chn_read() to avoid possible similar panics from
sndbuf_dispose().

Reported by:    pho
Tested by:      christos, pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    pho, kib
Differential Revision:  https://reviews.freebsd.org/D53666
253b98f749cf93a9a682f46925c43cbbd04e1110 Christos Margiolis 2025-11-20 15:23:09

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

sound: Remove vchan_passthrough() and hw.snd.passthrough_verbose
Unused and confusing.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
3612ef642f511a1bd9f759da87abeafe7d6ff110 Christos Margiolis 2025-11-20 15:24:49

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

e1000: Bump 82574/82583 PBA to 32K
The reporter contacted me with packet loss and throughput fluctuations
on a low power machine (Intel J1900) that got worse with the recent AIM
algorithm in FreeBSD 14.2+.

32K RX PBA matches Linux default.  Add a conditional path since we don't
otherwise do a fixup for jumbo frames to retain space for two frames in
Tx.

With this change and an additional errata change, the throughput meets
line rate for the reporter.

Reported by:    Codin <codin@nagi.ftp.sh>
Tested by:      Codin <codin@nagi.ftp.sh>
MFC after:      2 weeks
aa30bab9a92e1be230b9708bff9f33aae7d384e5 Kevin Bowling 2025-11-21 05:02:00

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

e1000: Don't enable ASPM L1 without L0s
Reporter noted packet loss with 82583.  NVM is down level.  The
errata docs mention disabling this, which should be the firmware
default, so I am not sure why we were enabling this bit.  Linux and
OpenBSD have the same issue, while NetBSD got it right.

Reported by:    Codin <codin@nagi.ftp.sh>
Tested by:      Codin <codin@nagi.ftp.sh>
MFC after:      2 weeks
2ead091715dee327b3e00bc9840e1a95827b8e82 Kevin Bowling 2025-11-21 05:47:03

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

iwx: tag RX frames as A_MPDU RX; tag A-MSDU frames appropriately
* tag packets for 11n/11ac associated nodes with A_MPDU so they
  get passed into the reordering logic

* tag A-MSDU frames with AMSDU and AMSDU_MORE so they don't get
  dropped due to duplicate sequence numbers.

Note: I haven't yet elicited A-MSDU in A-MPDU to fully test this,
but I do see the net80211 reordering logic kick in (which you can
see via wlanstats -i wlan0 -o ampdu 1).

I've checked with Johannes Berg at Intel (who maintains the linux
iwlwifi stuff); he replied saying none of the firmware versions are
doing AMPDU reorder offloading.

Differential Revision:  https://reviews.freebsd.org/D53781

Locally tested:

 * AX210, STA mode, > 200mbit bidirectional traffic testing on
   5GHz VHT/40.
4d29178e715449c25b94f115946dc4e021f41cdb Adrian Chadd 2025-11-16 04:26:22

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

sound: Retire snd_mtx* wrappers
Do not create mutexes with snd_mtxcreate(). It doesn't provide any
value, plus it first allocates the mutex with malloc(9). Allocate
mutexes in the stack and use mtx_* functions directly instead of the
snd_mtx* wrappers.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D53855
9d18115ca0ab0ef3f34173d4e2bdabec916d0b60 Christos Margiolis 2025-11-21 16:14:33

debug: classified in 03-filenames_plain1 by '['sys/arm/', 'sys/dev/']'

cxgbe: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53092
Reviewed by: np (outside of differential)
Sponsored by: Netflix
d381a6b4a552305de48027c51919a7cf28d52d02 Andrew Gallatin 2025-11-22 14:29:32

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

ixgbe: Use newly exposed RSS hash API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53093
Reviewed by: kbowling
Sponsored by: Netflix
5a14756a13635c988efcfb01f9a116901dbd455a Andrew Gallatin 2025-11-22 14:29:32

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

ixl: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53094
Sponsored by: Netflix
dd615b57df62e2fa858569d66164dcd1ef840c94 Andrew Gallatin 2025-11-22 14:29:32

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

iavf: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53095
Sponsored by: Netflix
d2790dc77ef667d3477017b37db85378ce0bca8c Andrew Gallatin 2025-11-22 14:29:33

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

ice: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53096
Sponsored by: Netflix
012ecdde3a810c52cc2f68a22afa1a1b7d699bff Andrew Gallatin 2025-11-22 14:29:33

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

e1000: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53097
Reviewed by: kbowling
Sponsored by: Netflix
e07b4a2e9bc4f6b2e129f3a101dfce2027694bd3 Andrew Gallatin 2025-11-22 14:29:33

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

vmxnet3: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53098
Reviewed by: tuexen
Sponsored by: Netflix
e10e0c63f0e40043c589e00cdeef6c5574c72858 Andrew Gallatin 2025-11-22 14:29:34

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

hn: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53099
Sponsored by: Netflix
2ae6227ddfb85965d9d2a3719583d8fddad02ba1 Andrew Gallatin 2025-11-22 14:29:34

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

ena: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53100
Reviewed by: akiyano_amazon.com
96cde0b9e6068cd4c3aaebd86764b34afec1b624 Andrew Gallatin 2025-11-22 14:29:34

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

lio: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53101
Reviewed by: zlei
Sponsored by: Netflix
5a94c2e89f6a4fbdea49d6c3a51b5fe0154d2495 Andrew Gallatin 2025-11-22 14:29:34

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

sfxge: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53102
Reviewed by: arybchik, zlei
Sponsored by: Netflix
99b3c9adbc4152ceae234d21b6d0d19e2d0ea7d9 Andrew Gallatin 2025-11-22 14:29:35

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

igc: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53103
Reviewed by: markj
Sponsored by: Netflix
cfad68c5c6b9c1a203b3c3777e252048df92281d Andrew Gallatin 2025-11-22 14:29:35

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

arm: Add missing argument in mtx_init() calls
Fixes:                https://cgit.freebsd.org/src/commit/?id=9d18115ca0ab ("sound: Retire snd_mtx* wrappers")
Reported by:    CI
Sponsored by:   The FreeBSD Foundation
MFC after:      4 days
120f8a4c2ae8a011827d83b098ecf70c791f794b Christos Margiolis 2025-11-24 12:19:25

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

sound: Fix revents in midi_poll()
Sponsored by: The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    christos
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1887
8f8b8e4af91d4e158caf6ba4b728482311bfc7c3 Nicolas Provost 2025-11-24 13:35:08

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

mlx5: use newly exposed RSS hash key API rather than ad-hoc hashing
Differential Revision:        https://reviews.freebsd.org/D53091
Reviewed by: kib
Sponsored by: Netflix
8f94088bc5d3ee586b36f8f7b269223b420ac957 Andrew Gallatin 2025-11-24 15:36:09

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

nvme: Fix some comments
Tweak a couple of comments and fix a spelling error.

Sponsored by:           Netflix
8a766c9e81c3d9638fd0a1c3c2aa51cee2379539 Warner Losh 2025-11-19 00:00:12

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

cxgbe: Fix the RSS build
When "options RSS" is configured, opt_rss.h defines the "RSS" token.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291068
Fixes:  https://cgit.freebsd.org/src/commit/?id=17b4a0acfaf5 ("cxgbe(4): T7 related updates to shared code")
d78231ed04d333f64a73c891a45a94981baad251 Mark Johnston 2025-11-24 18:39:54

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

irdma(4): fix potential memory leak on qhash cqp operation
It was found that in some circumstances when launching
non-waiting create qhash cqp operation the refcount on
the cqp_request may be not properly decremented leading to a memory
leak.

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

Reviewed by:    anzhu_netapp.com
Tested by:      mateusz.moga_intel.com
Approved by:    kbowling (mentor)
MFC after:      1 week
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D53732
7b6644e160ed63b633e7c68a3cacf2c71d216cd5 Bartosz Sobczak 2025-11-24 18:41:41

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

cxgbe(4): Fix compile warning for !RSS kernels
.../sys/dev/cxgbe/t4_main.c:7197:1: warning: unused function 'hashen_to_hashconfig' [-Wunused-function]
 7197 | hashen_to_hashconfig(int hashen)
      | ^~~~~~~~~~~~~~~~~~~~
1 warning generated.

Reported by:    bz
Fixes:  https://cgit.freebsd.org/src/commit/?id=d381a6b4a552 cxgbe: use newly exposed RSS hash key API rather than ad-hoc hashing
a303b1455fb5f76b193e10b0a96fabe4e93e9f40 Navdeep Parhar 2025-11-24 21:00:47

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

nvme(4): Increase HMB alignment.
The NVME controller in Crucial P310 disk does not accept 16-byte aligned
host memory buffer on Codasip Prime platform, but works fine on PAGE_SIZE
aligned memory.

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

Reviewed by:    jhb
Discussed with: imp
Sponsored by:   CHERI Research Centre
Differential Revision:  https://reviews.freebsd.org/D53296
b87f6330013f2d04ef83c453f95db5cd3247e6e1 Ruslan Bukin 2025-11-25 08:38:37

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

em(4): fix capability bounds needed to access checksum context.
Ensure the offp capability bounds cover entire struct with checksum fields.

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

Tested on ARM Morello.

Reviewed by:    kbowling
Discussed with: jrtc27
Sponsored by:   CHERI Research Centre
Differential Revision:  https://reviews.freebsd.org/D53903
64ee9c166ce5e807e575d205ac2e15cc5cf6581b Ruslan Bukin 2025-11-25 09:16:39

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

NOTES: Remove duplicate options KCSAN entries
Signed-off-by: ykla yklaxds@gmail.com
Sponsored by: Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1900
a4e3e724df8ad4f5a2d74b03636af55ca401b96e ykla 2025-11-25 10:00:16

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

fib_algo: add FIB_ALGO to GENERIC kernel config on riscv
FIB_ALGO modular FIB lookups have been enabled by default on
amd64 and arm64 since 2021, so enable it on riscv as well.

Reviewed by:    melifaro
MFC after:      1 month
b1b0fb3dcf00dd999fa2635ab0124d01e74ae551 Marko Zec 2025-11-25 18:18:37

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

cxgbe(4): Enable IFCAP_NV and implement SIOCGIFCAPNV/SIOCSIFCAPNV
MFC after:    1 week
Sponsored by:   Chelsio Communications
98f6f6e4f4bb7b19e12de89fc8cc034915f7a759 Navdeep Parhar 2025-11-25 19:04:30

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

nvme: Use 'unsigned int' in preference to bare unsigned
It's our preferred style. No functional change.

Noticed by: avg
Sponsored by: Netflix
718acd74657fdf21cfd03c721bb7484d3789aaa0 Warner Losh 2025-11-26 05:14:20

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

xae(4), axidma(4): rewrite DMA operation.
Due to performance constraints on a synthesized CHERI RISC-V core,
remove usage of xdma(4) scatter-gather framework.  Instead, provide
a minimalistic interface between two drivers.

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

Sponsored by:   CHERI Research Centre
Differential Revision:  https://reviews.freebsd.org/D53932
974ecf68903d3887324f534a3bca21f1ae501819 Ruslan Bukin 2025-11-26 16:26:31

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

sound examples: Fix buffer mapping/allocation
The buffer in struct config should be allocated or mmap'ed. The code
without this patch allocates the buffer unconditionally, even for mmap
configs.

MFC after:      1 week
Reviewed by:    christos
Differential Revision:  https://reviews.freebsd.org/D53939
ebf1d98d60725feccd726ef8e4fa518661f9eae0 Goran Mekić 2025-11-26 19:33:05

debug: classified in 05-summary-prefix by 'sound examples:'

vt: Allow VT_SETMODE with frsig=0
Linux does not check that any of the signals in vt_mode VT_SETMODE ioctl
(relsig, acqsig, frsig) are valid, but FreeBSD required that all three
are valid.  frsig is unusued in both Linux and FreeBSD, and software
typically leaves it unset.  To improve portability, allow frsig to be
set to zero.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289812
Reported by:    Dušan Gvozdenović
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52835
5198c32210039d8dc92554647384eee75688848c Ed Maste 2025-09-30 19:39:34

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

sys: RealTek -> Realtek
Realtek changed how it styled its name 25 or so years ago, but the old
style persisted in many places. These products use the new styling in
their datasheets.

Signed-off-by: ykla yklaxds@gmail.com
Sponsored by: Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1901
8cbe0dd5097fbcbfbfbba50b016ec48352892ca7 ykla 2025-11-26 09:02:25

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

riscv: include Xilinx PCIe controller driver.
This is used on Codasip Prime.

Sponsonred by: CHERI Research Centre
06a4a092e6846f64cacdff9a8c5efa294ce35a88 Ruslan Bukin 2025-11-27 08:56:34

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

bus: Add device_has_children predicate
Add a device_has_children() function which can be used to check if a
device has children without allocating a list of them which we aren't
going to use, or even counting them.

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

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    imp, markj
Differential Revision:  https://reviews.freebsd.org/D53918
330d4437f2100fc05e576763f4f6a7198080663a Dag-Erling Smørgrav 2025-11-28 09:14:31

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

sound: Retire snd_mixer->busy
Does not really serve any real purpose. It gets set on mixer_open() and
unset on mixer_close(), so it essentially tells us whether the mixer is
open or not.

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

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53859
e5d50a679aa1a72a7cbcb0281b9420aad4a7dc7a Christos Margiolis 2025-11-28 14:35:56

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

acpi: Fix setting sleep state sysctls to NONE
This restores the functionality as it was pre-97d152698f48.

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

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

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

Commit group #23: sys
sys: remove comment for armv5/6

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

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


sys: remove armv6/6.1 support from debug monitor

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

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


sys: update comment for removal of armv6

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

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


arm: Remove unused variable in dbg_arch_supported

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

Fixes: https://cgit.freebsd.org/src/commit/?id=f42421307b11
Sponsored by: Netflix
02b72b1540bf4e8daaeda4b4ef1670b766768db7 Warner Losh 2025-11-29 09:47:49

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

sys: Import snapshot of Aquantia ACQ107 vendor driver
Obtained from https://github.com/Aquantia/aqtion-freebsd commit
c61d27b1d94af72c642deefa0595884481ea7377.

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

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

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

Reviewed by:    adrian
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53813
493d26c58e732dcfcdd87993ef71880adfe9d0cb Ed Maste 2025-11-13 18:48:54

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

aq(4): Remove #include of user header <unistd.h>
pause() has 2 different definition in unistd.h and sys/systm.h
14eb7ec7b7135ad1a3448590cbe70b1368b40ec7 Rozhuk Ivan 2022-10-26 12:37:57

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

aq(4): Port to IfAPI
Direct access to struct ifnet members is not possible in FreeBSD 15;
accessors must be used.  These exist in all supported FreeBSD versions,
so we do not need to make this conditional.
4756f5ff8f10cdda925cab60c0b66606698e49ee Olivier Cochard 2025-11-13 03:17:03

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

aq(4): Remove unused DRIVER_MODULE devclass
2b587c0c8a933cd110ae579366644a280c509b7f John Baldwin 2025-11-13 03:23:27

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

aq(4): Remove unimplemented functions
aq_if_priv_ioctl and aq_if_debug have prototypes but are not yet
implemented.  Just remove the commented-out DEVMETHODs and the unused
prototypes, to clear a build-time warning; the DEVMETHODs and prototypes
can be readded if / when they are implemented.
0156be41a1eb8e0408819466b912181aa7966df9 Ed Maste 2025-11-12 23:45:37

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

aq(4): Fix VLAN tag test
Previously emitted a compiler warning "warning: bitwise comparison
always evaluates to false."

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

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

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

ufshci: add helper to convert SCSI LUN to UPIU LUN formats
Reviewed by:          imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D53919
3e3d7e590566c7e1a55bfb0f084c9f64c6c46898 Jaeyoon Choi 2025-12-01 04:38:24

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

ufshci: Enable WLUN scan
QEMU ufs device does not implement WLUN, so QUIRK is added.

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D53921
5e0d065b5b90d4f4264d8248f39f199f1a2576dc Jaeyoon Choi 2025-12-01 04:39:14

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

cam/scsi: Add power condition support to START STOP UNIT
This patch adds a power_condition parameter to the
scsi_start_stop() function and sets the power condition via SSU.

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronic
Differential Revision:  https://reviews.freebsd.org/D53922
8c35de4982d855950a900483513f341643f6158f Jaeyoon Choi 2025-12-01 04:39:35

debug: classified in 05-summary-prefix by 'cam/scsi:'

ufshci: Add a check for WLUN during driver initialization
This patch checks whether wlun is registered as a periph device.
It also implements a function to issue an SSU.

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D53923
31407551c3d4d29905f77abddac3fd9b649e166b Jaeyoon Choi 2025-12-01 04:39:49

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

evdev: Allow setting of character device ownership and access mode
by device driver. That is required as game pad and joystick events have
to be accessible by ordinary users.

MFC after:      1 month
ecccc9d99901dd874e8d122853026d7c28fa4fcf Vladimir Kondratyev 2025-12-01 20:42:14

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

hid: Make game controllers accessible to members of the game group
Their events have to be accessible by unprivileged users via e.g. libsdl.

MFC after:      1 month
b6cad334e649f49c57da52b139de353ad9078985 Vladimir Kondratyev 2025-12-01 20:42:15

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

psm: Fix three finger tap on elantech v4 touchpads
Fix an issue where a three finger tap would generate additional events
when fingers moved slightly during the tap.

Signed-off-by:  Robert Wahlberg <freebsd@robertwahlberg.se>
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1792
Reviewed by:    wulf
MFC after:      1 month
e3201cec8381c0582374f93991eff4a71bb95e9b Robert Wahlberg 2025-12-01 20:42:15

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

evdev: Sync event codes with Linux kernel 6.18
MFC after:    1 month
8d9a5d44b155af7123893a6948ad7e86b48c57b3 Vladimir Kondratyev 2025-12-01 20:42:15

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

Fintek F81232 USB to serial driver
Driver for Feature Integration Technology Inc. (aka Fintek)
F81232 USB to serial driver.

Reviewed by:    thj,adrian,UB
Approved by:    adrian
Differential Revision:  https://reviews.freebsd.org/D53893
791c531402bd36252532a11c317fb6a5fdb9c000 Diane Bruce 2025-12-02 01:12:21

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

powerpc/_stdint.h: fix SIG_ATOMIC_{MIN,MAX,WIDTH}
On powerpc/powerpc64, sig_atomic_t is an int, but was treated as if
it was a long by <machine/_stdint.h>.  This was finally caught by the
unit test added with 4a1c752 / D53831.

Reported by:    kib
Reviewed by:    kib, imp
Approved by:    markj (mentor)
Fixes:          https://cgit.freebsd.org/src/commit/?id=c3e289e1ce8c9af8d14e9f727632e22b3bf901f9
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54026
f417c9ed6642836c386c922d6e184b618d28127d Robert Clausecker 2025-12-02 00:59:05

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

nvme: Use memcpy instead of memmove in nvme_cdata_get_disk_ident
These buffers should not overlap.

Reviewed by:    imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D53842
44d6df4f65b1441cf9cd9f12cd41edd52205d084 John Baldwin 2025-12-02 15:57:08

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

Commit group #24: ufshci
ufshci: Support suspend/resume

Handle system power events and issue START STOP UNIT (SSU) to the
UFS Device WLUN (0x50).

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D54002
3a99f31fdb6c66434f77d83ca5166aae4ad2d22c Jaeyoon Choi 2025-12-03 04:05:36

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


ufshci: Support UIC hibernation enter/exit

Add helpers to issue DME_HIBERNATE_ENTER/DME_HIBERNATE_EXIT and
call them during suspend/resume.

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D54003
bec77e3a160dba10cbc30416f53a506ca2b9301f Jaeyoon Choi 2025-12-03 04:05:51

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


ufshci: Support UIC Auto Hibernation

Automatically transition the UniPro link to Hibernate when it is idle
for the duration configured by the Auto-Hibernate Idle Timer (AHIT).
This reduces link power while the device is inactive.

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D54004
db8b06468baefb9d9b5db5f91084d85071bfb5cb Jaeyoon Choi 2025-12-03 04:06:01

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


ufshci: Add a Auto Hibernate quirk to Intel Alder Lake-N

Alder Lake-N supports Auto Hibernate, but it does not work.

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D54006
0e60cb8c6a4e9cf943b7360cbd9e9a390f545a10 Jaeyoon Choi 2025-12-03 04:06:09

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

armv7: Tweak some armv6 removals
Fixes: https://cgit.freebsd.org/src/commit/?id=42421307b115 (sys: remove armv6/6.1 support from debug monitor)
Suggested by:   jhb
Sponsored by:   Netflix
b033e3684fd14c798405420449eb55e1d4f9df1e Warner Losh 2025-12-03 05:29:42

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

ofw: Add ofw_bus_is_machine_compat().
We need a quick way to identify a given machine (SoC), mainly when
implementing quirks for a given SoC.

MFC after:      2 weeks
Reviwed by:     imp
Differential Revision:  https://reviews.freebsd.org/D53992
d14a985898eebd3bda8bb30c4078bde3ebd135f2 Michal Meloun 2025-11-06 18:50:52

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

ARM GICv3: Add support for non-coherent and/or bus address range limited DMA.
Due to an implementation bug, the GICv3 and ITS master ports may be connected
to a non-coherent bus. The new DT resolves this issue by marking these ports
with the "dma-nocoherent" attribute. The older DT does not have this attribute,
so we must match the affected SoC.
Additionally, the RK356x family has GIC master ports on a 32-bit bus.
Therefore, we must limit the address range for all tables and command buffers
allocated for it. In this case, the DT does not have an attribute for this
case, so the quirk should only be applied by SoC matching.

MFC after:      4 weeks
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D47488
62e1227219f2f79a2ed7a672149dc3d774d25dd4 Michal Meloun 2025-11-06 18:56:10

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

ofw: Fix 64-bit arithmetic in cpufreq_dt.c.
MFC after: 3 weeks
ef8a0ef2aa97650f37052719496bfbe4ab97a019 Michal Meloun 2025-12-02 12:02:39

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

riscv/pmap: Handle superpages in pmap_extract_and_hold()
Without this change, vm_fault_quick_hold_pages() falls back to the slow
fault handler when it encounters a superpage mapping.

Reviewed by:    alc, kib
Reported and tested by: br
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54022
20a0a2f8f36f5db704b674106fa61d8d95b6b071 Mark Johnston 2025-12-03 13:41:30

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

ichsmb: shutdown interrupts to prevent spurious interrupts after kexec
Obtained from:        Hewlett Packard Enterprise
Rebiewed by:    jhb, jhibbits
1ba6fd3de531a3e731d33e9ad376ce3fa602e866 John-Mark Gurney 2025-12-03 21:19:10

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

nvme: Fix devd logging of SMART_ERROR
Remove extra arg so that we have type=SMART_ERROR rather than an invalid
message. Also log all aens.

Sponsored by:           Netflix
a8b0208e7e989c0876f73e1953f66542678b9004 Warner Losh 2025-12-04 04:05:06

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

Commit group #25: pmc
pmc: add alderlake model

The commit 601925180df4 added the models 6-B7, 6-BA, 6-BF to libpmc, but
they must also be added to the hwpmc module to allow pmc to work on
those CPUs.

Reviewed by:    mhorne
MFC after:      1 week
Fixes:          https://cgit.freebsd.org/src/commit/?id=601925180df4 ("libpmc: add more alderlake models")
Sponsored by:   Stormshield
Differential Revision:  https://reviews.freebsd.org/D49255
057dae35ffc6b17dacc84fa21921e93a17ce12b0 Anaëlle CAZUC 2025-12-04 17:32:39

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


pmc: add emerald rapids model

This commit adds emerald rapids CPU model to hwpmc/libpmc. JSON event
definitions are imported from Intel perfmon version 1.06.

Reviewed by:    mhorne
MFC after:      1 week
Sponsored by:   Stormshield
Differential Revision:  https://reviews.freebsd.org/D49228
51a01f3debff8abf63c7cc21db9523c8feb53823 Anaëlle CAZUC 2025-12-04 17:36:32

debug: classified in 03-filenames_plain1 by '['lib/libpmc/', 'sys/dev/', 'sys/sys/pmc.h']'


pmc: add alderlaken model

This commit adds alderlaken CPU model to hwpmc/libpmc. JSON event
definitions are imported from Intel perfmon version 1.16.

Reviewed by:    mhorne
MFC after:      1 week
Sponsored by:   Stormshield
Differential Revision:  https://reviews.freebsd.org/D49229
ca3e47b0ea68664c7e10e1c3e28c5ac7d9932c21 Anaëlle CAZUC 2025-12-04 17:52:23

debug: classified in 03-filenames_plain1 by '['lib/libpmc/', 'sys/dev/', 'sys/sys/pmc.h']'

Commit group #26: xhci
xhci: Add some Alder lake device ids

Reviewed By:    aokblast
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52994
f327659e045019ac36f32c952c9df723927c3da9 Tom Jones 2025-12-05 10:04:58

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


xhci: Correct name of HCCPARAMS Register

On inital import the name of HCCPARAMS1 was misnamed as HCSPARAMS0.
HCCPARAMS1 is defined in section 5.3.6 of xHCI Specification 1.2b (April
2023).

Reviewed by:    adrian
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53895
234351604252cec485992cb7f5e76aa98c0a4380 Tom Jones 2025-12-05 10:07:46

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


xhci: Add header values for Debug Capability (DbC)

Add header values for xHCI debug capability. These values are defined in
section 7.6 of xHCI Specification 1.2b (April 2023).

Reviewed by: imp
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53897
a0dd6022391aa33b035962d69965ef506cc46a20 Tom Jones 2025-12-05 10:09:30

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

ice(4): Add support for 40G maximal PMD speed
E823 backplane devices may support 40G as maximal PMD speed.
Extend port topology reading logic to handle this case.
While at that fix indentation according to FreeBSD style(9).

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>

Tested by:      gowtham.kumar.ks_intel.com
Approved by:    kbowling (mentor), erj (mentor)
Sponsored by:   Intel Corporation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53587
c6212b7da110d82b1d0086ec525deb216993021e Krzysztof Galazka 2025-12-05 22:02:45

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

nvme: Improve error message for invalid format value
Improve the wording of the invalid namespace value. Reword the comment
and move a line of code to the block it logically belongs to.

No functional changes intended.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D51393
f5b812331db52783292e89192a04195031132c23 Warner Losh 2025-12-05 23:17:40

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

nvme: Rename NVME_NS_ADDED to NVME_NS_ALIVE and _CHANGED to _DELTA
NVME_NS_ADDED will conflict with a later change, so change it here.
Likewise NVME_NS_CHANGED.

Sponsored by:           Netflix
10efa7c3020909391255819bb38bd87478aa2b19 Warner Losh 2025-12-05 23:17:53

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

iwmfw(4): fix spelling of the iwm8000C firmware.
When migrating the firmware to be installed as plain firmware files
to /boot/firmware the iwm8000C firmware lost its "fw" suffix that
iwm(4) expects.
The follow-up change to defaults/loader.conf is also consistently
missing the "fw".

Fix both places, and add the wrongly spelt version to ObsoleteFiles.inc
(entirely untested).

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291403
Reported by:    Augustin Hoffmann (avgwst tutanota.de)
Fixes:          https://cgit.freebsd.org/src/commit/?id=af0a81b6470aba4af4a24ae9804053722846ded4
Fixes:          https://cgit.freebsd.org/src/commit/?id=a0f06dfb0d188966bee7265ec7d9f20093186bb6
MFC after:      3 days
f0ea859229843affe07ac94db915489756f87096 Bjoern A. Zeeb 2025-12-08 03:03:14

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

sound examples: Check if setting property was successful
MFC after:    1 week
Reviewed by:    christos
Differential Revision:  https://reviews.freebsd.org/D54038
ebe7b241662be3941e462be9f228fcad1b67073a Goran Mekić 2025-12-08 17:20:34

debug: classified in 05-summary-prefix by 'sound examples:'

cxgbe: Stop using bus_space_tag/handle directly
Reviewed by:  np, imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D53030
bc2b10a5931442bb39653cd8d5712b2d7195cf46 John Baldwin 2025-12-09 15:46:55

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

acpi_bus_alloc_gas: Pass rid by value
Reviewed by:  imp
Differential Revision:  https://reviews.freebsd.org/D53405
2a23faee4f12cebf57fd1716bf846a53cc737c3b John Baldwin 2025-12-09 20:02:43

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

acpi_PkgGas: Pass rid by value
Reviewed by:  imp
Differential Revision:  https://reviews.freebsd.org/D53406
10568445de92d59379e1c59fcdc7566065332453 John Baldwin 2025-12-09 20:02:51

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

gpio_alloc_intr_resource: Pass rid by value
Reviewed by:  imp
Differential Revision:  https://reviews.freebsd.org/D53407
01dcb4e6645f1a551e52763d58ba4375efbc5428 John Baldwin 2025-12-09 20:03:03

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

dpaa2_rc_add_res: Pass rid by value
Reviewed by:  imp
Differential Revision:  https://reviews.freebsd.org/D53408
d08fac086f7cc6d300e037ba3f959365315c2967 John Baldwin 2025-12-09 20:03:15

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

bhnd_bus_alloc_resource*: Pass rid by value
Reviewed by:  imp
Differential Revision:  https://reviews.freebsd.org/D53409
1033312267d66496c661feefe6c14a86d7e4b95e John Baldwin 2025-12-09 20:03:25

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

bhnd_bus_*_resource: Remove redundant type and rid arguments
Remove type and rid arguments from
bhnd_bus_(activate|deactivate|release)_resource.  This should have
been done earlier to match the changes made to bus_release_resource,
etc.

While fixing up the callers, remove rid members from softc structures
since the only time a value is needed is as a constant input to
bhnd_bus_alloc_resource*.

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D53410
ca942ab4b2b665e5375cc72afc4930d3b33b14f9 John Baldwin 2025-12-09 20:03:42

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

mpr: Partially revert 332096ebb638
These were a doodle that escaped into my staging tree. Remove them.

Sponsored by:           Netflix
84d198e137a59a17c08896333eaa9b318f4b1e1f Warner Losh 2025-12-10 21:06:50

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

nvme: Nvme controller generated events
Interface for the nvme driver notifying its children of different
events: async notifications, namespace events and device failure. These
aren't yet connected.

Sponsored by:           Netflix
Reviewed by:    dab
Differential Revision:  https://reviews.freebsd.org/D51386
e5c770dc7ff3fa71189addcafd30c333ff496de1 Warner Losh 2025-12-10 22:52:10

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

nvme: Add child device for each controller
Step 1 in the move from registering consumers for NVMe drives to newbus
nvme drives:

Add a child device and attach them for each controller that we
initialize. Detach them when we detach the main device.

Sponsored by:           Netflix
Reviewed by:            dab
Differential Revision:  https://reviews.freebsd.org/D51383
743fbb549b17c1288306cd3fffdf139137268f61 Warner Losh 2025-12-10 22:52:17

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

nvme_sim: Attach as a child of nvme
Rather than registering as a consumer of the nvme controller, hook into
the child device and use that.

This is a small regression at the moment: we don't fail the device when
that happens at runtime, and we don't handle new namespaces when they
arrive (though that feature is currently fragile).

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D51384
1e39b5d4833e3be0261ff9cc2d360aa36698c3dc Warner Losh 2025-12-10 22:52:23

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

nvd: Attach as a child of nvme
Rather than registering as a consumer of the nvme controller, hook into
the child device and use that.

This is a small regression at the moment: we don't fail    the device when
that happens at runtime.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D51385
b32470bc6621b622cac266600a670e1847bfb037 Warner Losh 2025-12-10 22:52:28

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

nvme_sim: Connect to events broadcast with nvme_if
Connect up the nvme_ns_* events. Copy code from old ways, as needed, and
refactor a little.

Sponsored by:           Netflix
Reviewed by:            dab
Differential Revision:  https://reviews.freebsd.org/D51387
a21f12840f5f25d777920957ed8ba7362052eaa7 Warner Losh 2025-12-10 22:52:33

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

nvd: Connect nvme_if methods
Conenct methods to manage namespaces explicitly to replace the old
consumer interface.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D51388
aed44717a1606e4c5c79f7c8831de49cba64d7e6 Warner Losh 2025-12-10 22:52:38

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

Commit group #27: nvme
nvme: Use new method to do async notifications

Nothing uses these at the moment, but it would be useful to use in the
future so convert this functionality to an newbus function dispatch.

Sponsored by:           Netflix
Reviewed by:            dab
Differential Revision:  https://reviews.freebsd.org/D51390
9b170dc457a46d3ec3b329116fcd6851fe9b63a0 Warner Losh 2025-12-10 22:52:45

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


nvme: Notify failure with newbus call

Sponsored by:           Netflix
Reviewed by:            dab
Differential Revision:  https://reviews.freebsd.org/D51391
b6b52a9b8011d9893899ecad87948ef346858960 Warner Losh 2025-12-10 22:52:53

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


nvme: remove now-redundant consumer interface

Now that we've moved to newbus methods, we can delete this...

Sponsored by:           Netflix
Reviewed by:            dab
Differential Revision:  https://reviews.freebsd.org/D54095
848602856f49c3937b8c6d168fd988263954b43a Warner Losh 2025-12-10 22:52:59

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

aq(4): Use sys, not userland, headers
And remove some unused definitions.

Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54152
d2850435f18c81479f79bd23ea8d4b997dbc0521 Ed Maste 2025-11-13 19:05:08

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

pci_vendors: update to version 2025-12-12
3b8e13c4696e9b3dab284842902b9f7b18073c8d Baptiste Daroussin 2025-12-12 14:24:32

debug: classified in 03-filenames_plain1 by 'share/misc/pci_vendors'

xae(4): remove unused function.
Sponsored by: CHERI Research Centre
c52253232a78dc2553d6ea7c9ab3e92301b36c01 Ruslan Bukin 2025-12-12 15:47:22

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

netmap: Let memory allocator parameters be settable via loader.conf
This is useful when dev.netmap.port_numa_affinity is set to 1.  When
interfaces attach, they get a memory allocator that is copied from
nm_mem.  Parameters in nm_mem can be set using sysctls, but this happens
after their values are copied.

To work around this, we can make it possible to set these memory
parameters as tunables.

Reviewed by:    vmaffione
MFC after:      1 week
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D54178
c694122f3cfb7d52b882fa79086d49f45a2c7fd2 Mark Johnston 2025-12-14 15:47:48

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

if_rge: initial import of if_rge driver from OpenBSD.
This is an initial import of the if_rge driver from OpenBSD
and adapted to FreeBSD.

Differential Revision:  https://reviews.freebsd.org/D54101
4bf8ce037dc8fa699be87350bb6467f1b74cb96d Adrian Chadd 2025-12-06 05:26:30

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

aw_rtc: bump settime() delays
There are delay loops, checking the BUSY status bit, before writing to
the date or time registers. Each iteration contains a 1usec delay, for a
maximum of 70 iterations.

This is frequently not enough on the D1 platform, where the message is
emitted:

  rtc0: could not set date, RTC busy

Bump the loop delay to 10usecs each, and the maximum number of
iterations to 150, for a maximum delay of 1.5msecs between each write of
the register.

In my testing this seems to be adequate.

The loop variable is renamed for clarity/simplicity.

Reviewed by:    manu
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54180
cae9ae66ad1b01e84597d03c436bc0579bd07fd4 Mitchell Horne 2025-12-15 15:29:21

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

amd64/vmm.c: Fix an incorrect memory segment check in vm_iommu_{un}map
This change fixes two checks that conflated memory mapping and memory
segment idenitifers. In both cases the code iterates over all memory
mappings but passes the index to `vm_memseg_sysmem`, which is wrong.

Fix this by passing the memory mapping's segment identifier instead.

Differential Revision:  https://reviews.freebsd.org/D54210
Reviewed by:    markj
Fixes:  https://cgit.freebsd.org/src/commit/?id=c76c2a19ae37
PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290920
f1809eab82a796845f126b703c01d4a31ccf2193 Bojan Novković 2025-12-13 14:53:45

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

Networking

Network-related commands, library, and kernel.

tcp: cleanup syncache_expand()
Only validate SEG.SEQ and SEG.ACK when processing a real SYN-cache
entry. In the SYN-cookie case, these conditions are always true, since
the SYN-cache entry on the stack is constructed from the incoming
TCP segment.
While there, fix the logging messages.

Reviewed by:            Nick Banks
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52816
3034fa3d4321fdc487428c9050711de9ce234567 Michael Tuexen 2025-10-01 19:14:23

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

iflib: Implement tx desc reclaim threshold
On some iflib drivers, the txd reclaim routine can be fairly expensive
at high packet rates.  Iflib was designed with the intent of only
reclaiming tx descriptors above a configurable threshold, but this
logic was left unimplemented.

This change:

   - implements 2 new knobs, iflib.tx_reclaim_thresh and
      iflib.tx_reclaim_ticks.
   - moves tx reclaim thresh from the if_shared_ctx and into the
      iflib_ctx as drivers don't need to see it, and it needs to be
      changed, so it can't be const
   - tx_reclaim_thresh and ticks are replicated into the txq to
      improve cache locality of data accessed in the hot path
    - ticks is used rather than more expensive timekeeping mechanism so
       as to keep things simple and cheap

This change substantially improves packet rates on bnxt. It has been
tested on bxnt and ixl

Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D52561
Reviewed by: markj (initial version)
213170eb956fa7eec93c2ab4159d6ed68e8e1b1d Andrew Gallatin 2025-10-01 22:43:05

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

tcp: keep SYN-cache entry when sending of challenge ACK fails
Don't drop a SYN-cache entry just because a challenge ACK couldn't
be sent. This might only be a temporary failure.

Reviewed by:            Nick Banks, glebius, jtl
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52840
7841b44f8491d69c75207d0f3a1eb34501d99edd Michael Tuexen 2025-10-02 06:57:14

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

pf: mark pf_match_translation() static
It's only used in this file.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
244a5188e7681bf8d98a49c78439df61e6816c93 Kristof Provost 2025-10-01 15:51:33

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

sys/netinet6: fix memory corruption in in6_ifadd
The routine allocates the wrong size and then passes it to in6_get_ifid.

At the same time it violates invariants by issuing malloc with M_WAITOK
while within net epoch section.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
f9fc93690aef7a56f62a051de6231fe2af699728 Mateusz Guzik 2025-09-29 15:01:53

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

tcp: improve segment validation in SYN-RECEIVED
The validation of SEG.SEQ (first step in SEGMENT ARRIVES of RFC 9293)
should be done before the validation of SEG.ACK (fifth step in
SEGMENT ARRIVES in RFC 9293).
Furthermore, when the SEG.SEQ validation fails, a challenge ACK
should be sent instead of sending a RST-segment and moving the
endpoint to CLOSED.

Reported by:            Tilnel on freebsd-net
Reviewed by:            Nick Banks
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52849
b7118461f9099876cb2c2923948f8fb647defd57 Michael Tuexen 2025-10-02 14:51:09

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

pf: fix possibe SCTP panic
While processing SCTP packets we can enqueue work for later, in the
sctp_multihome_jobs queue. This deferred job includes a copy of the current
struct pf_pdesc, which must contain a valid pcksum pointer (in case of NAT).

However, jobs could be enqueued before we'd actually set this pointer in
pf_setup_pdesc(). Set this pointer before we scan the SCTP chunk headers (and
could enqueue deferred jobs.)

While here sprinkle in a few more assertions to ensure we got this right.

Reported-by: syzbot+974d0fb7e53c9aa31b90@syzkaller.appspotmail.com
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
dd2fc08d85431e10ad60e01e97b98e9dc23322bd Kristof Provost 2025-10-02 14:48:22

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

pf: return PF_PASS/PF_DROP from pf_setup_pdesc()
We returned 'PF_DROP' instead of '-1' in one case, which would lead to us
continuing the processing for an invalid packet.
This also aligns us closer to OpenBSD, and reduces the odds of future similar
mixups.

MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
5d210f396e3f00698caa45077330dea8ffe979b5 Kristof Provost 2025-10-02 14:55:07

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

tcp: close two minor races with debug messages
The syncache entry is locked by the hash bucket lock. After running
SCH_UNLOCK(), we have no guarantee that the syncache entry still
exists.

Resolve the race by moving SCH_UNLOCK() after the log() call which
reads variables from the syncache entry.

Reviewed by:    rrs, tuexen, Nick Banks
Sponsored by:   Netflix
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52868
ad38f6a0b466bf05a0d40ce1daa8c7bce0936271 Jonathan T. Looney 2025-10-02 17:26:03

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

pf: fix 'natpass'
If an rdr (or nat) rule specifies 'pass' we don't run the filter rules, we just
pass the traffic. Or at least, we did until that got unintentionally broken.
Restore that behaviour and add a test case.

While here also fix nat:dummynet_mask, which relied on the broken behaviour.

MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D52838
b93394a38bc41f8afceaf0c03ed5d8b8b5a9aefb Kristof Provost 2025-09-30 17:40:08

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

carp6: revise the generation of ND6 NA
* use ND_NA_FLAG_ROUTER flag in carp_send_na() when we work as router.
* use in6addr_any as destination address for nd6_na_output(), then it
  will use ipv6-all-nodes multicast address.
* add in6_selectsrc_nbr() function that accepts additional argument
  ip6_moptions. Use this function from ND6 code to avoid cases when
  nd6_na_output/nd6_ns_output can not find source address for
  multicast destinations.
* add some comments from RFC2461 for better understanding.
* use tlladdr argument as flags and use ND6_NA_OPT_LLA when we need
  to add target link-layer address option, and ND6_NA_CARP_MASTER when
  we know that target address is CARP master. Then we can prepare
  correct CARP's mac address if target address is CARP master.
* move blocks of code where multicast options is initialized and
  use it when destination address is multicast.

Reviewed by:    kp
Obtained from:  Yandex LLC
MFC after:      2 weeks
Sponsored by:   Yandex LLC
Differential Revision: https://reviews.freebsd.org/D52825
716acd9367df49d44f29eeb783706025f3a04c65 Andrey V. Elsukov 2025-10-03 07:57:44

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

sys/netinet6: Use atomic(9) for dad_failures counter
Replace counter(9) usage with more lightweight atomic(9) in the
code handling RFC 7217 SLAAC address generation.

Also, use `u_int` types with this. Leaving `dad_failures` local to
`in6_get_stableifid()` as a `uint64_t` to avoid changing the generated
addresses from previous code; this also gives some headroom for
future changes.

While here, moved some `#include` lines to adhere to style(9).

Reviewed by:            glebius, jhibbits, jtl, zlei
Approved by:            glebius, jtl, zlei
Differential Revision:  https://reviews.freebsd.org/D52731
0c94dc9da7c238603e43c55ca6da64c417fc2204 Guido Falsi 2025-10-03 10:09:42

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

netstat: Fix -ia missing multicast addresses on some interfaces
sdl_data isn't always NULL terminated

Signed-off-by: nreilly@qnx.com

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288958
Reviewed by:    markj
MFC after:      1 week
0952943a680dca12fe8f65f8813a9dca0783ce88 Nick Reilly 2025-09-12 19:27:59

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

tcp: improve SEG.ACK validation in SYN-RECEIVED
According to the fifth step in SEGMENT ARRIVES, send a RST segment in
response to an ACK segment which fails the SEG.ACK check, but leave
the endpoint state unchanged.
FreeBSD handles this correctly when entering the SYN-RECEIVED state via
the SYN-SENT state, but not in the SYN-cache code, which handles the
SYN-RECEIVED state via the LISTEN state.

This also fixes a panic reported by Alexander Leidinger.

Reviewed by:            jtl, glebius
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52934
8af2f06a99b10c0d3ab9021949e750852662672a Michael Tuexen 2025-10-06 20:39:31

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

netlink: in snl_init_writer() don't overwrite error in case of failure
488718ff42346888243496c00cbeb42ba004171e Bruno Silvestre 2025-10-07 05:48:28

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

ipv6: don't complain when deleting an address with prefix length of 128
Save prefix length in unused field in6_ifaddr->ia_plen, then on remove
check if an address has 128 prefix length, and if so, we don't need to
complain that there is none of related prefixes.

Reviewed by:    kp
Obtained from:  Yandex LLC
MFC after:      1 week
Sponsored by:   Yandex LLC
Differential Revision:  https://reviews.freebsd.org/D52952
c4cce0a3e94e3b22f874508d1a9cd81442648238 Andrey V. Elsukov 2025-10-07 13:08:15

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

sockstat: support reporting of BBLog state
Add a -b option to print the BBLog state for TCP sockets.

Reviewed by:            jtl, rrs
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52944
d801cc2d8542854a5dee9bfb25a15af6fa1dafad Michael Tuexen 2025-10-06 23:24:43

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

net80211: document some of the crypto/key functions
This documents the following functions:

* ieee80211_is_key_global()
* ieee80211_is_key_unicast()
* ieee80211_crypto_get_key_wepidx()
* ieee80211_crypto_get_keyid()
* ieee80211_crypto_get_txkey()
* ieee80211_crypto_encap()
* ieee80211_crypto_decap()

Differential Revision:  https://reviews.freebsd.org/D52649
1f76551e1a5e98673f31043d11366ca41d4f56fe Adrian Chadd 2025-09-20 21:30:42

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

sockstat: improve indentation
No functional changes intended.

MFC after:      3 days
Sponsored by:   Netflix, Inc.
ab837a2eed6d7562d538ac5f90b3b2776a9f0f5f Michael Tuexen 2025-10-07 02:04:35

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

tcp lro: use theflowid only when it has hash properties
When a packet is provided to LRO using tcp_lro_queue_mbuf(), a
sequence number is computed based on the m_pkthdr.flowid provided
by he driver. The implicit assumption is that the m_pkthdr.flowid
has hash properties.
The recent use of tcp_lro_queue_mbuf() in iflib exposed a bug in at
least one driver (igc) , which
* reports always that is uses M_HASHTYPE_OPAQUE.
* sets in some cases m_pkthdr.flowid not consistently for packets
  belonging to the same TCP connection.
This results in severe performance problems for the base TCP stack,
since it handles the packets in the wrong sequence, although they were
received in the correct sequence.
To protect against such misbehaving drivers, just take the
m_pkthdr.flowid only into account, if it has hash properties.
The performance problems were observed by gallatin@ and analyzed
together with rrs@.

Reviewed by:            gallatin
Tested by:              gallatin
MFC after:              5 Minutes
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52989
73f56fa542ecf6ea6819c9e17fc60962eeb726d8 Michael Tuexen 2025-10-09 12:37:11

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

sockstat: improve output formatting
Fix the format when the output for a socket spans multiple lines.

Reviewed by:            rrs
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52984
98b2a2265f5ee47bd932347699e6117df2f41488 Michael Tuexen 2025-10-09 19:10:53

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

sockstat: show path state column only when useful
Showing the path state column is only useful, if there is at least one
SCTP endpoint shown, which is not in the state CLOSED or LISTEN.
Don't show it when it is not useful.

Reviewed by:            rrs
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52986
746eadecaa7dc8913721cbaa9be4e603bd36ea49 Michael Tuexen 2025-10-09 19:16:38

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

ctld: Defer initialization of NVMeoF associations
Wait until all of the configuration has been parsed before creating
associations for NVMe portals.  This ensures that any options
specified in a transport group are honored when creating associations.

To enable this, add a new virtual method portal::prepare invoked when
applying a configuration prior to opening a socket (or reusing an
existing socket) for a portal.

Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D52844
1435a9b293e21f8fca1f654420c5075ea7434e8f John Baldwin 2025-10-09 19:24:27

debug: classified in 03-filenames_plain1 by 'usr.sbin/ctld/'

dummynet: SDT probe dropped packets
Add static probe points to track where we increment io_pkt_drop. This is
intended to assist in debugging dummynet, allowing us to work out when and
hopefully why packets get dropped.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
02923dd9b0de050b989b5a4103e402055cb7f61a Kristof Provost 2025-10-10 10:06:21

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

net: Use proper prototype for SYSINIT functions
MFC after:    1 week
6f8259eae61981d7e5d049be7eed9235f0e8172e Zhenlei Huang 2025-10-13 10:12:32

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

net80211: Use proper prototype for SYSINIT functions
MFC after:    1 week
7449e59110b8abbb3d647c3565ca3de1d21b2c84 Zhenlei Huang 2025-10-13 10:12:32

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

netinet: Use proper prototype for SYSINIT functions
MFC after:    1 week
6613b6ad1ecc5384c119018b9b27c18bd7516e3f Zhenlei Huang 2025-10-13 10:12:33

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

netinet6: Use proper prototype for SYSINIT functions
MFC after:    1 week
d4a80fa271b148b269869e5ca34e1861d9fcdfb0 Zhenlei Huang 2025-10-13 10:12:33

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

netipsec: Use proper prototype for SYSINIT functions
MFC after:    1 week
360bb45690d918fac5bae78ab44f45d11327067a Zhenlei Huang 2025-10-13 10:12:33

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

ipfw: Use proper prototype for SYSINIT functions
The only possible return value of function ipfw_init() is 0. Make it
return void to match the prototype of SYSINIT.

MFC after:      1 week
1bba2194c8a960235f8eae36e7d3e96f347ce779 Zhenlei Huang 2025-10-13 10:12:33

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

pf: Use proper prototype for SYSINIT functions
MFC after:    1 week
0ce8c20fcd44c1595b42fcb540913d3802edd438 Zhenlei Huang 2025-10-13 10:12:34

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

nfs: Use proper prototype for SYSINIT functions
MFC after:    1 week
a06ecc4f70c296f62f666421c3cf9643d40bdca2 Zhenlei Huang 2025-10-13 10:12:34

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

Commit group #28: tcp
tcp: Initial ktest for HPTS

Reviewed by:            rrs, tuexen
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52979
be1ad90e6bb6ea915d122f7abe407dc18d38a673 Nick Banks 2025-10-13 19:47:31

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


tcp: simplify tcp_hpts_insert signature

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
790d941880812146ec566cae0cc22ae831e25981 Nick Banks 2025-10-13 19:53:20

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


tcp: remove notion of ticks from HPTS

To improve consistency of the code, don't use slots and ticks,
just use slots.

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
23461f4997c24896058152d9de56bb4f4527984a Nick Banks 2025-10-13 20:00:27

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


tcp: fix KASSERT in HPTS

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
e79941bcb9d8758070a97d780582e097bb82396e Nick Banks 2025-10-13 20:24:52

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


tcp: fix a bug in HPTS

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
0eef2b4a002aace2ac9cc092bee6e10f6332f5ce Nick Banks 2025-10-13 20:27:43

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

Commit group #29: tcp
tcp: use time instead of slots in the HPTS API

This makes slots an internal concept of HPTS.

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
156dfc3e6e53a07bfa2d1e9d6e1ec37871cb887a Nick Banks 2025-10-13 20:35:29

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


tcp: remove unused argument in HPTS

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
bf48bc994a92850f7717b79da3a10a80725073bd Nick Banks 2025-10-13 20:38:51

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


tcp: add missing header file

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
2241cd10d6e0eaf16d1f3090f1d438543e127f0c Nick Banks 2025-10-13 20:45:39

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

ipfw: Check for errors from sooptcopyin() and sooptcopyout()
Note, it looks like this code may be unused since commit 4a77657cbc01
("ipfw: migrate ipfw to 32-bit size rule numbers").  In particular, it
looks like the ipfw_nat_*_ptr pointers are unused now.

Reviewed by:    ae
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53068
2df39ce5d4a8836ef5fd3c2666f48041042eff42 Mark Johnston 2025-10-14 13:33:13

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

sockstat: improve handling of path state
Only suppress the path state column when producing traditional text
output. When generating html output, always include the column.
Please note that when generating json or xml output, optional fields
like the path state are only generated if they is applicable. This
has not been changed.
The changes in this patch were suggested by asomers.

Reviewed by:            asomers
Fixes:                  https://cgit.freebsd.org/src/commit/?id=746eadecaa7d ("sockstat: show path state column only when useful")
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53005
97e858f5b335ae8f98619f9cee8ab9a0501cd06d Michael Tuexen 2025-10-14 06:39:37

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

openssh: blocklist: Remove non async-signal safe probe
BLOCKLIST_NOTIFY() is called within a signal handler for the alarm after
the grace period has expired that may only take async-signal safe
actions.

Reviewed by:    emaste
Fixes:          https://cgit.freebsd.org/src/commit/?id=e02003bce726 ("openssh: blocklist: Use NetBSD probes")
MFC after:      1 day
Differential Revision:  https://reviews.freebsd.org/D53109
9c82c17c2a3ac61a69cb5337cb6f92ae88bc0b08 Jose Luis Duran 2025-10-15 13:29:30

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

tests/hpts: provide stub KTEST module compiled without TCP_HPTS_KTEST
This will close a panic on test run when kernel is compiled without HPTS
KTEST support.
f8b76ec4cac745fcb1659e1ae34033a777d35a40 Nick Banks 2025-10-15 17:37:07

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

netinet: do route lookup when asked to join multicast group on ifindex 0
The code to do the route lookup was already there, but was used only for
the legacy IP_ADD_MEMBERSHIP when called without index.  Do same lookup
for IP_ADD_MEMBERSHIP with index and what is more important for
MCAST_JOIN_GROUP, if the supplied index is 0.  This is a neat feature and
Linux does that, so this should make a few applications easier portable to
FreeBSD.

Differential Revision:  https://reviews.freebsd.org/D52918
be7bdb1cf0b0f665bcd57c03fde41bd6c01d8ead Gleb Smirnoff 2025-10-15 18:54:57

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

tcp: bump max snd buffer size for autoscaling
This allows in higher throughput values with default settings.
In the review I was proposing using 16 MB, but in the transport
call today we settled on a more conservative value of 8.
Bumping it further will be done in combination with mitigations
for mbuf exhaustion attacks.

Reviewed by:            rscheff, cc, glebius, Nick Banks, Peter Lei, jtl, thj, rrs
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52872
9dd4742ee51ae80639b087a60ce7d15811c2b1e6 Michael Tuexen 2025-10-15 20:19:14

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

tcp: bump max rcv buffer size for autoscaling
This allows in higher throughput values with default settings.
In the review I was proposing using 16 MB, but in the transport
call today we settled on a more conservative value of 8.
Bumping it further will be done in combination with mitigations
for mbuf exhaustion attacks.

Reviewed by:            rscheff, Peter Lei, jtl, thj
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52871
baeff75122e5cdb669c920414e054224270383d7 Michael Tuexen 2025-10-15 20:24:51

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

tcp: cleanup of syncache_expand()
* Consistently free the string after unlocking the sch, if possible.
* Remove the failure handling in case of sc != NULL, since this is
  not possible anymore.
* Remove the use of goto and instead return 0 in the three cases.
The only change in behavior is that in three out of the four cases,
where 0 is returned, *lsop is not set to NULL anymore. So the behavior
is now consistent and also documented in a comment. The current in
tree callers only look at *lsop, if and only if syncache_expand()
returns 1.

Reviewed by:            Peter Lei
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52948
aafdbf83b926519cb47de8f16a1a40c1ef3c84b5 Michael Tuexen 2025-10-17 05:40:02

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

libalias: quiet gcc -Wcalloc-transposed-args
Reviewed by:  phk
Differential Revision:  https://reviews.freebsd.org/D53151
bf427a09b617b60068af65a4c14632fea4ef7dda Ryan Libby 2025-10-17 22:43:06

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

inline most of the considered lost condensation.
This is a small cleanup to consolidate the considered lost reduction and marking to an
inline function. There are two places where we are using hookery in SACK processing where
we can't use it. All other places we move to the function. This code in theory changes nothing
and just makes things a bit more readable and consistent.

Reviewed by:tuexen
Differential Revision:  <https://reviews.freebsd.org/D53021>
bcdef9d68a2103d78bb335d10bc5a68bf8dfb1aa Randall Stewart 2025-10-19 11:45:23

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

pf: fix 'no rdr'
Ensure we always have a non-NULL rule pointer (ctx.rm).
It might have gotten set to NULL by pf_get_translation().

While here also restore the previous rdr behaviour be re-adding the incorrectly
removed 'break' in pf_match_translation_rule.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290177
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D53191
cb36bfee25b71d1223b8fb1237fcf823d514b50e Kristof Provost 2025-10-18 15:47:47

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

sockstat: fix column length for PROTO
The computation of the length was not taking into account that IPv6
endpoints, which are not IPv6 only, have a suffix of 46.
For UDP and TCP this bug was not relevant, since tcp46 and udp46
has the same length as PROTO, but sctp46 is longer. Upcoming
udplite support will also be affected.

Reviewed by:            asomers
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D53212
4ee0ddae1dab05dd8e3f273d861043c3e2919f23 Michael Tuexen 2025-10-20 14:26:52

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

Move bbr and rack to use inline per C99 (TCP Sub-system)
This is a small change as suggested by Gleb to move all __inline -> inline aka C99 style. This
covers both BBR and Rack and makes no real changes to the code functionality

Reviewed by:    tuexen
 Differential Revision: <https://reviews.freebsd.org/D53197>
a8e4399fc6a27b4f8ab828231ede75743ba28a58 Randall Stewart 2025-10-20 18:09:11

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

UDP: let udp_pcblist() support UDP and UDP-Lite
Provide the IPPROTO_UDP in the arg2 parameter of udp_pcblist() and use
this to determine the inpcbinfo. This allows the same function to be
used in an upcoming commit to provide the list of pcbs for UDP-Lite
just by providing IPPROTO_UDPLITE in the arg2 parameter.

Reviewed by:            rrs
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D53218
be3c59ff508204dbab9e3616dc82ed7620f05d0c Michael Tuexen 2025-10-20 21:21:47

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

if_vxlan: fix byteorder of source port
Fix the htons byteorder of vxlan packets after
`vxlan_pick_source_port` picks a source port during encapsulation.

Reviewed by:    zlei, kp, adrian
Differential Revision:  https://reviews.freebsd.org/D53022
1cc316727ebae157b3d035d9fb1ad38310a80698 Seyed Pouria Mousavizadeh Tehrani 2025-10-21 18:58:26

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

inpcb: Ignore SO_REUSEPORT_LB on connected sockets
While TCP disallows connect()ing a socket with SO_REUSEPORT_LB, UDP does
not.  As a result, a connected UDP socket can be placed in the lbgroup
hash and thus receive datagrams from sources other than the connected
host.

Reported by:    Amit Klein <amit.klein@mail.huji.ac.il>
Reported by:    Omer Ben Simhon <omer.bensimhon@mail.huji.ac.il>
Reviewed by:    glebius
Approved by:    so
Security:       FreeBSD-SA-25:09.netinet
Security:       CVE-2025-24934
320ad3dec5ff1b37f6907a47961c18b9d77e6a53 Mark Johnston 2025-10-06 13:37:47

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

Commit group #30: krb5: Fix -Wint-conversion when bootstrapping on GNU/Linux
krb5: Fix -Wint-conversion when bootstrapping on GNU/Linux

This shows up in GitHub Actions as a warning, and some compilers can
default to it being an error.
4dd2b869cd078ed6f40c42d1ef429222da16a58f Jessica Clarke 2025-10-22 19:50:50

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


krb5: Include <features.h> on Linux so __GLIBC__ can be checked

__GLIBC__ is not pre-defined by the toolchain, it comes from features.h,
so we need to make sure that's included by this point.

Fixes:  https://cgit.freebsd.org/src/commit/?id=4dd2b869cd07 ("krb5: Fix -Wint-conversion when bootstrapping on GNU/Linux")
34e7a57673c9730ee5d1f7ebb07e152567bd8e0b Jessica Clarke 2025-10-22 20:06:02

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

UDP-Lite: export pcblist via sysctl interface
Export the list of pcbs for UDP-Lite to be consumed by sockstat and
netstat.

Reviewed by:            Peter Lei, Nick Banks
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D53229
be93b27483680c7e741b1627cc96a131bc99436c Michael Tuexen 2025-10-23 07:10:03

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

sockstat: add support for UDP-Lite endpoints
With this patch UDP-Lite endpoints are also show per default.

Reviewed by:            Peter Lei, Nick Banks
MFC after:              3 days
Relnotes:               yes
Differential Revision:  https://reviews.freebsd.org/D53230
f48c6390dd5a01ab2b33f26ee50f4e8cbe8ae737 Michael Tuexen 2025-10-23 07:12:32

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

netstat: add support for UDP-Lite endpoints
With this patch UDP-Lite endpoints are also shown per default.

Reviewed by:            Nick Banks
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D53252
c2b08c13c20d44c3368bcbf738624e5fac461314 Michael Tuexen 2025-10-23 07:15:22

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

tcp over udp: don't copy more bytes than avaiable
When copying the data in the first mbuf to get rid of the UDP
header, use the correct length. It was copying too much (8 bytes,
the length of the UDP header).
This only applies to handling TCP over UDP packets. The support for
TCP over UDP is disabled by default.

Reported by:            jtl
Reviewed by:            Peter Lei
MFC after:              3 days
Sponsored by:           Netflix, Inc.
bfda98a42027417b2fa74738c63327532013e93b Michael Tuexen 2025-10-23 07:24:09

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

ipfilter: Plug ip_nat kernel information leak
ipf_nat_getent() allocates a variable-sized nat_save_t buffer with
KMALLOCS() (which does not zero memory) and then copies only a subset
of fields into it before returning the object to userland using
ipf_outobjsz(). Because the structure is not fully initialized on all
paths, uninitialized kernel heap bytes can be copied back to user space,
resulting in an information leak.

We fix this by zeroing out the data structure immediately after
allocation.

Reported by:            Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:            emaste
MFC after:              3 days
Differential revision:  https://reviews.freebsd.org/D53274
6535e9308a26e17023831fe68fb71d2febf2a002 Cy Schubert 2025-10-22 15:59:26

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

ipfilter: Plug ip_htable kernel information leak
ipf_htable_stats_get() constructs an iphtstat_t on the stack and only
initializes select fields before copying the entire structure to
userland. The trailing padding array iphs_pad[16] is never initialized,
so ~128 bytes of uninitialized kernel stack memory can be leaked to user
space on each call. This is a classic information disclosure
vulnerability that can reveal pointers and other sensitive data.

We fix this by zeroing out the data structure prior to use.

Reported by:            Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:            emaste
MFC after:              3 days
Differential revision:  https://reviews.freebsd.org/D53275
0d589ecbc7aa916537fd21c0344919491cfcb293 Cy Schubert 2025-10-22 16:29:03

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

tcp rack: cleanup
The TCP_SAD_DETECTION code was removed. Remove the remaining
sysctl-variables and counters.

Reviewed by:    tuexen
MFC after:      3 days
Sponsored by:   Netflix, Inc.
04c2642406815729781e7eb219a5438583fff27f Peter Lei 2025-10-24 19:42:28

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

tcp: save progress timeout cause in connection end status
TCP stats are currently incremented for the persist and progress
timeout conditions, but only the persist cause was saved in the
connection end info status, which in turn is logged in the
blackbox "connection end" event.

Reviewed by:    tuexen
MFC after:      3 days
Sponsored by:   Netflix, Inc.
1a61a673a3700c0ebdb0c5847b5923d0e3641f89 Peter Lei 2025-10-24 19:47:12

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

blocklistd-helper: Silence another bogus pf warning
It has been reported as PR 290478.  In the meantime, just sweep under
the carpet.

It is worth noting that neither commit:
2347ca21d657 ("blocklist-helper: Silence a bogus pf warning")
nor this one will be upstreamed, as this is a FreeBSD-specific issue.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290478
MFC after:      2 days
67ade69eb6079887215db1fde86eba2fb8e2acf7 Jose Luis Duran 2025-10-25 23:14:48

debug: classified in 05-summary-prefix by 'blocklistd-helper:'

udp: honor IPV6_TCLASS socket option for UDP/IPv4 packets
Honor the IPPROTO_IPV6-level socket option IPV6_TCLASS when sending
an UDP/IPv4 packet on an AF_INET6 socket.

Reviewed by:            bz, glebius
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53346
3535546a86846ddb0ca5fe4a0689ac635b504459 Michael Tuexen 2025-10-26 17:52:33

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

udp: honor IPV6_TCLASS cmsg for UDP/IPv4 packets
Honor the IPPROTO_IPV6-level cmsg of type IPV6_TCLASS when sending
an UDP/IPv4 packet on an AF_INET6 socket.

Reviewed by:            bz
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53347
d3a3854fdc6e8da3bc6c1c13aab8d371445d2914 Michael Tuexen 2025-10-26 17:58:15

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

ng_device: add kqueue support
Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr>

Sponsored by:   Defenso
Reviewed by:    markj
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D52541
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1880
a505b80b2f038409300cd05e2ea95822942404e2 Quentin Thébault 2025-09-09 03:48:46

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

net: Validate interface group names in ioctl handlers
The handlers were not checking that the group names are nul-terminated.
Add checks for this.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    zlei
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53344
32919a34f17ac1af99dec7376f22a8393c251602 Mark Johnston 2025-10-27 16:27:13

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

altq: Clear stats structures in get_class_stats()
These structures are copied out to userspace, and it's possible to leak
uninitialized stack bytes since these routines and their callers weren't
careful to clear them first.  Add memsets to avoid this.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    kp, emaste
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53342
ff08916e9ac689e6ce734de72325fc2bd9495a35 Mark Johnston 2025-10-27 16:27:40

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

net: Remove useless field annotations
MFC after:    1 week
500717311bff635dac12602a27d0dbca02cf9a2e Mark Johnston 2025-10-27 16:27:55

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

ipfw: Retire obsolete compat code
The current IPFW version 3 dates to 2010 (commit cc4d3c30ea28, "Bring in
the most recent version of ipfw and dummynet, developed").

The compat code for FreeBSD 8 and earlier has a number of issues and is
no longer needed, so remove it.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    ae, glebius
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53343
c59aab9a5b3970b3ccec744f759e6cb87e938dbe Ed Maste 2025-10-24 20:15:01

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

tcp: improve credential handling in syncache
When adding a syncache entry, take a reference count of the
credentials while the inp is still locked.
Thanks to markj@ for providing a hint regarding the root cause.

Reported by:            David Marker
Reviewed by:            glebius
Tested by:              David Marker
Fixes:                  https://cgit.freebsd.org/src/commit/?id=cbc9438f0505 ("tcp: improve ref count handling when processing SYN")
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53380
44cb1e857f048d2326bdc1a032ccd2c04d2bcdc9 Michael Tuexen 2025-10-27 22:28:59

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

pf: improve DIOCRCLRTABLES validation
Unterminated strings in the anchor or name could cause crashes.
Validate them, and add a test case.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
1da3c0ca5b1decaa9cf55859cd134bdcd1218116 Kristof Provost 2025-10-29 08:28:59

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

pf: improve add state validation
Both for the DIOCADDSTATE ioctl and for states imported through pfsync packets.
Add a test case to exercise this code path.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
faacc0d968816cf8714c974b6d8df6191cfb0e0d Kristof Provost 2025-10-29 10:40:52

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

ipsec offload: never return error from the newkey/spdadd callbacks
Returning an error causes premature termination of if_foreach_sleep()
loop over the interfaces.  Whatever problem we have with the specific
interface trying to install an element, should not prevent an attempt to
install the same element into all other interfaces.

Noted by:       Ariel Ehrenberg
Sponsored by:   NVidia networking
MFC after:      1 week
8b2f4e6b3a478faaa4b0b23efc9c65f5db913df4 Konstantin Belousov 2025-10-29 16:37:17

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

pf: Make nat-to and rdr-to work properly both on in and out rules
New-style address translation is done by nat-to and rdr-to actions on
normal match and pass rules. Those rules, when used without address
translation, can be specified without direction. But that allows users
to specify pre-routing nat and post-routing rdr. This case is not
handled properly and causes pre-routing nat to modify destination
address, as if it was a rdr rule, and post-routing rdr to modify source
address, as if it was a nat rule.

Ensure that nat-to action modifies source address and rdr-to destination
address no matter in which direction the rule is applied. The man page
for pf.conf already specifies that nat-to and rdr-to rules should be
limited to respective directions.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288577
Reviewed by:    kp
MFC after:      3 days
Sponsored by:   InnoGames GmbH
Differential Revision:  https://reviews.freebsd.org/D53216
646798b6783184fb194a2d97667e05895e00c358 Kajetan Staszkiewicz 2025-10-01 13:51:46

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

pf: Check if source nodes use a valid redirection address
Source nodes redirect (nat-to, rdr-to, route-to) all further connections
matching the rule which has created the source node. The source node is
valid as long as there are states resulting from the rule or until the
source node lifetime expires. When the rule's redirection pool is
modified (e.g. table contents are changed) the source node is still
valid and it will redirect new connections to invalid target (e.g. a
dead next-hop).

When performing source tracking after finding a source node check if the
redirection address still exists in pool of the rule which has created
this node. If not, delete the source node. This will result in finding a
new redirection address and creation of a new source node.

Reviewed by:    kp
Obtained from:  OpenBSD
Sponsored by:   InnoGames GmbH
Differential Revision:  https://reviews.freebsd.org/D53231
ee1f417a8609b8742332950521800502759dd185 Kajetan Staszkiewicz 2025-10-20 16:53:50

debug: classified in 03-filenames_plain1 by '['sys/net/', 'sys/netpfil/']'

tcp: remove unused define
Reviewed by:  tuexen
MFC after:      3 days
Sponsored by:   Netflix, Inc.
44ad7d4844b7b5387cfad603a28501ac5c70e37d Peter Lei 2025-10-31 13:31:20

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

pf: convert DIOCRSETADDRS to netlink
The list of addresses is potentially very large. Larger than we can fit in a
single netlink request, so we indicate via the PFR_FLAG_START/PFR_FLAG_DONE
flags when we start and finish, so the kernel can work out which addresses need
to be removed.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
08ed87a4a2769cf6294efdd908b0ed4d29ab49b4 Kristof Provost 2025-10-31 10:36:55

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

openssh: Handle localtime_r() failure by return "UNKNOWN-TIME"
Apply openssh-portable commit 8b6c1f402feb by deraadt@openbsd.org

Obtained from:  openssh-portable
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288773
Reported by:    wosch
Sponsored by:   The FreeBSD Foundation
ce03706ab26c5770150f1ef96aca36b69baa535f Ed Maste 2025-10-31 17:04:51

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

ddb: improve printing of inp_flags
Add four missing flags (INP_BINDANY, INP_INHASHLIST, INP_RESERVED_0,
INP_BOUNDFIB) used in inp_flags and remove one flag (INP_ORIGDSTADDR),
which is actually a flag used in inp_flags2 and not in inp_flags.

Reviewed by:            markj
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53498
fee2e6b9fae277d383b129573df2528ce0407efa Michael Tuexen 2025-10-31 17:58:46

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

Commit group #31: ddb: optionally print inp when printing tcpcb
ddb: optionally print inp when printing tcpcb

Add /i option to the ddb commands show tcpcb and show all tcpcbs,
which enables the printing of the t_inpcb.

Reviewed by:            markj
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53497
9aa5a79e2af9a6a8930bbe8a7a024df2cf44e433 Michael Tuexen 2025-10-31 18:05:02

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


ddb: fix compilation

Fixes:          https://cgit.freebsd.org/src/commit/?id=9aa5a79e2af9 ("ddb: optionally print inp when printing tcpcb")
Sponsored by:   Netflix, Inc.
259b69ad3dd6f077c99be8a7795775dd5b87b0b5 Michael Tuexen 2025-10-31 19:20:01

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

ipfw: pmod: avoid further rule processing after tcp-mod failures
m_pullup() here will have freed the mbuf chain, but we pass back an
IP_FW_DENY without any signal that the outer loop should finish.  Thus,
rule processing continues without an mbuf and there's a chance that we
conclude that the packet may pass (but there's no mbuf remaining)
depending on the rules that follow it.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=284606
Reviewed by:    ae
MFC after:      1 week
c0382512bfce872102d213b9bc2550de0bc30b67 Kyle Evans 2025-11-01 17:34:11

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

sockstat(1): Add "-F" parameter
Add "-F" parameter that, when specified, instructs sockstat(1) to
only display sockets for username/UID specified.

For consistency with "-j", the last occurence of "-F" is used.

Reviewed by:            asomers
Approved by:            asomers
Differential Revision:  https://reviews.freebsd.org/D53458
2deeed061b1473a4230211c6562a533b76ce846c Juraj Lutter 2025-10-29 20:48:21

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

mld6: Properly initialize MLD packet options
After commit 530c2c30b0c7 we need to set flags to ensure that hop-by-hop
and hop limit options are included.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290407
Reviewed by:    zlei, markj
MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=530c2c30b0c7 ("ip6_output: Reduce cache misses on pktopts")
5568fba657c260286b9f1f1e837ab83ef6ce572d Andrey V. Elsukov 2025-11-02 15:56:14

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

ddb: use %b when showing flags for an inp
This is much more compact. Thanks to markj@ for suggesting the change.

Reviewed by:            markj
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53507
e8c50058e8d03af17b7458bb560ddee29062082f Michael Tuexen 2025-11-02 16:12:32

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

ddb: use %b when showing flags for a tcpcb
This is much more compact. Thanks to markj@ for suggesting the change.

Reviewed by:            markj, Peter Lei, imp, Nick Banks
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53510
8e8956f7f99759b21bc07e884ad89d1927c39e8d Michael Tuexen 2025-11-02 16:15:47

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

ddb: improve printing of inpcbs
* shuffle around the inp_label to give inp_flags more space since it
  can become long.
* fix the indentation of in6p_icmp6filt, in6p_cksum, and in6p_hops.

Reviewed by:            Peter Lei
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53541
25aed6401b35834856440ffb32a61597c8019697 Michael Tuexen 2025-11-02 17:17:05

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

tcp: drop SYN ACK segment for listening sockets
When a SYN ACK is received for a listening socket, just drop it
instead of killing the SYN-cache entry and send a RST.
This closes the possibility to kill a TCP connection during its
handling in the SYN-cache.

Reviewed by:            Nick Banks, Peter Lei
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53540
239464e99321ede07664782426ec4e54cd8a618d Michael Tuexen 2025-11-03 10:50:49

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

ddb: provide inp_flags2 when printing inpcbs
Reviewed by:          markj, Peter Lei
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53542
5f43b0cb7c3cb7c3209598f8c0818cb47cd9de96 Michael Tuexen 2025-11-03 11:17:29

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

ipsec_offload: do not leak drv_spi unr
in the ipsec_accel_sa_newkey_cb() when the SA offload is only enabled
on a specific different interface, not the current one.

Also remove no longer relevant XXX comment.

Noted and reviewed by:  slavash
Sponsored by:   NVidia networking
MFC after:      1 week
4accefc998e731581549163cf1a582948b2ad0de Konstantin Belousov 2025-10-30 14:50:22

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

if_tuntap: defer transient destroy_dev() to a taskqueue
We're in the dtor, so we can't destroy it now without deadlocking after
recent changes to make destroy_dev() provide a barrier.  However, we
know there isn't any other dtor to run, so we can go ahead and clean up
our state and just prevent a use-after-free if someone races to open
the device while we're trying to destroy it.  tunopen() now uses the
net epoch to protect against softc release by a concurrent
tun_destroy().

While we're here, allow a destroy operation to proceed if we caught a
signal in cv_wait_sig() but tun_busy dropped to 0 while we were waiting
to acquire the lock.

This was more of an inherent design flaw, rather than a bug in the
below-refed commit.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290575
Fixes:  https://cgit.freebsd.org/src/commit/?id=4dbe6628179d ("devfs: make destroy_dev() a release [...]")
Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D53438
96c1d8db39dfeea78ea3f27d67649252a39bbf2e Kyle Evans 2025-11-05 00:28:02

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

pf: convert DIOCRGETADDRS to netlink
Sponsored by: Rubicon Communications, LLC ("Netgate")
f27e44e2e3b5a745847e0277e66f60af585a522d Kristof Provost 2025-11-04 20:52:37

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

Commit group #32: ipfilter
ipfilter: Add htable (hash table) tunable

This is in preparation for addition of a hash table max size.

Reviewed by:            markj
MFC after:              1 week
Differential revision:  https://reviews.freebsd.org/D53283
c57262716b08717b6a9c5533941d4e0a2d180d46 Cy Schubert 2025-10-22 22:51:43

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


ipfilter: Add an htable max size tuneable.

Add an ipfilter runtime option (ipf -T) to adjust the default
maximum hash table size. Default it to 1024 entries. It will be
used by a subsequent commit to limit any damage due to excessively
large hash table input by the user.

Reviewed by:            markj
MFC after:              1 week
Differential revision:  https://reviews.freebsd.org/D53284
f3b94f47f55c502e8983f9bd294e963e75b2963a Cy Schubert 2025-10-22 22:56:50

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


ipfilter: Don't trust userland supplied iph_size

ipf_htable_create() trusts a user-supplied iph_size from iphtable_t
and computes the allocation size as iph->iph_size * sizeof(*iph->iph_table)
without checking for integer overflow. A sufficiently large iph_size
causes the multiplication to wrap, resulting in an under-sized allocation
for the table pointer array. Subsequent code (e.g., in ipf_htent_insert())
can then write past the end of the allocated buffer, corrupting kernel
memory and causing DoS or potential privilege escalation.

This is not typically a problem when using the ipfilter provided
userland tools as calculate the correct lengths. This mitigates a
rogue actor calling ipfilter ioctls directly.

Reported by:            Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:            markj
MFC after:              1 week
Differential revision:  https://reviews.freebsd.org/D53286
df381bec2d2b73697a3d163177df042dd272022d Cy Schubert 2025-10-22 23:19:54

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


ipfilter: Add ipf_check_names_string()

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

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

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

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


ipfilter: Verify frentry on entry into kernel

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

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

The initial concepts were discussed with emaste and jrm.

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

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


ipfilter: Verify ipnat on entry into kernel

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

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

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


ipfilter: Remove unused variable

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

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


ipfilter: Restore used variable

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

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

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


ipfilter: fix broken build

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

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

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

tcp: improve comments in the syncache code
Add a comment explaining why syncache entries are dropped and fix a
typo in a comment.

Reviewed by:            rrs, glebius
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53564
17fb082104ee281365b72bd5135604cea5051df2 Michael Tuexen 2025-11-07 15:27:56

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

netlink: plug lock leak in genl_register_family()
335fc09ab8d25c3ced027d46f5a0f4103d5c8bee Bruno Silvestre 2025-11-08 18:02:32

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

net80211: create accessors for accessing the ieee80211_key key/mic data
Add some accessors to the key data, key length and MIC data.
Document exactly what these mean.

There's at least a couple of drivers that access the key data field
directly and assume that the TX/RX MIC is available directly after the
data pointer, which bakes in the "key size is 128 bits" in subtle ways.

The goal here is to migrate the drivers and net80211 code to use
these methods rather than accessing wk_key directly and making assumptions
about wk_key and the copied key length (which the ioctl path definitely
does.)

Once that's done, it should be a lot easier to change the key API for
larger keys.

Differential Revision:  https://reviews.freebsd.org/D52711
Reviewed by:    thj
77b1e4f32f31b219c238c81b726d079a003b465c Adrian Chadd 2025-09-24 15:30:47

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

iflib: remove transmit prefetching
Remove prefetching from the transmit path of iflib in the interest of
increased performance and reduced complexity. Details regarding the
performance penalties of prefetching can be found in the differential
review.

Note this prefetching was only done on link speeds of 10Gb/s and
above, so the change is a no-op (or perhaps slight performance
improvement simply due to the code simplification) for slower
interfaces.

Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D53674
Reviewed by: kbowling, markj, mjg
c9e4643da132c50f082a474c540108d7afee2d18 Andrew Gallatin 2025-11-11 16:46:28

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

Commit group #33: if_media.h: Add 400GBase-SR8 and 400GBase-CR8
if_media.h: Add 400GBase-SR8 and 400GBase-CR8

Reviewed by:    bz (network)
MFC after:      1 week
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D53387
2d608a4cebbd5b9e648f86e52f115c02fac52d88 Navdeep Parhar 2025-11-12 22:10:04

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


Fix typo in recently added 400G media

Reported by:    glebius
Fixes:  https://cgit.freebsd.org/src/commit/?id=2d608a4cebbd if_media.h: Add 400GBase-SR8 and 400GBase-CR8
MFC after:      1 week
Sponsored by:   Chelsio Communications
4d2d65cad49765a084819195d81a7c0043f1938c Navdeep Parhar 2025-11-14 06:02:28

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

debug: moved to network because 'Need to be grouped with 2d608a4cebbd5b9e648f86e52f115c02fac52d88'

pf: handle divert packets
In a divert setup pf_test_state() may return PF_PASS, but not set the state
pointer. We didn't handle that, and as a result crashed immediately afterwards
trying to dereference that NULL state pointer.

Add a test case to provoke the problem.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260867
MFC after:      2 weeks
Submitted by:   Phil Budne <phil.budne@gmail.com>
Sponsored by:   Rubicon Communications, LLC ("Netgate")
66f2f1c83247f05a3a599d7e88c7e7efbedd16b5 Kristof Provost 2025-11-15 13:44:54

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

sys/net/sff8436.h: Fix the register address of link length of copper or active cable
The register address of link length of copper or active cable is 146 as
per the SFF-8436 specification [1].

[1] 7.6.2 Upper Memory Map Page 00h SFF-8436 Specification (pdf): https://members.snia.org/document/dl/25896

Reviewed by:    imp, zlei
MFC after:      1 week
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1885
Closes:         https://github.com/freebsd/freebsd-src/pull/1885
a537694b49f719d84e3a69a2b8a3098f603da7d7 Kirill Kochnev 2025-11-06 18:22:30

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

pf: fix udp_mapping cleanup
If we fail to obtain a new source port (pf_get_sport()) while we've
created a udp_mapping (for 'endpoint independent nat') we must free the
udp_mapping in pf_get_sport(). Otherwise the calling function will call
pf_udp_mapping_release(). This will then attempt to remove the udp_mapping from
a list it's not in, and crash.

Actually free the udp_mapping in all failure cases. While here sprinkle in a few
more assertions to ensure we don't forget leak udp_mappings and add a test case
to provoke this problem.

Reviewed by:    thj
MFC after:      1 week
See also:       https://redmine.pfsense.org/issues/16517
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D53737
c12013f5bb3819e64499f02ecd199a635003c7ce Kristof Provost 2025-11-13 13:54:54

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

if_ovpn: use IFT_TUNNEL
IFT_ENC has special behaviour in pf we don't desire, and this also ensures that
for all interface types there is N:1:1 correspondence between if_type:dlt:header len.

Requested by:   glebius
MFC after:      1 week
ff9f76a206c80c263050816735d537a151ee2999 Kristof Provost 2025-11-17 19:42:24

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

ipfw: fix lookup dst-ip opcode
Opcode handling should not fall through to the LOOKUP_DSCP type.

Reviewed by:    melifaro
Obtained from:  Yandex LLC
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53775
8012c61bef3bb19a48d8459b38b65e27d46c186c Boris Lytochkin 2025-11-18 10:31:56

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

TCP Pacing system (HPTS) is missing an API
Recent changes to HPTS have broken an API that was somehow removed (used by user space programs for
time calculations). This commit will add back the inline function that was removed.

Differential Revision:<https://reviews.freebsd.org/D53225>
8f2f66b323ac3ea29ebedf12cad06fbbb76edd3c Randall Stewart 2025-11-18 15:18:25

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

iflib: fix iflib_simple_transmit() when interface is down
Use the same check as iflib_if_transmit() to detect when the
interface is down and return the proper error code, and also
free the mbuf.

This fixes an mbuf leak when a member of a lagg is brought
down (and probably many other scenarios).

Sponsored by: Netflix
896dc30bc9bc2f7407b04ca4c08f88b1c7bf9d60 Andrew Gallatin 2025-11-20 00:48:56

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

openssh: Don't attempt to connect to unsupported addresses
When iterating over known addresses for the requested target host name,
skip those that are not supported by the running kernel.

MFC after:      1 week
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195231
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53588
5818b6ee552b302f5300934f9b8cb94881867a5f Dag-Erling Smørgrav 2025-11-21 06:28:13

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

ip: use standard C types for ECN helper functions
No functional change intended, suggested by glebius.

Reviewed by:            rscheff, zlei, tuexen
Differential Revision:  https://reviews.freebsd.org/D53739
f2582653a429a7c8d55b023c6f5a006f5d51ea34 Seyed Pouria Mousavizadeh Tehrani 2025-11-21 07:58:12

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

pf: fix another endpoint-independent crash
In c12013f5bb38 we fixed udp_mapping cleanup issues in pf_get_sport(), but
missed the static-port case (i.e. low == 0 && high == 0). We could still exit
pf_get_sport() without either inserting the udp_mapping or freeing it.

Address this and add a test case to provoke the problem.

Reviewed by:    thj
MFC after:      1 week
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D53856
7dedc3c21436bb5a1220f8901992d2772a163f78 Kristof Provost 2025-11-21 09:03:36

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

ipfw: add extra parenthesis around ACTION_PTR() macro
This allows to immediately dereference ipfw_insn member.
88b38d43f557f59649c7c690cbd5f6ad61f2565a Gleb Smirnoff 2025-11-21 22:43:47

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

Commit group #34: bpf
bpf: remove dead code

Should have gone together with 9738277b5c66.
5469a3493b17021a5272c4eb2e9d8024e424cd3b Gleb Smirnoff 2025-11-21 22:43:47

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


bpf: refactor buffer pre-allocation for BIOCSETIF

This basically refactors 4f42daa4a326f to use less indentation and
variables.  The code is still not race proof.
ff3ccf6f1a020800605bca1bec66985eb7be56d3 Gleb Smirnoff 2025-11-21 22:43:47

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


bpf: leave only locked version of bpf_detachd()

The unlocked one is used only once.  No functional change.
fd91012ebff2b2ff66e8b6faaa3a934a67069a6a Gleb Smirnoff 2025-11-21 22:49:04

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


bpf: remove DDB code

With modern debugging tools it isn't useful at all and is just a
maintenance burden.
e20e5724e6145fd2cd922f11d745b10a048443af Gleb Smirnoff 2025-11-22 00:04:52

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


bpf: retire struct bpf_if_ext

The struct was used for bpf_if to bif_dlist masking, that is used to
optimize bpf_peers_present() call.  The only functional change here is
that bif_dlist and bif_next swap their places in the structure.  Both
belong to the first cache line anyway.

Reviewed by:            markj
Differential Revision:  https://reviews.freebsd.org/D53867
57673d166940feafe09f411294b57fa6c8af3585 Gleb Smirnoff 2025-12-03 23:16:15

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


bpf: calculate net.bpf.stats buffer size dynamically

This removed the global counter, that was updated in a racy manner.

Reviewed by:            markj
Differential Revision:  https://reviews.freebsd.org/D53868
845896655815eaf339953e2aa48d79ca4539874b Gleb Smirnoff 2025-12-03 23:16:33

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


bpf: global bpf list doesn't need CK

All accesses to this list are done with the global lock held.  The
CK connotation is just confusing the reader.

Fixes:                  https://cgit.freebsd.org/src/commit/?id=699281b545a8a3fc5109b5f2db62d261b65b588b
Reviewed by:            markj
Differential Revision:  https://reviews.freebsd.org/D53869
72ca89482afcdec7db1d7555bdb3505498c729c2 Gleb Smirnoff 2025-12-03 23:16:50

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

rss: Enable portions of RSS globally to enable symmetric hashing
We use the fact that all NICs that support hashing are using the
same hash algorithm and hash key to enable symmetic hashing in
TCP, where a software version of the same hash is used to
establish hashes on outgoing connections.

Sponsored by: Netflix
Reviewed by: adrian, zlei (both early version)
Differential Revision:  https://reviews.freebsd.org/D53089
d9c55b2e8cd6b79f6926278e10a79f1bcca27a4b Andrew Gallatin 2025-11-22 14:29:31

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

tcp: Enable symmetric hashing by setting hash on outgoing conns
Now that we can trust NICs to supply an identical hash result
to software, we can setup the inpcb hash on outgoing connections.
This gives us symmetric hashing, meaning packets should enter
and leave on the same NIC queue.

Differential Revision:  https://reviews.freebsd.org/D53104
Reviewed by: adrian, cc, kbowling, tuexen, zlei
Sponsored by: Netflix
dd0e6bb996dc46e1d91f3d9aef87979716479465 Andrew Gallatin 2025-11-22 14:29:35

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

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

Differential Revision:  https://reviews.freebsd.org/D53090
Reviewed by: zlei
Sponsored by: Netflix
2fe37927d41990abe8d1c336e75fd75873285e90 Andrew Gallatin 2025-11-24 15:36:32

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

netlink: Fix overallocation of netlink message buffers
Prior to commit 0c511bafdd5b309505c13c8dc7c6816686d1e103, each time
snl_realloc_msg_buffer was called, it called snl_allocz to request a
new buffer.  If an existing linear buffer was used, then after the
call, the linear buffer effectively contained the old buffer contents
followed by the new buffer (so there was definitely wasted memory),
but the linear buffer state was consistent (lb->offset correctly
accounted for both copies).  For example, if the initial linear buffer
was 256 bytes in size, lb->size would be 256.  Using 16 bytes followed
by 32 bytes would first set lb->offset to 16, then the second realloc
would allocate 48 bytes (16 + 32) setting lb->offset to 64 (16 + 48).

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

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

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

Reviewed by:    igoro
Fixes:          https://cgit.freebsd.org/src/commit/?id=0c511bafdd5b ("netlink: fix snl_writer and linear_buffer re-allocation logic")
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D53697
828df4d36d9d5a6ca0dcc294d65572b4a0474142 John Baldwin 2025-11-24 15:55:05

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

pf: relax sctp v_tag verification
pf was too strict when validating SCTP tags. When a server receives a
retransmitted INIT it will reply with a random initiate tag every time.
However, pf saves the first initiate tag and expects every subsequent INIT_ACK
retransmission to have the same tag. This is not the case, leading to endless
INIT/INIT_ACK cycles.

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

Add a test case to verify this.

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

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

pf: use correct sized variables in pf_change_icmp()
We're updating 16-bits checksums here, so should use a 16-bit integer,
not a 32-bit one.
No functional change.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
d6f1acf94d3a1b310318ea3ff6c4f4b33bc8e85d Kristof Provost 2025-12-01 10:06:24

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

pfsync: fix incorrect unlock during destroy
During pfsync_clone_destroy() we clean up pending packets. This
may involve calling pfsync_undefer() or callout_drain(). We may not
hold the bucket lock during callout_drain(), but must hold it during
pfsync_undefer().

We incorrectly always released the lock, leading to assertion failures
during cleanup if there were pending deferred packets.

MFC after:      1 week
Sponsored by:   Orange Business Services
639e65144aa71cb03b5431861803f528308760dc Kristof Provost 2025-12-01 21:30:56

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

netinet: Remove left-over sys/cdefs.h
These were for $FreeBSD$ that was removed a while ago, but these
includes didn't get swept up in that. Remove them all now.

Sponsored by:           Netflix
MFC After:              2 weeks
7b71f57f4e514a2ab7308ce4147e14d90e099ad0 Warner Losh 2025-12-03 05:02:10

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

divert: Use CK_SLISTs for the divcb hash table
The hash table is accessed in ip_divert_packet(), and there the accesses
are synchronized only by the net epoch, so plain SLIST is not safe.

Reviewed by:    ae
MFC after:      1 week
Sponsored by:   OPNsense
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D54011
74f7e916211acafd10af05efd893ccbac1881119 Mark Johnston 2025-12-03 13:43:04

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

Commit group #35: tcp: store flowid info in syncache
tcp: store flowid info in syncache

Now retransmissions by syncache would use correct flowid, same as
synchronous responds.

Reviewed by:            tuexen, gallatin
Differential Revision:  https://reviews.freebsd.org/D51792
73fe85e486d297c9c976095854c1c84007e543f0 Gleb Smirnoff 2025-12-03 23:15:34

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


6f4debc004c31a2bd846757859e67855ab3d4c8d Gleb Smirnoff 2025-12-06 16:32:08

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

tcp: don't set flowid in tcp_input()
With dd0e6bb996dc setting it always on connect(2) and syncache always
picking up the flowid from the incoming packet, any ESTABLISHED connection
shall have the flowid already set.

Reviewed by:            tuexen, gallatin
Differential Revision:  https://reviews.freebsd.org/D53886
ee18f8be21655c2d98c1c1bd4e081c366fa91c9a Gleb Smirnoff 2025-12-03 23:15:45

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

pf: make unhandled_af() inline
Otherwise you just can't include pfvar.h without compiling pf in.

Reviewed by:            kp
Differential Revision:  https://reviews.freebsd.org/D54064
215c58a1c677aa191db9afcc1d75d7ba13426a7f Gleb Smirnoff 2025-12-04 16:29:17

debug: classified in 03-filenames_plain1 by '['sys/net/', 'sys/netpfil/']'

net: routing table attach never fails
c7f05ef8247878c6cd565a71039ec49f202c22fd Gleb Smirnoff 2025-12-04 19:12:03

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

pf: convert DIOCRGETASTATS to netlink
Sponsored by: Rubicon Communications, LLC ("Netgate")
08f54dfca1970b1e014c99c7f8fc806b949267af Kristof Provost 2025-12-04 14:27:27

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

tcp: retire do_newsack - always adhere to RFC6675 SACK
Depreciation notice for net.inet.tcp.newsack is in 15.0.
Remove this tunable for HEAD, streamlining the code slightly.

Reviewed by:    tuexen, cc, nickbanks_netflix.com, #transport
Sponsored by:   NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D54072
9155d4b273ffc07e81e2cb0bcedfac570d14a303 Richard Scheffenegger 2025-12-05 11:29:15

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

netinet6: use IF_ADDR_LOCK instead of IF_AFDATA_LOCK
It is not clear what exactly this function is locking against.  Seems
like just use some generic interface lock.  The IF_AFDATA_LOCK goes
away soon together with if_afdata[], so put at least something in its
place.
59062fd0b2f1a159a94f97cd05a76f66eb40837c Gleb Smirnoff 2025-12-05 16:29:00

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

netinet6: use IF_ADDR_LOCK instead of IF_AFDATA_LOCK in defrtr_ipv6_only_ifp
It is not clear what exactly this function is locking against.  Seems
like just use some generic interface lock.  The IF_AFDATA_LOCK goes
away soon together with if_afdata[], so put at least something in its
place.  Note that this code is dead anyway (#ifdef EXPERIMENTAL).
8291ea8761c2d686d43f14c08ec0e644673b28f3 Gleb Smirnoff 2025-12-05 16:29:00

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

pf: Fix an off-by-one in pf_handle_getcreators()
Reviewed by:  kp
Reported by:    Kevin Day <kevin@your.org>
MFC after:      1 week
Fixes:          https://cgit.freebsd.org/src/commit/?id=a7191e5d7b62 ("pf: add a way to list creator ids")
Differential Revision:  https://reviews.freebsd.org/D54083
0795e9b53cf5be68955b49dce87f4800fdfd4a89 Mark Johnston 2025-12-05 21:36:02

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

pf: Fix error handling in pf_handle_get_tstats()
- pfr_table_count() can return an error.
- We must check for failure from mallocarray(M_NOWAIT).

Fixes:          https://cgit.freebsd.org/src/commit/?id=9e8d2962aad3 ("pf: convert DIOCRGETTSTATS to netlink")
Reported by:    Kevin Day <kevin@your.org>
Reviewed by:    kp
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54094
0f0662c6b4cc611d6e400f823656f908ffce5c04 Mark Johnston 2025-12-08 14:09:02

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

ipfilter: Restrict ipfilter within a jail
Add a sysctl/tunable (net.inet.ipf.jail_allowed) to control whether a
jail can manage its own ipfilter rules, pools, and settings. A jail's
control over its own ipfilter rules and settings may not be desireable.
The default is jail access to ipfilter is denied.

The host system can stil manage a jail's rules by attaching the rules,
using the on keyword, limiting the rule to the jail's interface. Or
the sysctl/tunable can be enabled to allow a jail control over its own
ipfilter rules and settings.

Implementation note: Rather than store the jail_allowed variable,
referenced by sysctl(9), in a global area, storing the variable in the
ipfilter softc is consistent with ipfilter's use of its softc.

Discussed with:         emaste, jrm
MFC after:              1 week
Differential revision:  https://reviews.freebsd.org/D53623
d9788eabffa4b67fc534685fc3d9b8e3334af196 Cy Schubert 2025-10-29 18:29:39

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

ipfilter: Disable ipfs(8) by default
At the moment ipfs(8) is a tool that can be easily abused. Though the
concept is sound the implementation needs some work.

ipfs(8) should be considered experimental at the moment.

This commit also makes ipfs support in the kernel optional.

Reviewed by:            emaste, glebius
MFC after:              1 week
Differential revision:  https://reviews.freebsd.org/D53787
0ff0c19e7f70bc4d3f98196a8ad43de635cf13e5 Cy Schubert 2025-11-16 07:39:19

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

lltable: use own lock
Add struct mtx to struct lltable and stop using IF_AFDATA_LOCK, that
was created for a completely different purpose.  No functional change
intended.

Reviewed by:            zlei, melifaro
Differential Revision:  https://reviews.freebsd.org/D54086
b986aa05a84db8d942e58ac9d0ce3df43b68fdcb Gleb Smirnoff 2025-12-08 17:20:56

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

if_ovpn: use epoch to free peers
Avoid a possible use-after-free in the rx path.
ovpn_decrypt_rx_cb() calls ovpn_finish_rx() which releases the lock,
but continues to use the peer.
Ensure that the peer cannot be freed until we're sure all potential
users have stopped using it (i.e. have left net_epoch).

Reported by:    Kevin Day <kevin@your.org>
MFC after:      1 week
Sponsored by:   Rubicon Communications, LLC ("Netgate")
5e2bbfe387f7eac8f802c4b6ad2114f0e17bb5f2 Kristof Provost 2025-12-09 10:55:30

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

netlink: Don't overwrite existing data in a linear buffer in snl_writer
First, a bit of background on some of the data structures netlink uses
to manage data associated with a netlink connection.

- struct linear_buffer contains a single virtually-contiguous buffer
  of bytes.  Regions of this buffer are suballocated via lb_allocz()
  which uses a simple "bump" where the buffer is split into an
  allocated region at the start and a free region at the end.  Each
  allocation "bumps" the boundary (lb->offset) forward by the
  allocation size.

  Individual allocations are not freed.  Instead, the entire buffer is
  freed once all of the allocations are no longer in use.

  Linear buffers also contain an embedded link to permit chaining
  buffers together.

- snl_state contains various state for a netlink connection including
  a chain of linear buffers.  This chain of linear buffers can contain
  allocations for netlink messages as well as other ancillary data
  buffers such as socket address structures.  The chain of linear
  buffers are freed once the connection is torn down.

- snl_writer is used to construct a message written on a netlink
  connection.  It contains a single virtually-contiguous buffer
  (nw->base) allocated from the associated snl_state's linear buffer
  chain.  The buffer distinguishes between the amount of space
  reserved from the underlying allocator (nw->size) and the current
  message length actually written (nw->offset).  As new chunks of data
  (e.g. netlink attributes) are added to the write buffer, the buffer
  is grown by snl_realloc_msg_buffer by reallocating a larger buffer
  from the associated snl_state and copying over the current message
  data to the new buffer.

Commit 0c511bafdd5b309505c13c8dc7c6816686d1e103 aimed to fix two bugs
in snl_realloc_msg_buffer.

The first bug is that snl_realloc_msg_buffer originally failed to
update nw->size after growing the buffer which could result in
spurious re-allocations when growing in the future.  It also probably
could eventually lead to overflowing the buffer since each
reallocation request was just adding the new bytes needed for a chunk
to the original 'nw->size' while 'nw->offset' kept growing.
Eventually the new 'nw->offset' would be larger than 'nw->size + sz'
causing routines like snl_reserve_msg_data_raw() to return an
out-of-bounds pointer.

The second change in this commit I think was trying to fix the buffer
overflows due to 'nw->size' being wrong, but instead introduced a new
set of bugs.  The second change ignored the returned pointer from
snl_allocz() and instead assumed it could use all of the
currently-allocated data in the current linear buffer.  This is only
ok if the only data in the linear buffer chain for the associated
snl_state is the snl_writer's message buffer.  If there is any other
data allocated from the snl_state, it could be earlier in the current
linear buffer, so resetting new_base to nw->ss->lb->base can result in
overwriting that other data.  The second change was also
over-allocating storage from the underlying chain of linear buffers
(e.g. a writer allocation of 256 followed by 512 would end up using
the first 512 bytes, but 768 bytes would be reserved in the underlying
linear buffer).

To fix, revert the second change keeping only the fix for 'nw->size'
being wrong.

Reviewed by:    igoro, markj
Fixes:          https://cgit.freebsd.org/src/commit/?id=0c511bafdd5b ("netlink: fix snl_writer and linear_buffer re-allocation logic")
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D54148
255af72c8059b0117db646f82efa2e4848fa7570 John Baldwin 2025-12-10 15:30:31

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

pf: handle TTL expired during nat64
If the TTL (or hop limit) expires during nat64 translation we may
need to send the error message in the original address family (i.e.
pre-translation).
We'd usually handle this in pf_route()/pf_route6(), but at that point we
have already translated the packet, making it difficult to include it in
the generated ICMP message.

Check for this case in pf_translate_af() and send icmp errors directly
from it.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291527
MFC after:      2 weeks
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D54166
ac4fb06d096d6308b9522f454b68fbfc45bb8531 Kristof Provost 2025-12-10 16:27:51

debug: classified in 03-filenames_plain1 by '['sys/net/', 'sys/netpfil/']'

krb5: Add missing symbol
Submitted by: lampa@fit.vutbr.cz
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291565
MFC after:      1 day
f825427c0ae975025e831542782d4078b063a82e Cy Schubert 2025-12-11 14:00:45

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

tpc: retire net.inet.tcp.nolocaltimewait
See c3fc0db3bc50df18a724e6e6b12ea4e060fd9255 for details.
929338d1e92ada4ff4ee2061c625fa45a1a34caf Gleb Smirnoff 2025-12-12 17:22:56

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

bpf: convert several boolean natured fields of bpf_d to flags
This shrinks the structure a bit.  Should be no functional change.

Differential Revision:  https://reviews.freebsd.org/D53870
c42bce238abd9dc36113457372e62bf14690af52 Gleb Smirnoff 2025-12-13 00:43:45

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

pfsync: Avoid zeroing the state export union
pfsync_state_export() takes a pointer to a union that is in reality a
pointer to one of the three state formats (1301, 1400, 1500), and zeros
the union.  The three formats do not have the same size, so zeroing is
wrong when the format isn't that which has the largest size.

Refactor a bit so that the zeroing happens at the layer where we know
which format we're dealing with.

Reported by:    CHERI
Reviewed by:    kp
MFC after:      1 week
Sponsored by:   CHERI Research Centre (EPSRC grant UKRI3001)
Differential Revision:  https://reviews.freebsd.org/D54163
796abca7e281f0d4b7f72f48da4f941e1c8b139c Mark Johnston 2025-12-14 15:48:27

debug: classified in 03-filenames_plain1 by '['sys/net/', 'sys/netpfil/']'

pf: fix min-ttl and set-tos for nat64
If we have both af-to and min-ttl or set-tos on a single rule we didn't
apply the new ttl or tos.

That's because the scrub code still applied the change, but we
subsequently create a new header for the new address family. That's done
based on the ttl/tos saved in the struct pf_pdesc, which are the values
from the incoming packet, before the scrub modification(s).

Also update the struct pf_pdesc values when we update packets.

Reported by:    Marek Zarychta
Sponsored by:   Rubicon Communications, LLC ("Netgate")
cdbc9b76ff4901816b5ebdca5d0b7e9947a015cb Kristof Provost 2025-12-15 14:26:57

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

if_clone: don't overwrite dump_nl of an attaching cloner with default
Reviewed by:          glebius
Differential Revision:  https://reviews.freebsd.org/D54190
ac6a7f62166878038b9f8bd38a3fb1ff99ee8918 Seyed Pouria Mousavizadeh Tehrani 2025-12-15 16:53:47

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

lacp: Sort port map by interface index
This makes it easier to reason about system topology, and to
potentially map applications to NIC queues by (ab)using the
mbuf flowid to select egress NIC and queue in a predictable fashion.

Differential Revision: https://reviews.freebsd.org/D54053
Reviewed by: glebius, kbowling
Sponsored by: Netflix
7ff3b13f12d97b7f67f09ecb9141e6dbaa1ad007 Andrew Gallatin 2025-12-15 16:52:48

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

System administration

Stuff in man section 8 (other than networking).

bsdinstall/pkgbase: Restore the kernel-dbg component
Commit 561dc357c2f5 changed the way we handle components in the prompt,
and accidentally resulted in the kernel-dbg component not being listed
since we now hide all components ending in "-dbg".

Add an exception for kernel-dbg to bring it back.

Fixes:  https://cgit.freebsd.org/src/commit/?id=561dc357c2f5 ("bsdinstall: Use package sets for pkgbase install")
MFC after:      3 seconds
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52826
ed6716207debca81c37a1399ecf1d799be0e688d Lexi Winter 2025-10-02 01:13:56

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

Commit group #36: rc: Teach netwait to wait for DAD
rc: Teach netwait to wait for DAD

In some configurations, especially in jails, it is possible for the
system to boot so fast that we end up launching daemons while duplicate
address detection is still ongoing.  If that happens, said daemons may
fail to bind to IPv6 addresses, as they are still tentative.  Teach the
netwait service to wait (up to 10 seconds, by default) for the tentative
flag to vanish.

MFC after:      1 week
Reviewed by:    olce
Differential Revision:  https://reviews.freebsd.org/D51889
5ead817c3b7af6d6b5fea222ab144db2c3167b22 Dag-Erling Smørgrav 2025-10-02 09:28:05

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


rc: Improve netwait DAD logic

Disable if IPv6 is not supported, and instead of 10 seconds, default to
one more than the value of net.inet6.ip6.dad_count.

Fixes:          https://cgit.freebsd.org/src/commit/?id=5ead817c3b7a ("rc: Teach netwait to wait for DAD")
Reviewed by:    bz
Differential Revision:  https://reviews.freebsd.org/D52905
ec6ad605ecea5c4a76d2e744df0265cc3f3a01b9 Dag-Erling Smørgrav 2025-10-05 18:40:39

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

ipfilter ippool: Flag deleted entries with "#"
List deleted entries prefixed by "#". This is consistent with other
ippool list functions.

Fixes:          https://cgit.freebsd.org/src/commit/?id=7531c434a593
MFC after:      1 week
94758e72fdbd6b218e79884e22347eb357a7e51d Cy Schubert 2022-11-02 05:28:19

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

ipfilter ippool: Prefix deleted entries with "#"
To maintain consistency with ippool list functions, prefix deleted
entries with "#".

MFC after:      1 week
f3ff6abb9d816a68e65af5ed55552d152a58b5e4 Cy Schubert 2022-11-02 05:34:54

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

ipfilter/ippool: Dump a copy of ippool hash data in "new" format
As with 7531c434a593, which dumped ippool table data in the "new"
format, print hash data in the "new" format.

MFC after:      1 week
2f30b43fa269bc63086b0428f45c79e982abb02f Cy Schubert 2022-11-02 05:46:41

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

ipfilter/ippool: Dump a copy of ippool dstlist data in "new" format
As with 7531c434a593, which dumped ippool table data in the "new"
format, print dstlist data in the "new" format.

MFC after:      1 week
eee36ffa0d874f1c8aca912f7c2a8eba34509927 Cy Schubert 2023-03-01 03:18:07

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

bsdinstall: Improve pkgbase handling for jails
Add a new --jail option to the pkgbase script which installs
jail-specific set variants if they exist:

* "minimal" is replaced with "minimal-jail"

* A kernel is not installed.

* For sets shown in the component selection dialogue, only show the
  appropriate variant (jail or non-jail) for the target.

Modify the jail script to pass --jail to the pkgbase script.

Remove the redundant --no-kernel option, which was added in 15.0 and
was only used to install jails.

MFC after:      3000ms
Reviewed by:    ifreund_freebsdfoundation.org
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52829
8d0a90512ee35064697fbeffd0886eba4c82eb8d Lexi Winter 2025-10-03 21:36:30

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

acpidump: quiet GCC -Wmaybe-uninitialized
Reviewed by:  kib
daf4da4d09718980d96fa41a8f420cc0e0bf1bd8 Ryan Libby 2025-10-03 22:48:28

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

flua: support our flua modules in the bootstrap flua
This version builds every module into the flua binary itself, since all
of the bootstrap tools are built -DNO_SHARED.  As a result, we also
cannot dlsym(), so we can't really discover the names of our newly
builtin modules.  Instead, just build out a linker set with all of our
luaopen_*() functions to register everything up-front.

Building in all of the modules isn't strictly necessary, but it means
that we have an example of how to add a bootstrap module everywhere you
go and one doesn't need to consider whether bootstrap flua can use a
module when writing scripts.  On my build machine, the consequence on
our binary size is an increase from around 1.6M -> 1.9M, which isn't
really that bad.

.lua modules can install into their usual path below $WORLDTMP/legacy
and we'll pick them up automagically by way of the ctor that sets up
LUA_PATH early on.

This re-lands bootstrap module support with a more sensible subset, and
after having verified that it cross-builds fine on macOS and Linux -- we
cannot do libfreebsd on !FreeBSD because it's more system header
dependant.  We also need to bootstrap libmd to bring in libhash, and
libucl + libyaml.

Reviewed by:    bapt, emaste (both previous version)
Differential Revision:  https://reviews.freebsd.org/D51890
151bd3516b541823b16793460d73916e63d2b9c1 Kyle Evans 2025-10-04 02:16:51

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

Commit group #37: flua: kick out the remaining builtin modules
flua: kick out the remaining builtin modules

Bootstrap flua has some magic now to handle modules by building them in
and discovering them via linker sets.  This is slightly cleaner than
always building them in and baking them into loadedlibs for both
bootstrap and system flua.

Adjust the stand build now that these three libs have their own new
homes.

Reviewed by:    bapt, emaste
Differential Revision:  https://reviews.freebsd.org/D51891
b11a5709ec2b61fefb03bfdd38e2f06d2c1107c1 Kyle Evans 2025-10-04 02:16:51

debug: classified in 03-filenames_plain1 by '['libexec/', 'stand/']'


flua: move lposix back into flua for now

The real luaposix is structured differently, and our builtin version
tends to model that in its own special way.  Build it back in until we
get the shlib model just right to unbreak nuageinit, among other things.

This is a partial revert of the below-referenced commit; the other two
modules are simple, though, and were accurately split out.

Reported by:    markj
Fixes:  https://cgit.freebsd.org/src/commit/?id=b11a5709ec2b6 ("flua: kick out the remaining builtin modules")
9c7db0931d486ce800aa71d9f41abfad9f7f691f Kyle Evans 2025-10-04 13:57:59

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


nuageinit: require lfs where it's needed

nuageinit largely already did this, but one spot was missed -- add the
necessary require() in to get the module loaded.

Fixes:  https://cgit.freebsd.org/src/commit/?id=b11a5709ec2b6 ("flua: kick out the remaining builtin modules")
bb4167463ac44b47ded4e0223a0abd8381ca6cd8 Kyle Evans 2025-10-04 13:58:00

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


flua: unbreak the build

Local tree pollution let this escape.  *sigh*.

Pointy hat:     kevans
Pointy hat:     kevans
Pointy hat:     kevans
Fixes:  https://cgit.freebsd.org/src/commit/?id=9c7db0931d486ce ("flua: move lposix back into flua for now")
d505ef08ffbe3b7383fbc6ed30121de9256ac18e Kyle Evans 2025-10-04 15:01:40

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

Commit group #38: heimdal-kadmin: Add support for the -f dump option
heimdal-kadmin: Add support for the -f dump option

The "-f" dump option allows a dump of the Heimdal
KDC in a format that the MIT kdb5_util command can
load into a MIT KDC's database.
This makes transitioning from the Heimdal KDC to
the current MIT one feasible without having to
re-create the KDC database from scratch.

glebius@ did the initial work, cherry picking these
commits from the Heimdal sources on github and then doing
extensive merge conflict resolution and other fixes so
that it would build.
Heimdal commit fca5399 authored by Nico Williams:
Initial commit for second approach for multiple kvno.  NOT TESTED!

Heimdal commit 57f1545 authored by Nico Williams:
Add support for writing to KDB and dumping HDB to MIT KDB dump format
    Before this change Heimdal could read KDBs.  Now it can write to
    them too.

    Heimdal can now also dump HDBs (including KDBs) in MIT format,
    which can then be imported with kdb5_util load.

    This is intended to help in migrations from MIT to Heimdal by
    allowing migrations from Heimdal to MIT so that it is possible
    to rollback from Heimdal to MIT should there be any issues.  The
    idea is to allow a) running Heimdal kdc/kadmind with a KDB, or
    b) running Heimdal with an HDB converted from a KDB and then
    rollback by dumping the HDB and loading a KDB.

    Note that not all TL data types are supported, only two: last
    password change and modify-by.  This is the minimum necessary.
    PKINIT users may need to add support for KRB5_TL_USER_CERTIFICATE,
    and for databases with K/M history we may need to add KRB5_TL_MKVNO
    support.

This resulted in a Heimdal kadmin that would dump
the KDC database in MIT format.  However, there
were issues when this dump was loaded into the
current MIT KDC in FreeBSD current/15.0.

The changes I did to make the dump more useful are listed below:
When "-f MIT" is used for "kadmin -l dump" it writes
the dump out in MIT format.  This dump format is understood
by the MIT kdb5_util command.  The patch modifies the above
so that the MIT KDC's master key keytab file can be provided
as the argument to "-f" so that the principals are re-encrypted in
it. This allows any principal with at least one strong encryption
type key to work without needing a change_password.
The strong encryption types supported by the Heimdal KDC are:
aes256-cts-hmac-sha1-96
aes128-cts-hmac-sha1-96

The issues my changes address are:
- If there are weak encryption keys in a principal's entry,
  MIT's kadmin.local will report that the principcal's entry
  is incomplete or corrupted.
- The keys are encrypted in Heimdal's master key.  The
  "-d" option can be used on the "kadmin -l dump" to
  de-encrypt them, but the passwords will not work on the
  current MIT KDC.

To try and deal with the above issues, this patch modied the above to:
- Does not dump the weak keys.
- Re-encrypts the strong keys in MIT's master key if the argument
  to "-f" is actually a filename which holds the MIT KDC's
  master key keytab and not "MIT".
- For principals that only have weak keys, it generates
  a fake strong key. This key will not work on the MIT
  KDC, but the principal entry will work once a
  change_password is done to it.
- It always generates a "modified_by" entry, faking one if
  not already present in the Heimdal KDC database.
  This was necessary, since the MIT kadmin will
  report that the principal entry is "incomplete or
  corrupted" without one.

It also fixed a problem where "get principal" no longer
worked after the initial patch was applied.

A man page update will be done as a separate commit.

I believe this commit is acceptable since the Heimdal
sources are now essentially deprecated in favor of the
MIT sources and that this new "-f" patch simplifies
the transition to the MIT KDC.

Discussed with: glebius, cy
MFC after:      3 days
5000d023a446b81f6d45ed59aa379607ec814f01 Rick Macklem 2025-10-05 16:18:35

debug: classified in 05-summary-prefix by 'heimdal-kadmin:'


kadmin.8: Document the new dump -f flag

Commit 5000d023a446 added a new flag to the dump option.

This patch documents this new flag.

This is a content change.

MFC after: 3 days
Fixes:  https://cgit.freebsd.org/src/commit/?id=5000d023a446 ("heimdal-kadmin: Add support for the -f dump option")
03da141d59ae1da4e66974c466e2cb26f296e6df Rick Macklem 2025-10-05 21:06:26

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

debug: moved to admin because 'Need to be grouped with 5000d023a446b81f6d45ed59aa379607ec814f01'

pfctl: store correct ticket type
When loading a new rule only persist the ticket if we're actually looking at a
filter rule. We need that ticket type later if we have to create tables, but we
need the ticket for the correct ruleset.

Fixes:  https://cgit.freebsd.org/src/commit/?id=9dfc5e03da50 ("pfctl: allow tables to be defined inside anchors")
Reported by:    Florian Smeets <flo@smeets.xyz>
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
8fecb09bc58ea39833b57c88637036124d71e0ce Kristof Provost 2025-10-06 09:45:59

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

pfctl: check if the anchor exists before we attempt to flush anything from it
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289994
Sponsored by:   Rubicon Communications, LLC ("Netgate")
b476593519e98c11752a207e7cb121fba5c1961b Kristof Provost 2025-10-06 15:57:44

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

libsa: smbios: Detect less-than-64-bit platforms via __SIZEOF_SIZE_T__
What we really want here is to know if pointers can refer to 64-bit
addresses, regardless of whether they also hold other information (such
as capabilities in CHERI).  __SIZEOF_SIZE_T__ is probably the closest
indication to that piece of information, so let's use it.  __ILP32__
wasn't wrong in practice though, as we don't support 32-bit CHERI
hardware (and likely never will).

Consistently with this change, test whether we can actually address the
64-bit SMBIOS's structure table by converting the end address to
'size_t' and checking whether its value is preserved.

Suggested by:   jhb (for the __ILP32__ => __SIZEOF_SIZE_T__ part)
Reviewed by:    jhb, imp
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D49318
d3bfcd66409befc2d545e5449963b41c25c369a9 Olivier Certner 2025-03-11 16:56:20

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

Commit group #39: krb5: create the KDC database directory
krb5: create the KDC database directory

Reviewed by:            rmacklem, cy
Differential Revision:  https://reviews.freebsd.org/D52970
e7e7bf757acef3d4e41a6e22f7d04b3df08834cc Gleb Smirnoff 2025-10-07 21:50:07

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


etc/mtree: Add package tags for Kerberos directories

Fixes:          https://cgit.freebsd.org/src/commit/?id=e7e7bf757ace ("krb5: create the KDC database directory")
MFC after:      3 seconds
Reviewed by:    cy
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52975
6235ee2848df583d600a7b5d7cc284a5b32c7be7 Lexi Winter 2025-10-10 05:28:14

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

BSD.root.dist: Add package tag for all directories
This fixes some missing directories, notably /boot/modules.  Other
directories are not missing because they contain other files, but
they should still have their own METALOG entries and be placed in
the correct package.

MFC after:      3 days
Reported by:    bdrewery
Reviewed by:    cperciva, imp
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52958
fa6d67cd16b50a7a0be1f003cf1aa1f4064fc2c9 Lexi Winter 2025-10-08 05:49:47

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

rcorder: Fix grammar in warning about loops
MFC after:    1 week
Reviewed by:    ae
Differential Revision:  https://reviews.freebsd.org/D52951
d96f9a4688668ececc09c61dcf6b539a55112cc0 Dag-Erling Smørgrav 2025-10-08 10:07:01

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

pw: pw_mkdb(3) does not set errno
MFC after:    1 week
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
b464c7a75e30e6149906458075b7eaf0841c7222 Mark Johnston 2025-10-08 12:47:15

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

rc: Update dependencies for zpool scripts
After commit 900bc0206348, zpool depends on mountcritlocal.  zpoolreguid
and zpoolupgrade depend on zpool and want to run before mountcritcycle,
so we have a pair of cycles.

Update zpoolreguid and zpoolupgrade to avoid this.

Reviewed by:    des
MFC after:      3 days
Fixes:  https://cgit.freebsd.org/src/commit/?id=900bc0206348 ("rc.d/zpool: change mountcritlocal dep from BEFORE to REQUIRE")
Differential Revision:  https://reviews.freebsd.org/D52953
ae6db60ff56de5b93de9f6fee6116cbc2d4b498e Mark Johnston 2025-10-08 12:50:54

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

rc tests: Add a test to check for warnings from rcorder
Reviewed by:  des
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D52954
04d47c7cde54cc325cca3f47113976f5500dc58f Mark Johnston 2025-10-08 12:51:16

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

Commit group #40: nfsuserd: Fix OOB access on membership of too many groups
nfsuserd: Fix OOB access on membership of too many groups

getgrouplist() sets the variable containing the allocated length in
input to the full effective group list length, not the number of slots
that were actually filled in case the passed array is too small to
contain it.

While here, on this condition, improve the error message by outputting
the corresponding user name.

MFC after:      1 hour
Fixes:          https://cgit.freebsd.org/src/commit/?id=e6c623c86ab4 ("Add support for the "-manage-gids" option to the nfsuserd daemon.")
Sponsored by:   The FreeBSD Foundation
bb339adfb2a26c5bb71cd4275dff80f615534ab6 Olivier Certner 2025-10-09 09:19:37

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


nfsuserd: Fix OOB access on membership of too many groups, take 2

Forgot to reset 'ngroup' after one of the calls to getgrouplist() in the
previous commit with same title (referenced also below).

MFC after:      1 hour
Fixes:          https://cgit.freebsd.org/src/commit/?id=e6c623c86ab4 ("Add support for the "-manage-gids" option to the nfsuserd daemon.")
Fixes:          https://cgit.freebsd.org/src/commit/?id=bb339adfb2a2 ("nfsuserd: Fix OOB access on membership of too many groups")
Sponsored by:   The FreeBSD Foundation
75eb6846269bb9bec1eaf4f0ad93d7525715b550 Olivier Certner 2025-10-09 17:03:11

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

acpidump: quiet gcc -Wstrict-aliasing
Appease GCC.

Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D52941
e474fdfde604372000fc6bc4f7197b1e7c904597 Ryan Libby 2025-10-09 19:29:37

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

virtual_oss: Clean up rcorder
sndiod is part of audio/sndio, so we should avoid referencing a port
utility from base.

We should also require NETWORKING for the service to start, since
virtual_oss can be configured to send audio through the network.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 day
Reviewed by:    des, markj, emaste
Differential Revision:  https://reviews.freebsd.org/D53019
188ddc15e5460b3abfb2ad5492557911465bedc1 Christos Margiolis 2025-10-10 13:07:23

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

rpc.tlsservd.c: Pin max threads at 1 for now
PR#289734 reports a crash in tcp_use_close() when the rpc.tlsservd
daemon is being used.  Although I have no, as yet, had time to track
down/fix the race, it turns out setting rpctls_maxthreads to 1
avoids the problem.

This patch pins rpctls_maxthreads to 1 to avoid the problem,
until there is a proper fix.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289734
MFC after:      3 days
7a289fe3cd5c6de7ddbe394b7700b20b0bafdb3e Rick Macklem 2025-10-10 23:29:25

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

bsdinstall: Tweak pkgbase/dist set labels
Have the button labels refer to the artifact type directly (distribution
sets / packages), and use "Tech Preview" as packaged base is no longer
experimental.

Reviewed by:    ivy, cperciva
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52999
abd9424590ba37ac10e92723ad6428f0448024c1 Ed Maste 2025-10-09 17:01:36

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

fwget: pci: mediatek: correct package name
The port is called wifi-firmware-mt76-kmod not "mediatek" in the
moddle.

Reported by:    Lars Tunkrans (drsnx60 gmail.com)
MFC after:      3 days
Reviewed by:    emaste, jrm, imp
Differential Revision: https://reviews.freebsd.org/D53067
10d88a7aa670a3cc2bf763e64bd292b4caa3a811 Bjoern A. Zeeb 2025-10-13 13:15:58

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

Add --libxo support for geom status and list sub commands.
Submitted-by: Johan Söllvander
MFC-after:    1 week
Differential Revision: https://reviews.freebsd.org/D37615
0d4642a67e59f8da5e00a05001c342bdad2a806f Kirk McKusick 2025-10-13 21:15:05

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

ipfw: do not use errno value for error reporting
table_do_modify_record() already uses errno value on error.
Also this fixes problem when `ipfw table add` returns ENOTTY that
is unrelated to operation.

Tested by:      dhw
Fixes:          https://cgit.freebsd.org/src/commit/?id=09025a714708
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53050
dfd822b1f0846bdaa9a14457346f7431a86d3a64 Boris Lytochkin 2025-10-14 08:02:20

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

fsck_ffs: garbage collect calcsb
calcsb is unused since the logic moved to sbsearch / ffs_sbsearch in
e68866164212 ("Move the ability to search for alternate UFS superblocks
from fsck_ffs(8) into ffs_sbsearch() to allow use by other parts of the
system.")

Reviewed by:    mckusick
Differential Revision:  https://reviews.freebsd.org/D53038
b679303544b37b980a3128af9248ee97b0bca5e8 Ryan Libby 2025-10-15 04:03:57

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

bsdinstall: Limit default swap to maximum supported by kernel
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=251993
Reviewed by:    cperciva
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53106
52f9722e6ffff6fee309e6040b7b5313499a03ef Ed Maste 2023-03-06 20:24:05

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

vmrun.sh: Don't require firmware on amd64 unless -E was specified
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290232
Reported by:    David Marker <dave@freedave.net>
Fixes:          https://cgit.freebsd.org/src/commit/?id=aa34b1d20e44 ("vmrun.sh: Add arm64 support")
MFC after:      3 days
f19f17b3af675fbbc1244b66bbd8fb4a9836cb02 Mark Johnston 2025-10-16 14:48:39

debug: classified in 03-filenames_plain1 by 'share/examples/bhyve/'

nanobsd: rescue: Update legacy sysctls
Reviewed by:  emaste
MFC after:      1 hour
Differential Revision:  https://reviews.freebsd.org/D34598
93ee9bb424619f0189b3454380588c955222b89b Jose Luis Duran 2025-10-16 17:13:49

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

Update commit 0d4642a to fix failed tests.
Tests that fail are in
/root/.kyua/store/results.usr_tests_sys_geom_class_multipath.20251015-085403-959737.db

Submitted-by: Johan Söllvander
MFC-after:    1 week
Differential Revision: https://reviews.freebsd.org/D53110
2168e15ee89b4206d8e65a4ea04e4721f60f4060 Kirk McKusick 2025-10-16 20:27:40

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

arp: fix adding proxy entries for P2P interfaces
The old rtsock implementation used in-kernel workaround to do so.
When route to specified destination address used P2P interface, the
kernel did the search with ifa_ifwithnet() for most suitable network
and then add proxy entry to this interface.

Use similar approach with netlink implementation. We already have
get_ether_addr() function that does almost the same thing as
ifa_ifwithnet(). Use it when we find that destination route uses
P2P interface and then try to guess suitable interface. This should
fix the use of netlink-based arp(8) in mpd5.

Rename get_ether_addr() to get_ifinfo(), since now it is used to find
only ifindex in case when hwaddr is specified by user.
Also make set_nl() and delete_nl() prototype similar to rtsock.
And allow '-i' to be used with '-S', since we already allow the same
for '-s'.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290221
Reported by:    eugen
Reviewed by:    eugen
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53113
c26d6bf9da013e839d9a696746ea1741569e619e Andrey V. Elsukov 2025-10-17 07:53:35

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

Commit group #41: quot
quot: Fix benign buffer overflow

If it encounters an inode whose owner does not have a pw entry, quot
allocates a 7-byte buffer (8 in practice, since that is the minimum
allocation size) and uses it to store the numeric uid preceded by a
hash character.  This will overflow the allocated buffer if the UID
exceeds 6 decimal digits.  Avoid this by using asprintf() instead.

While here, simplify the common case as well using strdup().

Reported by:    Igor Gabriel Sousa e Souza <igor@bsdtrust.com>
MFC after:      3 days
Reviewed by:    obiwac, emaste
Differential Revision:  https://reviews.freebsd.org/D53129
5854d1cbab1073d78519e7ad9a6eb5726341d587 Dag-Erling Smørgrav 2025-10-17 11:54:48

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


quot: Clean up

* Fix numerous style violations.
* Modernize somewhat.
* Don't bother examining errno after calling get_inode(), as it always
  exits on error.
* Fix confusing wording in the manual page.

The code remains somewhat idiosyncratic, e.g. in its insistance on
counting down rather than up in simple for loops, but in the absence
of comprehensive automated tests, the risk of introducing bugs exceeds
the benefit of rewriting these into more idiomatic forms.

Reviewed by:    obiwac
Differential Revision:  https://reviews.freebsd.org/D53130
195b00ec45e55c38da13d1bcd2d7eb6614abec59 Dag-Erling Smørgrav 2025-10-17 11:54:59

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


quot: Drop the COMPAT version

We've had this code for 30 years, but there has never been a way to
build it.  We have no idea if it still works, or if it ever worked.

Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53131
0eaca4a24b97c02685532f86c121a4cf415942c5 Dag-Erling Smørgrav 2025-10-17 11:55:03

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


quot: Drop the -h option

There was probably a time, more than 30 years ago, when the actual
size of a file had to be calculated and this option saved time, but
all it does today is give incorrect results for no benefit.

Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53132
8209311c51d34c81edec8d09778201cb6e67c6a5 Dag-Erling Smørgrav 2025-10-17 11:55:07

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

devd/snd.conf: Note that any command can be used for the action
Sponsored by: The FreeBSD Foundation
MFC after:      1 day
Differential Revision:  https://reviews.freebsd.org/D53175
56eee778325b2c839cfbc86a7fec4a355c51ba58 Christos Margiolis 2025-10-18 13:17:38

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

virtual_oss(8): Retire unused utils.h
Sponsored by: The FreeBSD Foundation
MFC after:      1 day
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53174
30a873ee3739dfd44b233907534ec1c33c21b78a Christos Margiolis 2025-10-18 13:17:43

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

rc: dmesg: Allow umask to be configurable
Allow umask to be configurable.

Being able to set the umask via an rc variable is useful when setting:

    security.bsd.unprivileged_read_msgbuf=0

As it allows a user to configure:

    dmesg_umask="066"

Without modifying the rc script, and preventing the contents of the
$dmesg_file (/var/run/dmesg.boot) from being publicly readable.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272552
Reviewed by:    netchild
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53169
edadbc6ee95570627679f3bc14a1d5476d0ce339 Jose Luis Duran 2025-10-17 14:34:55

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

geom: fix glabel status not showing components
Also fix some typos and move a couple NULL checks earlier.

Reviewed by:    mckusick, Johan Söllvander, markj, kevans, adrian
Fixes:          https://cgit.freebsd.org/src/commit/?id=0d4642a67e59f8da5e00a05001c342bdad2a806f
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53180
2f461ddd784b4abdb7f88701d20fc45f658c42f5 Brad Davis 2025-10-18 00:31:12

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

quot: Make nusers unsigned
Fixes:                https://cgit.freebsd.org/src/commit/?id=195b00ec45e5 ("quot: Clean up")
Reviewed by:    rlibby
Differential Revision:  https://reviews.freebsd.org/D53224
fa347930f89d4f9d1956573c3bd4b5987127bc12 Dag-Erling Smørgrav 2025-10-20 21:41:53

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

rc: Chase 052211e08c0e and bfb202c4554a, remove ifconfig down/up
bfb202c4554a addresses the CTRL-EVENT-SCAN-FAILED. Upstream d807e289d
caused FreeBSD regression in driver_bsd.c, which this rc.d patch
worked around. As of bfb202c4554a this workaround is no longer needed.

052211e08c0e implemented this change for wpa_supplicant but not for
hostapd.

Reported by:    avg
MFC after:      3 days
05637c82243e681b5db5d7e9829e699515456524 Cy Schubert 2025-10-21 17:28:39

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

sndctl(8): Modify vchans only on supported directions
Currently mod_play_vchans() and mod_rec_vchans() run unconditionally,
even if the direction (playback, recording) is not supported by the
device. This results in the "autoconv" (see mod_autoconv()) control
failing when run on simplex devices, because we'll be trying to modify
vchans on an unsupported direction.

Test whether the direction is supported and silently move on if it
isn't.

Sponsored by:   The FreeBSD Foundation
MFC after:      4 days
Differential Revision:  https://reviews.freebsd.org/D53233
70b34fbdbea13c006a724844caa53f59e0e53bd0 Christos Margiolis 2025-10-22 11:50:55

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

bsdinstall: jail: Fix DISTMENU items
The menu was incorrectly using the fourth column (distname) instead of
the first (dist) of the MANIFEST.

The actual file name is on the first column of the MANIFEST file.
Remove the .txz part of the name to build the menu options.

Reviewed by:    jamie
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D53177
74921426d552f7491c61684465f964b446379dac Jose Luis Duran 2025-10-22 18:21:04

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

ipfw: Update warning/error setsockopt references
Dummynet v3 switched to IP_DUMMYNET3 but did not update these
warnings/errors.

Fixes: https://cgit.freebsd.org/src/commit/?id=cc4d3c30ea28 ("Bring in the most recent version of ipfw and dummynet, developed")
Sponsored by:   The FreeBSD Foundation
Differential Revision: sbin/ipfw/ipfw2.c
1f95a517880bae5fc0a9fe4463a8f2ec36ed734a Ed Maste 2025-10-24 20:05:30

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

ipfw: Remove IP_DUMMYNET_GET case
IP_DUMMYNET_GET is no longer used in ipfw(1).

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53348
28e52dea96809c7904e498759ee1f79bda929a82 Ed Maste 2025-10-24 20:51:25

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

bhyve: add support for ng_device network backend
Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr>

Reviewed by:    markj
MFC after:      1 month
Sponsored by:   Defenso
Differential Revision:  https://reviews.freebsd.org/D52542
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1880
1aad95345237424918e5f6b18464df4dbc2aa1d8 Quentin Thébault 2025-09-12 08:39:55

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

ipfw: Correct error message
The failed allocation in the error pertains to IP_FW_XADD, not
IP_FW_ADD.

Reviewed by:    ae
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53359
498e56142660c8dd864c878e820252358c9a15cf Ed Maste 2025-10-25 22:31:38

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

blocklist: Fix rcorder(8)
The blocklist daemon depends on a packet filter in order to block.

Add all supported packet filters to the REQUIRE line, not just pf, to
indicate rcorder(8) that it should start after the packet filter service
has started.

While here, change the mode of the rc file to include the executable
bit, just like the rest of the files in the rc.d source directory.

Reviewed by:    0mp
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53364
79e374217d69a98161fc91a286dacf1f78090894 Jose Luis Duran 2025-10-27 15:46:32

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

ipfw: Remove more unused IP_FW_* cases
All of the do_cmd() calls are in dummynet.c and specify the socket
option at compile time; none of these removed cases are used in ipfw
after the v3 work.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53378
0e2e0fb955adf15a217949bc4cc337d53d2c7259 Ed Maste 2025-10-25 22:32:05

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

pfctl: Do not warn if there is no Ethernet anchor
Avoid emitting a warning if there is no Ethernet anchor.  If the anchor
--regardless of its type-- is nonexistent, should be caught earlier.

This can be misleading when there is a layer 3 anchor but not an
Ethernet anchor, giving the user the impression that there is no layer 3
anchor with that name.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280516
Approved by:    kp
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53360
99560fe98c76371d7f0807c2088c78790ca9f943 Jose Luis Duran 2025-10-26 12:38:00

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

rc.subr: Fix slow shutdown issue
Instead of sleeping after pwait returns, use its new -p option to
obtain the list of processes that still have not terminated.

MFC after:      3 days
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290357
Fixes:          https://cgit.freebsd.org/src/commit/?id=5953e7c98427 ("rc.subr: Move the sleep in wait_for_pids")
Reviewed by:    0mp, markj
Differential Revision:  https://reviews.freebsd.org/D53294
22cff1f3e9d82b48aad440c52f883bfd4995359c Dag-Erling Smørgrav 2025-10-28 11:57:03

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

bsdlabel: Bump removal to FreeBSD 16.0.
It is deprecated but was not removed prior to 15.0.

Sponsored by:   The FreeBSD Foundation
9447a4078121fd1ce961fed33dd0099040d0dac9 Ed Maste 2025-10-28 13:08:30

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

pmcstat: Remove no-op -k option
Commit 53d0b9e438bc ("pmc: Provide full path to modules from kernel
linker") made pmcstat's -k option have no effect, but the option was
retained for backwards compatibility (while emitting a warning that
-k is not in FreeBSD 15).

Reviewed by:    jrtc27
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53397
c6b156e360fc5b18ee20bae0fc0c4188c3aadea6 Ed Maste 2025-10-28 13:12:05

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

pfctl: only set limit restore handler if limits are changed
Arm restore atexit(3) handler if and only if the pf(4)
limits are being changed to prevent bogus error messages
on stderr.

OK @bluhm

Obtained from:  OpenBSD, sashan <sashan@openbsd.org>, 67a69daaf0
Sponsored by:   Rubicon Communications, LLC ("Netgate")
f17856896d329204b446e6e918e87f949a70806b Kristof Provost 2025-10-29 15:10:24

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

rc.subr set dot_dir and dot_file in dot
Files read by '.' cannot workout for themselves where they are
or what they are called, so set dot_dir and dot_file to pass
this information to them.

Reviewed by:    obrien, stevek
Differential Revision:  https://reviews.freebsd.org/D53476
a797702be077c4671e3d437d6b9ffd37f2e86277 Simon J. Gerraty 2025-10-30 18:09:13

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

cron: Use reallocarray() to prevent integer overflow
Apply OpenBSD env.c,v 1.24 and 1.25, which replaces manual size
calculations with reallocarray() to prevent possible integer
overflow.

MFC after:      3 days
40d21618382108fefa84f8576b14302f65452718 Xin LI 2025-11-03 05:59:46

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

Refinements to the --libxo support for geom status and list sub commands.
Changes based on comments in D53110: tags should be lowercase; rename a
few containers so that the JSON/XML output says "DISK" or "MULTIPATH"
(depending on class) instead of a generic "Geom"; adds {t:} to trim
extra whitespaces that sometimes appeared in the value fields of
JSON/XML output.

Submitted-by: Johan Söllvander
MFC-after:    1 week
Differential Revision: https://reviews.freebsd.org/D53313
c174f518c9c8cf3a567c5f60414508ac951a2ae4 Kirk McKusick 2025-11-03 22:54:13

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

ifconfig: Fix invalid free() in ifbridge
parse_vlans() does 's = strdup(str)', then calls strsep(&s, ...), then
attempts to free(s) at the end of the function.  For the success case,
this is fine (s is NULL, so it's a trivial memory leak), but in the
error case, we will attempt to free an invalid pointer.

Fix this by storing the original return value from strdup() and freeing
that instead.

MFC after:      3 seconds
Reported by:    David Gwynne <dlg@openbsd.org>
Reviewed by:    zlei, kevans
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53545
0899f7a3b791ed4878e7cb3859636ec980c76832 Lexi Winter 2025-11-04 00:53:25

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

Commit group #42: etc/mtree: Add package tags for /usr/include
etc/mtree: Add package tags for /usr/include

Set the default package to clibs-dev, since that's where the vast
majority of include files comes from.  Add explicit package tags
for the directories which are installed in their own package.

MFC after:      1 day
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53577
436618a427b4baaf42d8221ef07d14e3ba787d3a Lexi Winter 2025-11-04 23:45:04

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


etc/mtree/BSD.include.dist: Remove libipt-dev

This package only exists on amd64, which means on other platforms we
produce an empty package containing nothing but this directory, and
without a base package (libipt) that package fails to install due to
a missing dependency.

For now, fix this by removing the libipt-dev package tag, which moves
this directory to clibs.

Fixes: https://cgit.freebsd.org/src/commit/?id=436618a427b4 ("etc/mtree: Add package tags for /usr/include")
Reported by:    cperciva
MFC after:      3 seconds
2a8a6179eb6cef8ba1a417a4c8a1f7063c704533 Lexi Winter 2025-11-06 10:19:22

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

ipfilter: Calculate the number of elements in ipf_errors
It serves no purpose to manually manage the IPF_NUM_ERRORS count.
Calculate it instead.

Reviewed by:            emaste, markj
MFC after:              1 week
Differential revision:  https://reviews.freebsd.org/D53308
ab3c9853285b4907dac147ce2f818e3fb44df5a3 Cy Schubert 2025-10-23 02:11:20

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

stand: Teach the zfs loader about dynamic gang headers
There is a pool feature, dynamic_gang_header, that is enabled by default
in new pools.  When this feature is active, gang headers may be larger
than 512 bytes.  The loader needs to be taught to cope with that.

Try using the vdev ashift to pick the gang block header size.  If the
checksum fails, fall back to the old gang block header size.

This is based on a patch by Paul Dagnelie, with testing, bug-fixing and
some simplifications from me.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289690
Co-authored by: Paul Dagnelie <paul.dagnelie@klarasystems.com>
Reviewed by:    imp
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53578
4d6801a6b5bdd4d055a00484a743cb4ada659669 Mark Johnston 2025-11-06 16:00:50

debug: classified in 05-summary-prefix by 'stand:'

freebsd-update: Swap pkg(8) flags in check_pkgbase()
Unbootstrapped pkg will ignore -N if -r is specified first.  Flip the
order.

Prior to commit 66c75fa63aff this worked by accident.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290393
Reported by:    olgeni
MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=66c75fa63aff ("freebsd-update: Fix the pkgbase check")
645352316be6901077dc1a3ce26f41934136f412 Mark Johnston 2025-11-06 16:06:12

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

bsdinstall: Fix newfs bsddialog menu
The second and third members of struct bsddialog_menuitem are `bool on`
and `unsigned int depth`. The newfs dialog options in bsdinstall's
partition tool had these two swapped, so the default selection did not
work.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290857
Reviewed by: asiciliano
Fixes: https://cgit.freebsd.org/src/commit/?id=50e244964e9b ("bsdinstall/partedit: Replace libdialog with libbsddialog")
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53639
4e36942420712c2ab6ebc2c646e61d47b2b68e7b Ed Maste 2025-11-07 22:53:01

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

newfs_msdos: Improve error messages
- Report overly long OEM string as too long, not just "bad".

- Use warn instead of warnx for open or ftruncate failure to report the
error string.

Reviewed by:    se
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53649
dbb34d496708a37763d3d8bf6782991dee10d17e Ed Maste 2025-11-09 19:43:50

debug: classified in 03-filenames_plain1 by 'sbin/'

stand: Try to parse vdisk correctly
PR:                   https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289306
Sponsored by:           Netflix
Reviewed by:            dab
MFC After:              5 days
Differential Revision:  https://reviews.freebsd.org/D52500
d18ed8e19c3cb264340987bdc191615108d8413a Warner Losh 2025-11-11 00:41:52

debug: classified in 03-filenames_plain1 by 'stand/'

rc: virtual_oss: Use required_modules instead of load_kld
Sponsored by: The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    imp, markj, emaste
Differential Revision:  https://reviews.freebsd.org/D53616
ac2aa9e869a16b28095364b2e14683df9885ac34 Christos Margiolis 2025-11-11 12:07:36

debug: classified in 03-filenames_plain1 by 'libexec/'

virtual_oss(8): Use kldload(2) instead of system(3)
Sponsored by: The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    imp, markj, emaste
Differential Revision:  https://reviews.freebsd.org/D53617
7bedc4634d893174b9cef06c7c13e5f1cb24808b Christos Margiolis 2025-11-11 12:07:40

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

virtual_oss(8): Improve hw.snd.basename_clone handling
If we request a /dev/dsp virtual_oss(8) device, we have to replace the
sound(4) one by first disabling hw.snd.basename_clone. This sysctl tells
sound(4) to not create the /dev/dsp alias for the default device. There
are currently two issues with the way this is handled by virtual_oss(8),
however:

1. It uses system(3) instead of sysctlbyname(3).
2. It does not restore hw.snd.basename_clone to its original value, so
   if prior to virtual_oss(8) running, hw.snd.basename_clone was enabled
   (which is the case by default), and it is closed at some point,
   hw.snd.basename_clone stays disabled, which is annoying, because
   users have to manually restore it, otherwise applications that open
   the default device (i.e., most) will not work.

Fix both issues.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53621
e5c0d7020f3d040b28dc7ca0cda9926e07e5aaf4 Christos Margiolis 2025-11-11 12:07:44

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

bsdinstall: Use fat32 EFI system partition for ZFS
This is consistent with other operating systems and with bsdinstall's
UFS config and with bsdinstall's ZFS config prior to commit
0b7472b3d8d2.

Fixes: https://cgit.freebsd.org/src/commit/?id=0b7472b3d8d2 ("Mount the EFI system partition (ESP) on newly-installed systems.")
Reviewed by:    imp
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53642
4109cdf0f817162cf3032aa589dd180dfa910025 Ed Maste 2025-11-07 22:48:30

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

quot: Rewrite -n mode input parser
The existing parser was needlessly complicated and wildly inconsistent
in how it handled invalid input.  Rewrite using getline() and treat
invalid input consistently: silently ignore lines that don't begin with
a number, and print a warning if the inode number is out of range.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290992
MFC after:      1 week
Reviewed by:    obrien
Differential Revision:  https://reviews.freebsd.org/D53726
fa272a5276865a97b01823fe6546940eaaf1b164 Dag-Erling Smørgrav 2025-11-14 14:28:40

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

bsdinstall: Copy in all keys
The keys used for pkgbase signing are going to be placed in
/usr/share/keys/pkgbase-N where N is the FreeBSD major version
number; as such it's not sufficient to copy /usr/share/keys/pkg
into the install chroot, but instead we need /usr/share/keys/*.

With hat:       re
MFC after:      8 hours (needed in 15.0-RC1)
Differential Revision:  https://reviews.freebsd.org/D53753
6b0909f94099f92992fbd58eee7ce0f9289cb05e Colin Percival 2025-11-14 05:28:23

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

bsdinstall: Use pkgbase.f.o for BETA/RC/RELEASE
For BETA/RC/RELEASE builds, fetch files from the appropriate repository
on pkgbase.freebsd.org, using the appropriate signing keys.  Note that
there is a separate repository for each BETA and RC; this ensures that
someone installing from e.g. a 15.0-RC1 ISO will get 15.0-RC1 bits and
not whatever happens to be the most recent build from releng/15.0.

With hat:       re
MFC after:      8 hours (needed in 15.0-RC1)
51184e38c932b7acedfc26fef3a0aad4c04f8959 Colin Percival 2025-11-15 03:04:51

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

bsdinstall: Don't install FreeBSD-base.conf
When installing e.g. 15.0-RC1, we want to get files from the 15.0-RC1
pkgbase repository; but running 'pkg upgrade' after installation should
get the latest bits build from releng/15.0.

With hat:       re
MFC after:      8 hours (needed in 15.0-RC1)
bdfc223c7a64369ed133a179c40067435a9f2cb3 Colin Percival 2025-11-15 03:18:52

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

pkg: Add FreeBSD-base to /etc/pkg/FreeBSD.conf
On -CURRENT and -STABLE this gets bits from pkg.freebsd.org; but we get
base system bits from pkgbase.freebsd.org for BETA/RC/RELEASE.

Note that this repository is disabled by default, but can still be used
by explicitly specifying it, e.g. "pkg upgrade -r FreeBSD-base".

With hat:       re
MFC after:      8 hours (needed in 15.0-RC1)
8e0b1a1c03a35a5db13e370cb3e62585d3db68e3 Colin Percival 2025-11-15 03:26:07

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

bsdinstall: Enable FreeBSD-base repo when pkgbase
When performing a pkgbase install, create a configuration file in
/usr/local/etc/pkg/repos/FreeBSD.conf which enables the FreeBSD-base
repository.  (This repository is defined in /etc/pkg/FreeBSD.conf as
being disabled by default.)

Reported by:    Mark Millard
Reviewed by:    markj
MFC after:      immediately (needed for 15.0-RC1)
Differential Revision:  https://reviews.freebsd.org/D53777
a96230e0329b32cbee0999813787a86eab521da4 Colin Percival 2025-11-15 21:56:35

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

stand: Rename EFI_ERROR_CODE to DECODE_ERROR to avoid Edk2 Clash
This follows what Illumos has done.

Sponsored by:           Netflix
Reviewed by:            tsoome
Differential Revision:  https://reviews.freebsd.org/D53656
87795c6e95b01cd20df103109cdb7077eb46bc46 Warner Losh 2025-11-16 17:32:18

debug: classified in 03-filenames_plain1 by 'stand/'

stand: switch the loader over to using efi-edk2.h
Sponsored by:         Netflix
Differential Revision:  https://reviews.freebsd.org/D53652
84dc74b8274c77ea878837cb0e2dbd4c93b93052 Warner Losh 2025-11-16 17:34:49

debug: classified in 03-filenames_plain1 by 'stand/'

stand: Cut over to using the EDK2 files
Remove the old EFI SDK files that we've been nursing along for too many
years. Replace them with files from EDK2 edk2-stable202502 and tweak the
interfaces we need to tweak. Mostly include different things or change
the names of the protocols that no longer have old-school compat names.

I gave up in the middle of env.c, too damn tedious to find all those new
GUIDs. Also, many of the guids were mystery meat, most likely from the
EDK2 sources, but just not the Include subdirectory. Need to investigate
those. And the memory info? Is it just an oboslete thing, or embedded
knowledge of EDK2.

Delete the now-redundant copies of things in Guid and Protocol. I
debated keeping ZeroGuid.h, but EDK2 has moved on from when I snagged it
years ago (or maybe I just invented it out of whole cloth: edk2 does
radically different things today and I didn't do the git deep-dive to
find out).

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D53655
43b8edb320519c9887a5d953c4cf8a91f0ca8d14 Warner Losh 2025-11-16 17:36:36

debug: classified in 03-filenames_plain1 by 'stand/'

edk2: Fix fdt build
x86 doesn't use FDT things by default, but aarch64 does. I thought I'd
built the loader on aarch64 to test the EDK2 all the things series, but
apparently not. This fixes the aarch64 build.

Fixes:          https://cgit.freebsd.org/src/commit/?id=43b8edb32051
Sponsored by:   Netflix
60f14d05d217715240ba48bdf3c08f1aa5ead8d0 Warner Losh 2025-11-16 23:53:47

debug: classified in 03-filenames_plain1 by 'stand/'

stand: Update riscv efi booting to edk2 includes
Update to include the right includes for the riscv protocol to get the
hypervisor details.

Note: I expanded the GUID inline rather than using a #define because
there was none. This is only listed in UefiCpuPkg/UefiCpuPkg.dec, so
include it here inline until we can automate using those files.

Fixes:          https://cgit.freebsd.org/src/commit/?id=43b8edb32051
Sponsored by:   Netflix
c62eaf8af9054b9f370bdd396cae411848bc617b Warner Losh 2025-11-17 05:09:34

debug: classified in 03-filenames_plain1 by 'stand/'

stand: Fix secureboot build
Make libesecureboot build, enabled when WITH_BEARSSL=y
WITH_LOADER_EFI_SECUREBOOT=y.

Copy EDK2 files related to secure boot to sys/contrib/edk2 and delete
duplicates under libsecreboot/efi/include.
Adjust efi_variables.c to build in the new environment.

Undefine MIN and MAX before include sys/param.h in libsecureboot.h. I'm
not sure that sys/param.h is needed here, but either the param.h or the
Base.h definitions are fine.

Fix include paths to reflect the new way.

Fixes:          https://cgit.freebsd.org/src/commit/?id=43b8edb32051
Sponsored by:   Netflix
3c5ca68b9b7ce68a5376b8456edf6af57ed18f91 Warner Losh 2025-11-17 05:49:21

debug: classified in 05-summary-prefix by 'stand:'

freebsd-update: Add some diagnositic information for a failure case
Users report freebsd-update failing with "The update metadata index is
correctly signed, but failed an integrity check."  Add a hint at which
of the cases is failing to help track down the issue.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264205
Reviewed by:    dch
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52222
af4ba95daf75cf1b1624dd57038cfaa3ed2753e7 Ed Maste 2025-08-28 16:04:06

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

rc.subr: Try to make svjc option handling a bit easier to read
Specifically, make this code fit in fewer columns:
- deindent cases to conform to the usual style,
- use a local variable to minimize duplication in each case.

No functional change intended.

Reviewed by:    0mp, netchild
MFC after:      2 weeks
Sponsored by:   Klara, Inc.
Sponsored by:   Modirum MDPay
Differential Revision:  https://reviews.freebsd.org/D53754
7861d051de2ea2f244bcf73111a04389dc5bcf51 Mark Johnston 2025-11-17 16:39:43

debug: classified in 03-filenames_plain1 by 'libexec/'

setaudit: Initial import
Unmodified sources from https://github.com/csjayp/setaudit at commit
aa4dd9dfa40b6437030d718834236f4eaeb18ccb.

Some follow-up changes will fix a few issues and make it easier to use
this utility in the rc framework.

Reviewed by:    csjp
MFC after:      2 weeks
Sponsored by:   Modirum MDPay
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53669
dcb0790bad434ace7cf53259e7a9bcefbef1c69b Mark Johnston 2025-11-17 16:40:10

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

setaudit: Fix handling of numeric UIDs
The usage of strtoul() was incorrect.

Reviewed by:    csjp
MFC after:      2 weeks
Sponsored by:   Modirum MDPay
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53671
551191e14e223e1cbee5e9f72e08d4e2576b9127 Mark Johnston 2025-11-17 16:45:11

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

setaudit: Add an update mode
By default, setaudit(8) overwrites the whole audit session state.  For
the purpose of overwriting only a single field, e.g., the audit user,
this is inconvenient.  Add -U to accomodate this case: when specified,
setaudit(8) will first fetch the current session state block and then
will only overwrite those fields specified on the command line.

Reviewed by:    csjp
MFC after:      2 weeks
Sponsored by:   Modirum MDPay
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53672
1238610a27d5bc0914f524296ff587d86eec4c52 Mark Johnston 2025-11-17 16:45:29

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

rc.subr: Remove misguided cpuset usage
When running an rc command, if the target rc script defines
<command>_cmd, e.g., start_cmd=..., then the run_rc_command() executes
that instead of $command.  In general it's a shell function, and
"cpuset -l <n> <shell function>" doesn't work.

Moreover, it doesn't really make sense to run cpuset for anything other
than start_cmd.

Other optional isolation mechanisms (e.g., <name>_fib,
<name>_chroot) are only used when invoking $command directly as part of
the "start" command.  Make <name>_cpuset consistent with everything else
by removing these extraneous cpuset invocations.

Reviewed by:    0mp
MFC after:      2 weeks
Sponsored by:   Modirum MDPay
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53746
71f6592a01506899efd91306b6d8147f14a6b219 Mark Johnston 2025-11-17 16:45:44

debug: classified in 03-filenames_plain1 by 'libexec/'

rc.subr: Support setting the audit user when starting services
When an unprivileged user restarts a service using, e.g., sudo, the
service runs with the audit user ID set to that of the unprivileged
user.  This can have surprising effects: for instance, a user that
restarts a jail that is running sshd will end up with their UID attached
to all audit logs associated with users who log in via that sshd
instance.  (sshd will set the audit user, but this is disallowed in
jails by default.)

Add support for rc.conf directives which cause rc to override the audit
user.  Specifically, make <name>_audit_user=foo cause the audit user to
be set to "foo" for service <name>.  A plain audit_user=foo directive
causes all services to be started as foo.

Note, like other similar rc features, this feature is limited to rc
services which are run by executing a command.  Shell functions can't be
wrapped this way.

Reviewed by:    0mp
MFC after:      2 weeks
Sponsored by:   Modirum MDPay
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53747
39ee24182b92114d006abc2b8095334a1d8a083c Mark Johnston 2025-11-17 16:45:58

debug: classified in 03-filenames_plain1 by 'libexec/'

local-unbound: Read a tab separated resolv.conf
Use [[:space:]] rather than a white space character to delimit the keys
and the values in the resolv.conf file.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236079
Reviewed by:    des
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53811
0628400590e025b7db1c0905e6ee488a24ef3f60 Jose Luis Duran 2025-11-19 01:09:58

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

bhyve: Move the slirp backend out into a separate process
The previous implementation implemented hostfwd rules which would allow
the host to connect to the guest via a NATed TCP connection.  libslirp
also permits NAT in the other direction, but this was prevented by
bhyve's capsicum sandbox.

To make the slirp backend more useful, split the backend out into a
separate process which does not enter capability mode if outbound
connections are permitted (enabled by setting the new "open" keyword).
The process communicates with the bhyve network frontend (typically a
virtio network interface) using a unix SOCK_SEQPACKET socket pair.  If
the bhyve process exits, the helper will automatically exit.

Aside from this restructuring, there is not much actual change.  Many
slirp parameters are still hard-coded for now, though this may change.
The "restricted" feature is toggled by the new "open" keyword; in
particular, the backend is restricted by default for compatibility with
15.0 and 14.3.

Each packet now has to traverse an extra socket, but this overhead
should be acceptable given that the slirp backend cannot be said to
provide high-performance networking.  With iperf3 I can get 4Gbps from
the guest to the host on a Zen 4 system.

MFC after:      1 month
Sponsored by:   CHERI Research Centre (EPSRC grant UKRI3001)
Differential Revision:  https://reviews.freebsd.org/D53454
0e62ebd20172f67283bac9526c2aaeaffeb41b45 Mark Johnston 2025-11-19 16:02:21

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

rtld-elf: move powerpc-specific auxv compat code into arch hook
Tested by:    Timothy Pearson (tpearson_raptorengineering.com)
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53801
b2b3d2a962eb00005641546fbe672b95e5d0672a Konstantin Belousov 2025-11-18 11:06:04

debug: classified in 03-filenames_plain1 by 'libexec/'

nuageinit: Add guards against empty user data
Add guards against attempting to process a user data file with an empty
first line or contents.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290395
Reviewed by:    bapt (earlier), dtxdf, markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53239
57d25b6333523491ac7a3e869bd5d16127203eed Jose Luis Duran 2025-10-21 13:11:50

debug: classified in 03-filenames_plain1 by 'libexec/'

Commit group #43: pam_krb5: Fix manual page in MIT case
pam_krb5: Fix manual page in MIT case

* Always install the manual page as pam_krb5(8) regardless of which
  version we're using.
* Regenerate it using pod2mdoc instead of pod2man so it doesn't claim
  to be part of “User Contributed Perl Documentation”.
* Put the correct section number in the header and footer.
* Don't cross-reference non-existent pam(7) manual page.

Reviewed by:    cperciva
Differential Revision:  https://reviews.freebsd.org/D53885
961b934407f09d4241cfad76a9c8833baa2650e1 Dag-Erling Smørgrav 2025-11-24 02:40:37

debug: Commit manually moved from "unknown" to "admin".


ObsoleteFiles: Fix repeated typo in recent entries

Fixes:          https://cgit.freebsd.org/src/commit/?id=685a78570b35 ("random: remove hifn(4)")
Fixes:          https://cgit.freebsd.org/src/commit/?id=5b9fba1cb0d8 ("Retire pccard(4)")
Fixes:          https://cgit.freebsd.org/src/commit/?id=3cf85a69ae7d ("hifn.4: Really remove")
Fixes:          https://cgit.freebsd.org/src/commit/?id=8a8c58f71e80 ("pccard.4: Really remove")
Fixes:          https://cgit.freebsd.org/src/commit/?id=6aaf184dc4e2 ("pcic.4: Really remove")
Fixes:          https://cgit.freebsd.org/src/commit/?id=daa1f9b415f3 ("apm(8): Drop MLINK to apmconf(8)")
Fixes:          https://cgit.freebsd.org/src/commit/?id=961b934407f0 ("pam_krb5: Fix manual page in MIT case")
5995c036df4871b10e3afb0810cdf73da670a745 Dag-Erling Smørgrav 2025-11-24 03:11:16

debug: classified in 01-style by '[tT]ypo'

debug: moved to admin because 'Need to be grouped with 961b934407f09d4241cfad76a9c8833baa2650e1'

rtld: fix powerpc build
In arch_fix_auxv(), remove local variable shadowing the argument,
remove write-only variable, and declare the loop variable.
The wrong patch was committed after series of local reverts and
re-apply.

Fixes:  https://cgit.freebsd.org/src/commit/?id=b2b3d2a962eb00005641546fbe672b95e5d0672a
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
0628c252bd161ccdd1228a3b8aefeb471044ca04 Konstantin Belousov 2025-11-24 08:44:52

debug: classified in 03-filenames_plain1 by 'libexec/'

bhyve/slirp: Avoid a nested declaration of environ
Fixes:        https://cgit.freebsd.org/src/commit/?id=0e62ebd20172 ("bhyve: Move the slirp backend out into a separate process")
bac572b2b1c9aec0ebfd3ae1fd02b314984cb716 Mark Johnston 2025-11-24 14:08:21

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

bhyve/slirp: Drop privileges before entering capability mode
When in restricted mode, the slirp-helper process enters a capsicum
sandbox, after which we cannot look up the uid for the "nobody" user.
Reverse the order.

Reported by:    kp
Fixes:  https://cgit.freebsd.org/src/commit/?id=0e62ebd20172 ("bhyve: Move the slirp backend out into a separate process")
b0c7eaf83d21bbc333e247ab9e136965b3ca54ed Mark Johnston 2025-11-24 14:15:27

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

stand: Move from OZFS to ZFSTOP
Use ZFSTOP instead of OZFS. They are the saame thing.

Sponsored by:           Netflix
Reviewed by:            tsoome
Differential Revision:  https://reviews.freebsd.org/D53900
05346243dfa4ed85c4c3a31f2a32a861fd649c07 Warner Losh 2025-11-25 00:35:19

debug: classified in 03-filenames_plain1 by 'stand/'

stand: Rename ZFSSRC to SAZFSSRC to avoid confusion
ZFSSRC is abiguous on its surface and too clos to ZFSTOP, so rename it
to SAZFSSRC.

Sponsored by:           Netflix
Reviewed by:            tsoome
Differential Revision:  https://reviews.freebsd.org/D53901
3c857567c10f9e30c86133729532188f5c3664f0 Warner Losh 2025-11-25 00:35:30

debug: classified in 03-filenames_plain1 by 'stand/'

fdread: Fix logic bug when reading by sector
When reading by sector (because reading a whole track failed), we can
accidentally fall into the "should not happen" path, which both
(a) emits a spurious error message and (b) fouls up our position
accounting going forward.  Ensure we do not inappropriately fall into
that path.

Avoid obscuring the "short after" message in cases where it happens.

Signed-off-by: Matt Jacobson <mhjacobson@me.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1897
4c8bf76893a8b39eda15f91d1515c6bf6a02a9a6 Matt Jacobson 2025-11-25 01:30:10

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

ipfilter: Load optionlist prior to ippool invocation
As a safety precaution df381bec2d2b limits ippool hash table size to 1K.
This causes any legitimely large hash table to fail to load. The
htable_size_max ipf tuneable adjusts this but the adjustment is made
in the ipfilter rc script, invoked after the ippool script (because it
depends on ippool). Let's load the ipfilter_optionlist in ippool as well.
ipfilter_optionlist load will also occur in the ipfilter rc script in case
the user uses ipfilter without ippool.

Fixes:          https://cgit.freebsd.org/src/commit/?id=df381bec2d2b
MFC after:      3 days
d5d005e9bf4933d5680dd0bb5d42bdf440122aa4 Cy Schubert 2025-11-26 19:40:36

debug: classified in 03-filenames_plain1 by 'libexec/'

bsdconfig: RealTek -> Realtek
Realtek changed how it styled its name 25 or so years ago, but the old
style persisted in many places. These products use the new styling in
their datasheets.

Signed-off-by: ykla yklaxds@gmail.com
Sponsored by: Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1901
e27d5c190a41c79b3764ff1a9893eb81a9050e63 ykla 2025-11-26 09:15:09

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

pkg: Move FreeBSD-base to pkg.freebsd.org
Rather than fetching packages directly from the CDN which currently
backs pkgbase.freebsd.org, requests will go to pkg.freebsd.org mirrors
and be 302ed to the correct servers.  This adds ~70 seconds to the
process of installing or upgrading a pkgbase system; it also orphans
systems with 15.0-{PRERELEASE,ALPHA*,BETA*} installed since they are
expecting to see pkgbase files signed with the pkg keys, not the new
pkgbase signing keys.

Reviewed by:    dch, philip
MFC after:      immediately (for 15.0-RELEASE)
With hat:       re
Requested by:   clusteradm, core
Differential Revision:  https://reviews.freebsd.org/D53964
a3b0902d73901e7243103e60cf78c53cd7f566a1 Colin Percival 2025-11-27 21:30:10

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

mtree: Keep mtree files indented with spaces
The mtree tool indents directory entries with 4 spaces.

Reviewed by:    imp
Fixes:          https://cgit.freebsd.org/src/commit/?id=9cab9fde5eda ("virtual_oss: Port to base")
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53979
3d91a746380e81c2089d8beaae28438867ae6dbf Jose Luis Duran 2025-11-29 00:12:39

debug: classified in 03-filenames_plain1 by 'etc/'

libc/tests: add stdbit test framework and unit tests
This adds unit tests for all 70 functions in <stdbit.h>.

I'm sorry for the test framework, but it makes it so I don't
have to write 70 unit tests by hand.

Reviewed by:    adrian, des
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53660
2fb8cbc6ef1b3cc6cd60e5db07f8305623f9b044 Robert Clausecker 2025-11-18 17:33:12

debug: classified in 03-filenames_plain1 by 'etc/'

pfctl: restore '-Tload -f pf.conf' functionality
Allow only tables to be loaded from a file, rather than everything (i.e.
including options, rules).

Add a test case for this.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291318
MFC after:      1 week
Sponsored by:   Rubicon Communications, LLC ("Netgate")
7a283c40188ff7b0a4bae1a47bbd9ecc17ded132 Kristof Provost 2025-12-01 15:05:09

debug: classified in 03-filenames_plain1 by 'sbin/'

rtld-elf: Mark LD_SHOW_AUXV insecure
This prevents dumping the memory layout of setugid processes.

MFC after:      3 days
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D54033
5242bcff202fa2a5a39895423c8d8c11c02ad76a Dag-Erling Smørgrav 2025-12-03 10:09:31

debug: classified in 03-filenames_plain1 by 'libexec/'

snmp_pf: use the libpfctl wrapper to retrieve astats
Extend the test case to verify this works as expected.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
f6aa57c86b6239e1f8c8ff50f28c9d0ed1af2ce3 Kristof Provost 2025-12-05 10:23:45

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

freebsd-update: Mention upgrading packages, not just ports
These days most end users are likely using pre-built packages, not
locally-built ports. Thus be sure to mention this as an important case,
and put it ahead of ports.

Reviewed by:    emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D42968
ced74610217ff0be071e4614c64a4ff66c40bc6b Jessica Clarke 2025-12-06 00:33:20

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

sndctl(8): Do not free and re-open device
There was a reason for this, but it does not apply anymore.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54031
643a606fa2742b94f6eca620119b7d2686ca9cd3 Christos Margiolis 2025-12-06 14:28:08

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

cleanvar: Fix startup order
Instead of having FILESYSTEMS require cleanvar, which doesn't really
make semantic sense, say that cleanvar needs to run before FILESYSTEMS.

MFC after:      3 days
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D54118
6ce227d6274869a95150746d2f2d8c8c5ed9a266 Dag-Erling Smørgrav 2025-12-08 10:30:05

debug: classified in 03-filenames_plain1 by 'libexec/'

noshutdown: Fix startup order
This rc script exists solely to create a file, so have it explicitly
require FILESYSTEMS.  In its current form, it was as likely as not to
end up running before cleanvar, which would undo its work.

MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=384d976725a5 ("rc.d: Add precious_machine rc.conf knob to create /var/run/noshutdown")
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D54119
e540e8b2c04f03b4210a3bf2f421c05b918d1b51 Dag-Erling Smørgrav 2025-12-08 10:30:10

debug: classified in 03-filenames_plain1 by 'libexec/'

nextboot: Reimplement missing -a option
* Reimplement the -a option which was available in the original shell
  script and is still documented.

* Print the correct usage string when invoked as nextboot.

* Add the -D option to the manual page synopsis.

MFC after:      1 week
Fixes:          https://cgit.freebsd.org/src/commit/?id=fd6d47375a78 ("rescue,nextboot: Install nextboot as a link to reboot, rm nextboot.sh")
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D54120
de670c611b17939712a81dc56f73a3ff84f6c178 Dag-Erling Smørgrav 2025-12-08 10:30:17

debug: classified in 03-filenames_plain1 by 'sbin/'

rtsold: Fix a buffer leak if we fail to read the default router sysctl
MFC after:    1 week
Reported by:    Kevin Day <kevin@your.org>
792221630bf4e58fcd923547bab689f4497613d8 Mark Johnston 2025-12-04 15:00:46

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

bsdinstall: Mount /dev and /packages after using the shell to partition disks
Normally after partitions are created by the installer, the 'mount'
script is used to mount the target disk partitions under /mnt.  The
tail end of this script also mounts a couple of additional filesystems
under /mnt so that chrooted programs can work such as devfs and
/packages.

When the "Shell" option is used to permit the user to manually mount
the destination filesystem, the "mount" script is not used as the user
is instructed to mount the target filesystems and construct
/mnt/etc/fstab, etc.  However, this means that the user is responsible
for mounting devfs (which is not included in /etc/fstab) and /packages
as well.  The help message for the "Shell" option doesn't mention
these requirements, so users may not know to do so.  This can lead to
confusing errors as chrooted commands can fail to find needed /dev
entries.  For example, running fwget to fetch wireless firmware fails
because /dev/pci doesn't exist.

To make this less painful for users using this option, split out the
bottom half of the 'mount' script that mounts these non-fstab-related
filesystems into a separate 'mount_aux' script.  Invoke 'mount_aux'
after using "Shell" to create the filesystem to ensure that these
filesystems are always present.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290901
Reported by:    Peter <freebsd@peterk.org>
Tested by:      Peter <freebsd@peterk.org>
Differential Revision:  https://reviews.freebsd.org/D53770
f63a8c0a0915a3eceac179d4d18b2c03b1319fa2 John Baldwin 2025-12-08 21:33:30

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

rc.d/ipfilter: ipfilter must be enabled for options to take
ipfilter options are erased and reset to default when ipfilter is
disabled. This results in nullifying options from rc.conf that were
previously set.

8d6feaaaa26f, which added this code, was incorrect as it was for a bug in
ipfilter 4.2.28 and no longer applies to ipfilter 5.1.2.

Fixes:          https://cgit.freebsd.org/src/commit/?id=8d6feaaaa26f
MFC after:      1 day
cc1e4aae5a67a20f3c0fff13612364e6e4404f93 Cy Schubert 2025-12-09 23:42:07

debug: classified in 03-filenames_plain1 by 'libexec/'

reboot: Default to a clean shutdown
* If invoked as fasthalt or fastboot, behavior is unchanged.

* If not invoked as fasthalt or fastboot, we simply signal init(8),
  just like shutdown(8) does, instead of taking the system down
  ourselves.

* Since only init can handle the RB_REROOT case, the -r flag is not
  supported in fast mode.

* Update the usage string to correctly reflect the program being run
  (fast or normal; halt, boot, or nextboot) and the options available
  in each case.

* Update the manual page to make the distinction between normal and
  fast mode clear, better explain what shutdown(8) still does that
  reboot(8) does not, and add a historical note explaining what the
  difference between the two used to be.

MFC after:      1 month
Relnotes:       yes
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D54117
4453ec5b8716bc465ff5192986099dc75d1f2ce7 Dag-Erling Smørgrav 2025-12-10 14:45:57

debug: classified in 03-filenames_plain1 by 'sbin/'

shutdown: Adapt to changes in reboot
Now that halt and reboot actually signal init, shutdown needs to run
fasthalt or fastboot instead when given the -o option.

MFC after:      1 month
Reviewed by:    imp, allanjude
Differential Revision:  https://reviews.freebsd.org/D54122
2a3b1641756a4f0c50338a17e310f8a2dbd31b50 Dag-Erling Smørgrav 2025-12-10 14:46:08

debug: classified in 03-filenames_plain1 by 'sbin/'

gpart: "gpart --libxo:JP list" duplicates attribute keys
Add leaf-list modifier to attrib as it's possible to have multiple
attributes on a gpart provider.

I purposely made it so that the normal output still says "attrib:" just
so we don't break any scripts people may be using to parse the output,
but the libxo output now says "attribute" just like `gpart show` will do
once https://reviews.freebsd.org/D53950 is merged.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291377
MFC after:      1 week
Reviewed by:    asomers
Sponsored by:   ConnectWise
Differential Revision: https://reviews.freebsd.org/D54080
a0347b0f3a6088872c29eddb85154478d543dffb Alan Somers 2025-12-05 16:16:53

debug: classified in 03-filenames_plain1 by 'sbin/'

kboot: Explicitly use host:/proc
When looking for the boot_params symbol we need to get the UEFI memory
map, use host: prefix. The short-circuit we have for this only works
when we have a filesystem. During the earliest parts of boot, we can
sometimes not have this yet, so making this explicit allows these
environments to function.

It's always in the host path. Print better
error messages, and add newlines in two palces.

Sponsored by:           Netflix
332096ebb6380ae65829018b4e1d611cd68dcc33 Warner Losh 2025-12-10 12:36:56

debug: classified in 05-summary-prefix by 'kboot:'

bhyve: pci-uart needs to also set subclass and function
edk2 PciSioSerialDxe driver setup depends on subclass and function
being set, adding them does make it possible to access pci-uart
serial port from UEFI.

Reviewed by:            corvink
Differential Revision:  https://reviews.freebsd.org/D54167
Sponsored by:           Edgecast Cloud LLC
e3fa0a22dd371727712764e3d07891b05980cd61 Toomas Soome 2025-12-10 20:36:43

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

etc/mtree/BSD.include.dist: Remove libmilter-dev
When building with WITHOUT_SENDMAIL this result in a FreeBSD-libmilter-dev
package with only this directory and a dependacy on FreeBSD-libmilter which
doesn't exists.

Differential Revision:  https://reviews.freebsd.org/D54193
Fixes:          https://cgit.freebsd.org/src/commit/?id=436618a427b4 ("etc/mtree: Add package tags for /usr/include")
Reviewed by:    ivy
Sponsored by:   Beckhoff Automation GMbH & Co. KG
ef2d586d7efb908bf39e7d5eb5d4305193d0ca6e Emmanuel Vadot 2025-12-12 15:34:05

debug: classified in 03-filenames_plain1 by 'etc/'

bhyve: change suspend exit code
Currently, after suspending, bhyve(8) exits with 0. This code is
also used to indicate that a VM was rebooted. To differentiate
reboot and suspend, use the next available exit code, 5, for suspend.

Approved by:            markj
Sponsored by:           The FreeBSD Foundation
MFC after:              2 weeks
Differential Revision:  https://reviews.freebsd.org/D54087
611bbb190ff593e0e424e311575d7e978e623659 Roman Bogorodskiy 2025-12-05 17:16:29

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

bhyvectl: improve options error handling
Currently, it is possible to execute bhyvectl(8) with mutually exclusive
options, such as "--destroy" and "--suspend", and it will print out
obscure errors, e.g.:

 bhyvectl --suspend=/var/run/vms/my_vm --destroy --vm my_vm
 connect() failed: Connection refused

Address that by failing early if mutually exclusive options were
specified.

Additionally, move the BHYVE_SNAPSHOT block before the errors are
printed, so its errors are also displayed.

Approved by:            markj
Sponsored by:           The FreeBSD Foundation
MFC after:              2 weeks
Differential Revision:  https://reviews.freebsd.org/D54092
148111d3775eb159d71a36e3a8b4c5c1bf53392c Roman Bogorodskiy 2025-12-05 18:45:03

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

bhyvectl: fix build without BHYVE_SNAPSHOT
Build fails without BHYVE_SNAPSHOT due to undeclared identifier
'checkpoint_file'. Wrap that with a proper #ifdef.

Reported by:    dhw
9d9974457ce8c6cf9023884ab457d4712dcc237f Roman Bogorodskiy 2025-12-13 12:25:22

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

pfctl: report ICMP states consistently for IPv4/IPv6
Remove the '#ifndef INET6', which never actually mattered because this
define is never set. This makes us report ICMP states for IPv4 and IPv6
the same way (and also aligns us with OpenBSD).

This means we will now always report state 0:0 rather than
NO_TRAFFIC:NO_TRAFFIC for icmp6 (like we already did for icmp).

Reported by:    Lev Prokofev <lev@netgate.com>
Sponsored by:   Rubicon Communications, LLC ("Netgate")
1dee2336ab44e604f4871c46e7ccb2f7f1e33054 Kristof Provost 2025-12-12 17:07:19

debug: classified in 03-filenames_plain1 by 'sbin/'

rc.subr: Use the variable we defined to invoke setaudit(8)
Reported by:  gtetlow
Fixes:          https://cgit.freebsd.org/src/commit/?id=39ee24182b92 ("rc.subr: Support setting the audit user when starting services")
MFC after:      1 week
9dda51f13cd85791c0f18782461219f5a88e2d67 Mark Johnston 2025-12-14 15:47:06

debug: classified in 03-filenames_plain1 by 'libexec/'

Libraries

libpfctl: fix memory leak in pfctl_get_status()
Remember to also free ncounters.

Fixes:          https://cgit.freebsd.org/src/commit/?id=c00aca9a71 ("pf: Show pf fragment reassembly counters.")
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
bdb205c53ed769ad9f5e8da1ec6d05c48992dbf8 Kristof Provost 2025-10-01 09:41:25

debug: classified in 04-filenames_plain2 by 'lib/'

libexec/kgdb: Add new modules and install them together with debug info
This change simplifies integration of gdb python scripts with our kernel
debugging infrastructure.  Rather than putting debugging scripts in
/usr/libexec/kgdb, move them to <path-to-kernel-debug-symbols>/gdb, and
add a kernel-gdb.py which automatically loads modules from that
directory.  kernel-gdb.py will be automatically executed by kgdb when
loading kernel debug symbols (assuming a default configuration), so one
no longer needs to do anything to use these modules.

The change also adds a couple of new modules, vnet.py and pcpu.py, for
conveniently accessing VNET symbols and PCPU/DPCPU fields, respectively.
Note that these require a change to the kernel linker when accessing
symbols from a loadable kernel module.

sys/tools/gdb/README.txt describes the scheme in more detail and
provides some rudiementary documentation for the commands and functions
added by these modules.  It should be updated when adding new features.

sys/tools/gdb/selftest.py can be used to do some primitive testing of
the modules.  All it does is execute a number of gdb commands making use
of commands and functions added by these modules.  The developer is
expected to verify that the commands complete without errors and that
the output looks sane.

Discussed with: kp, avg, jhb, glebius
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D50825
ea675a43f09ba569adf1dd17b4f1ced970e48de4 Mark Johnston 2025-10-03 14:25:53

debug: classified in 05-summary-prefix by 'lib.*:'

lib{c,openbsd}: use ckd_mul() for overflow checking in re(c)allocarray
Summary:
This makes the code easier to understand and slightly faster,
but requires C23.  calloc() would  benefit, too, but I didn't
want to touch the imported jemalloc code base.

Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D52854
7233893e949689d378d38c11651e68321deed12c Robert Clausecker 2025-10-02 13:26:46

debug: classified in 04-filenames_plain2 by 'lib/'

lib/libc: add FBSD-1.9 to Versions.def
In preparation of adding recallocarray() to libc.

See also:       D52863
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D52878
969c1191957a9ad689546ddb4e8c4df2217c5052 Robert Clausecker 2025-10-03 01:43:48

debug: classified in 04-filenames_plain2 by 'lib/'

lib/libc: add recallocarray()
This function from OpenBSD is a hybrid of reallocarray() and calloc().
It reallocates an array, clearing any newly allocated items.
reallocarray() ultimately originates from OpenBSD.

The source is taken from lib/libopenbsd, which now no longer has the
function unless when bootstrapping (needed for mandoc).

Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D52863
42664610795bc0a728851ba6223fcf9b93801167 Robert Clausecker 2025-10-02 14:33:55

debug: classified in 05-summary-prefix by 'lib.*:'

libc/resolv: get rid of MD5
MD5 is used by libc/resolv to generate a random sequence id from a
current time stamp.  Replace this convoluted mechanism with a call
to arc4random().  This permits us to entirely drop MD5 from libc,
simplifying the MD5 rework proposed in D45670.

Approved by:    markj
Reviewed by:    kevans, markj
See also:       D45670
Event:          EuroBSDcon 2025
Differential Revision:  https://reviews.freebsd.org/D52784
d518f64cef6db1d301377e78742b94ca96a881e3 Robert Clausecker 2025-09-29 13:53:14

debug: classified in 05-summary-prefix by 'lib.*:'

libc: Move NLS catalogues to the locales packages
We don't want to put these in clibs (where libc is) since they are not
critical to system operation.  Move them to locales, since anyone who
is interested in translated versions of strerror() is going to have
that installed anyway.

While here, add some more documentation to bsd.nls.mk, particularly
the NLSPACKAGE option.

MFC after:      3 seconds
Reviewed by:    manu, kib
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52898
0242d4c3aea4b56ba76da440d1948d9e3d19ae87 Lexi Winter 2025-10-05 05:03:21

debug: classified in 05-summary-prefix by 'lib.*:'

libc: Reimplement the *rand48 family of functions
Rather than implementing the recurrence using 3 16-bit integers, as was
done in _dorand48() before this patch, provide an equivalent
implementation using 64-bit integers.

For drand48() and erand48(), replace the use of ldexp() with
bit-twiddling assuming IEEE 754 double-precision float layout.

This implementation is significantly faster and requires less code,
while producing identical outputs on supported platforms.

While here, add a STANDARDS section to rand48.3.

Obtained from:  https://github.com/apple-oss-distributions/libc
MFC after:      3 weeks
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D52429
2ba20004ef7649db7654520e8376927c4410d9c3 Mark Johnston 2025-09-04 19:34:17

debug: classified in 04-filenames_plain2 by 'lib/'

fts: Remove a few stray blank lines
Sponsored by: Klara, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D52924
31db1582c883cbdd151ffacb22829027f23ead40 Dag-Erling Smørgrav 2025-10-07 16:23:24

debug: classified in 04-filenames_plain2 by 'lib/'

libcasper: explicit cast in cap_fileargs header
The implicit cast is incompatible with standard compiler options in a
C++ project, making the library difficult to use.

Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr>
Sponsored by: Defenso
MFC after: 3 days
Discussed with: kevans
Reviewed by: emaste, vexeduxr
Pull request: https://github.com/freebsd/freebsd-src/pull/1857
349da4dbff722a58affd13d84729b1d399b41fb3 Quentin Thébault 2025-09-26 02:04:07

debug: classified in 04-filenames_plain2 by 'lib/'

libbz2: add pkg-config file (bzip2.pc)
Add generation of a bzip2.pc file for use with pkg-config and create
a basic template as bzip2.pc.in.

This allows other software to easily locate and link against libbz2
using standard pkg-config mechanisms instead of manual compiler and
linker flags.

The version number is extracted automatically from bzlib.h to keep
it consistent with the library sources.

Tested: pkg-config --exists --print-errors "bzip2 >= 1.0.9" (fail, expected)
        pkg-config --exists --print-errors "bzip2 >= 1.0" (succeeded)
        pkg-config --libs bzip2 (-lbz2)
        pkg-config --cflags bzip2 ()

MFC after:      3 days
586319793368cbc664b48187bda60d27e171753a Xin LI 2025-10-10 05:35:54

debug: classified in 04-filenames_plain2 by 'lib/'

libm: remainder: make sure x is zero
Make sure the entirety of x is zero before flipping the sign bit.
Otherwise the sign would be wrong for small values of x when x is
negative and |n*y| > |x|

Reported by:    alfredo
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=251091
Reviewed by:    kargl
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D53023
25cca51ed294890d20a3c0290814cd26875db686 Ahmad Khalifa 2025-10-10 09:30:52

debug: classified in 04-filenames_plain2 by 'lib/'

realpath: Report correct path on failure
If lstat() fails with EACCES or ENOTDIR, the path we need to return in
the caller-provided buffer is that of the parent directory (which is
either unreadable or not a directory; the latter can only happen in the
case of a race) rather than that of the child we attempted to stat.

Sponsored by:   Klara, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53025
1406de21e176d8700240ac9e473df007cd41eec1 Dag-Erling Smørgrav 2025-10-13 11:53:22

debug: classified in 04-filenames_plain2 by 'lib/'

libpam: Add newline at EOF in modules.inc
2976a7ce2e9b0ba1f59601218583c6330776f401 Ed Maste 2025-10-15 15:30:43

debug: classified in 04-filenames_plain2 by 'lib/'

libc: Add "Z" as TZ designator for strptime.
ISO 8601 allows use of "Z" as the time zone designator. Update the
strptime parser to allow this usage.

While we are at it, update the manpage to reflect that both UTC and Z
are now valid options.

Reviewed by:    des
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53083
79e57ea662d92ffcbe7d65854a284aefac6a332d Gordon Tetlow 2025-10-15 22:24:06

debug: classified in 04-filenames_plain2 by 'lib/'

include/stdckdint.h: make the header compatible with C++
by removing the cast to _Bool.  The _Bool type is not defined for C++,
and the specification from the gcc info doc states that the return
type of the  __builtin_{add,sub,mul}_overflow() is bool already.

This is done instead of including stdbool.h to avoid namespace
pollution, since defining bool from stdckdint.h simingly is not
sanctioned by ISO/IEC 9899:2024.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290299
Reviewed by:    des
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53149
3c052bec12fcf09f81ba0760ebecec38e196d332 Konstantin Belousov 2025-10-17 03:49:14

debug: classified in 03-filenames_plain1 by 'include/'

libc: Import OpenBSD's inet_net_{ntop,pton}
Our versions of these functions (originally taken from BIND) simply
don't work correctly for AF_INET6.  These were removed from BIND itself
quite a while ago, but OpenBSD has made several fixes in the mean time,
so import their code.

Add tests for both functions.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289198
Reported by:    Nico Sonack <nsonack@herrhotzenplotz.de>
MFC after:      1 week
Reviewed by:    des
Obtained from:  OpenBSD (lib/libc/net)
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52629
8f4a0d2f7b96099001dbc51e06114df1a0e6d291 Lexi Winter 2025-10-18 14:18:40

debug: classified in 04-filenames_plain2 by 'lib/'

libarchive: merge from vendor branch
Update vendor/libarchive to 3.8.2

Important bugfixes:
 #2477 tar writer: fix replacing a regular file with a dir for
       ARCHIVE_EXTRACT_SAFE_WRITES
 #2659 lib: improve filter process handling
 #2664 zip writer: fix a memory leak if write callback error early
 #2665 lib: archive_read_data: handle sparse holes at end of file correctly
 #2668 7zip: Fix out of boundary access
 #2670 zip writer: fix writing with ZSTD compression
 #2672 lib: fix error checking in writing files
 #2678 zstd write filter: enable Zstandard's checksum feature
 #2679 lib: handle possible errors from system calls
 #2707 lib: avoid leaking file descriptors into subprocesses
 #2713 RAR5 reader: fix multiple issues in extra field parsing function
 #2716 RAR5 reader: early fail when file declares data for a dir entry
 #2717 bsdtar: Allow filename to have CRLF endings
 #2719 tar reader: fix checking the result of the strftime (CVE-2025-25724)
 #2737 tar reader: fix an infinite loop when parsing V headers
 #2742 lib: parse_date: handle dates in 2038 and beyond if time_t is big
       enough

Obtained from:  libarchive
Vendor commit:  7f53fce04e4e672230f4eb80b219af17975e4f83
Security:       CVE-2025-25724
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290303 (exp-run)
MFC after:      1 week
401026e4825a05abba6f945cf1b74b3328876fa2 Martin Matuska 2025-10-21 14:10:15

debug: classified in 05-summary-prefix by 'lib.*:'

Fix getmntpoint(3) to operate as it is documented in its manual page.
The -libutil function getmntpoint(3) is documented as accepting a device
name “with or without /dev/ prepended to it” but did not attempt to
prepend /dev/. This patch corrects the problem by prepending /dev/ to
names that do not begin with a '/'.

Reported-by: Dag-Erling Smørgrav
Differential Revision: https://reviews.freebsd.org/D53185
MFC-after:    1 week
Sponsored-by: Netflix
99bf680a8499dea71db5da705dfe41f4bb5e00ab Kirk McKusick 2025-10-22 18:01:03

debug: classified in 04-filenames_plain2 by 'lib/'

lib/libmd: fuz@freebsd.org -> fuz@FreeBSD.org
Approved by:  markj (mentor)
MFC after:      1 week
ec3242ed1906e77c9af2c54da636833a946c62b6 Robert Clausecker 2025-10-10 20:25:47

debug: classified in 04-filenames_plain2 by 'lib/'

lib/libmd: import md5 amd64 kernels
Differential Revision:        https://reviews.freebsd.org/D45670
Reviewed by:    imp
Approved by:    markj (mentor)
MFC after:      1 month
d92e987421001c365216b039f8c3303939c195f7 Robert Clausecker 2025-10-10 17:40:49

debug: classified in 04-filenames_plain2 by 'lib/'

lib/libmd: import aarch64 md5 SIMD implementation
Reviewed by:  andrew, imp
Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D45670
MFC after:      1 month
c1135b2b54bf46709120d98c90ff4d28a77b896c Robert Clausecker 2025-10-10 17:45:45

debug: classified in 04-filenames_plain2 by 'lib/'

libpfctl: Fix displaying deeply nested anchors
Set the number of rulesets (i.e., anchors) directly attached to the
anchor and its path in pfctl_get_ruleset().

While here, add a test to document this behavior.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290478
Reviewed by:    kp
Fixes:          https://cgit.freebsd.org/src/commit/?id=041ce1d690f1 ("pfctl: recursively flush rules and tables")
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53358
a943a96a50ba7e9d1e1935bdd18df0e11d158acb Jose Luis Duran 2025-10-25 09:19:18

debug: classified in 04-filenames_plain2 by 'lib/'

libutil: defer setting the MAC label until after the login class
MAC policies, like mac_biba(4), may forbid changing the login class once
a label has been applied.  For setting up the initial login context,
this isn't really expected and in-fact may break some class-based
configuration.

Defer setting the MAC label until after the login class is set, and
remove the requirement that we have a pwd entry since the label is
pulled from the login class -- we only use pwd for syslog in this path.

Patch is largely by Kevin Barry, with some modifications and this commit
message by kevans@.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=177698
Reviewed by:    des, olce
MFC after:      3 days
Co-authored-by: Kevin Barry <ta0kira gmail com>
Differential Revision:  https://reviews.freebsd.org/D53362
98edcbcce0a4650084bd86e704cfa38bf590250c Kyle Evans 2025-10-29 02:37:21

debug: classified in 04-filenames_plain2 by 'lib/'

libc: report _SC_NPROCESSORS_ONLN more accurately in cpu-limited jails
We don't support CPU hotplug, but we do support cpuset(8) restrictions
on jails (including prison0, which uses cpuset 1).  The process cannot
widen its cpuset beyond its root set, so it makes sense to instead
report the number of cpus enabled there rather than the total number
in the system.

This change is effectively a nop for the majority of systems and jails
in the wild, though it does reduce the performance of this query now
that we can't take advantage of AT_NCPUS being provided in the auxinfo.

The implementation here is notably different than Linux, which would not
take cgroups into account.  They do, however, take CPU hotplug into
account, so the possibility for it to diverge from (and be lower than)
the # configured count to reflect what the process can actually be
scheduled on doesn't really diverge in semantics.

Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D52295
d617806aac1469319970e3551656e9deabb98a35 Kyle Evans 2025-10-29 16:32:30

debug: classified in 04-filenames_plain2 by 'lib/'

libc: scalar strrchr() in RISC-V assembly
Implements strrchr in RISC-V assembly, leading to the following
improvements (performance measured on SiFive HF105-001)

os: FreeBSD
arch: riscv
        │ strrchr_baseline │             strrchr_scalar             │
        │      sec/op      │   sec/op     vs base                   │
Short          837.2µ ± 1%   574.6µ ± 1%  -31.37% (p=0.000 n=20+21)
Mid            639.7µ ± 0%   269.7µ ± 0%  -57.84% (p=0.000 n=20+21)
Long           589.1µ ± 0%   176.7µ ± 0%  -70.01% (p=0.000 n=20+21)
geomean        680.8µ        301.4µ       -55.73%

        │ strrchr_baseline │             strrchr_scalar             │
        │      MiB/s       │   MiB/s     vs base                    │
Short           149.3 ± 1%   217.6 ± 1%   +45.71% (p=0.000 n=20+21)
Mid             195.4 ± 0%   463.6 ± 0%  +137.22% (p=0.000 n=20+21)
Long            212.2 ± 0%   707.4 ± 0%  +233.40% (p=0.000 n=20+21)
geomean         183.6        414.7       +125.88%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D47275
df21a004be237a1dccd03c7b47254625eea62fa9 Strahinja Stanišić 2024-10-24 16:18:07

debug: classified in 04-filenames_plain2 by 'lib/'

simd.7: add scalar strrchr() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D47275
63ff982b17ee398c7808be323d8fd37819a5863c Strahinja Stanišić 2024-10-24 16:29:04

debug: classified in 04-filenames_plain2 by 'lib/'

libc: scalar memchr() in RISC-V assembly
Added an optimized memchr() implementation in RISC-V assembly and updated
the relevant manpage.

        │ memchr_baseline │            memchr_scalar            │
        │     sec/op      │   sec/op     vs base                │
Short         636.6µ ± 1%   495.9µ ± 1%  -22.10% (p=0.000 n=20)
Mid           279.7µ ± 1%   224.1µ ± 1%  -19.87% (p=0.000 n=20)
Long          138.8µ ± 0%   124.9µ ± 0%  -10.00% (p=0.000 n=20)
geomean       291.3µ        240.3µ       -17.48%

        │ memchr_baseline │            memchr_scalar             │
        │       B/s       │     B/s       vs base                │
Short        187.3Mi ± 1%   240.4Mi ± 1%  +28.37% (p=0.000 n=20)
Mid          426.2Mi ± 1%   531.9Mi ± 1%  +24.79% (p=0.000 n=20)
Long         859.0Mi ± 0%   954.4Mi ± 0%  +11.11% (p=0.000 n=20)
geomean      409.3Mi        496.0Mi       +21.19%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46023
563efdd3bd5d5f94e356444bb64fd66e13dda5e1 Strahinja Stanišić 2024-07-17 11:19:52

debug: classified in 04-filenames_plain2 by 'lib/'

libc: scalar memset() in RISC-V assembly
Adds scalar implementation of memset for RISC-V
and updates the relevant manpage

os: FreeBSD
arch: riscv
        │ ./results/memset/memset_baseline │   ./results/memset/memset_scalar    │
        │              sec/op              │   sec/op     vs base                │
40                             527.5µ ± 1%   479.4µ ± 1%   -9.12% (p=0.000 n=20)
168                            254.5µ ± 1%   216.7µ ± 1%  -14.86% (p=0.000 n=20)
2k                             169.5µ ± 1%   128.4µ ± 0%  -24.24% (p=0.000 n=20)
256k                           161.2µ ± 1%   118.6µ ± 1%  -26.42% (p=0.000 n=20)
16m                            56.58m ± 0%   53.91m ± 0%   -4.72% (p=0.000 n=20)
geomean                        730.2µ        611.2µ       -16.29%

        │ ./results/memset/memset_baseline │    ./results/memset/memset_scalar     │
        │               B/s                │      B/s       vs base                │
40                            452.0Mi ± 1%    497.3Mi ± 1%  +10.04% (p=0.000 n=20)
168                           936.9Mi ± 1%   1100.4Mi ± 1%  +17.45% (p=0.000 n=20)
2k                            1.373Gi ± 1%    1.813Gi ± 0%  +32.00% (p=0.000 n=20)
256k                          1.444Gi ± 1%    1.962Gi ± 1%  +35.91% (p=0.000 n=20)
16m                           269.7Mi ± 0%    283.1Mi ± 0%   +4.96% (p=0.000 n=20)
geomean                       750.1Mi         896.1Mi       +19.47%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoc 2024)
Differential Revision:  https://reviews.freebsd.org/D45730
40a958d5850ddda6d863558c8b31572f700d53ca Strahinja Stanišić 2024-06-21 15:43:45

debug: classified in 04-filenames_plain2 by 'lib/'

libc: scalar strlen() in RISC-V assembly
Includes a scalar implementation of strlen() for the RISC-V
architecture and changes to the corresponding manpage.

Performance was benchamarked using before and after:
https://github.com/clausecker/strperf

os: FreeBSD
arch: riscv
        │ strlen_baseline │             strlen_scalar              │
        │     sec/op      │   sec/op     vs base                   │
Short        541.2µ ± 17%   401.6µ ± 0%  -25.78% (p=0.000 n=21+20)
Mid          249.6µ ±  3%   191.9µ ± 0%  -23.13% (p=0.000 n=21+20)
Long         124.6µ ±  0%   110.7µ ± 0%  -11.13% (p=0.000 n=21+20)
geomean      256.3µ         204.3µ       -20.26%

        │ strlen_baseline │              strlen_scalar               │
        │       B/s       │      B/s       vs base                   │
Short       220.3Mi ± 14%    296.8Mi ± 0%  +34.74% (p=0.000 n=21+20)
Mid         477.6Mi ±  3%    621.3Mi ± 0%  +30.09% (p=0.000 n=21+20)
Long        956.9Mi ±  0%   1076.7Mi ± 0%  +12.52% (p=0.000 n=21+20)
geomean     465.2Mi          583.4Mi       +25.40%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D45693
e09c1583eddd345bdb79f3db8a91166f6f139207 Strahinja Stanišić 2024-05-17 14:23:48

debug: classified in 04-filenames_plain2 by 'lib/'

libc: scalar memcpy() in RISC-V assembly
Optimized assembly implementation of memcpy() for the RISC-V architecture.
The implementation has two paths:

 - An aligned path - (dst - src) % 8 = 0, runs faster
 - An unaligned path - (dst - src) % 8 != 0, runs slower

os: FreeBSD
arch: riscv
           │ memcpy_baseline │            memcpy_scalar            │
           │     sec/op      │   sec/op     vs base                │
64Align8         851.6µ ± 1%   488.9µ ± 1%  -42.59% (p=0.000 n=12)
4kAlign8         681.5µ ± 1%   255.1µ ± 2%  -62.57% (p=0.000 n=12)
256kAlign8       273.0µ ± 2%   230.7µ ± 2%  -15.50% (p=0.000 n=12)
16mAlign8        98.07m ± 0%   95.29m ± 0%   -2.84% (p=0.000 n=12)
64UAlign         887.5µ ± 1%   531.6µ ± 1%  -40.10% (p=0.000 n=12)
4kUAlign         725.6µ ± 1%   262.2µ ± 1%  -63.87% (p=0.000 n=12)
256kUAlign       844.1µ ± 2%   322.8µ ± 0%  -61.76% (p=0.000 n=12)
16mUAlign        134.9m ± 0%   101.2m ± 0%  -24.97% (p=0.000 n=20)
geomean          2.410m        1.371m       -43.12%

           │ memcpy_baseline │            memcpy_scalar             │
           │      MiB/s      │    MiB/s     vs base                 │
64Align8          293.6 ± 1%    511.3 ± 1%   +74.18% (p=0.000 n=12)
4kAlign8          366.8 ± 1%    980.0 ± 2%  +167.15% (p=0.000 n=12)
256kAlign8        915.8 ± 2%   1083.7 ± 2%   +18.34% (p=0.000 n=12)
16mAlign8         163.1 ± 0%    167.9 ± 0%    +2.92% (p=0.000 n=12)
64UAlign          281.7 ± 1%    470.3 ± 1%   +66.94% (p=0.000 n=12)
4kUAlign          344.5 ± 1%    953.6 ± 1%  +176.77% (p=0.000 n=12)
256kUAlign        296.2 ± 2%    774.5 ± 0%  +161.49% (p=0.000 n=12)
16mUAlign         118.6 ± 0%    158.1 ± 0%   +33.28% (p=0.000 n=20)
geomean           293.4         515.8        +75.81%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46139
25fdd86a4c92b5bdab82db289f3bcd57756778e7 Strahinja Stanišić 2024-07-24 23:33:30

debug: classified in 04-filenames_plain2 by 'lib/'

libc: scalar strnlen() in RISC-V assembly
Optimized implementation of strnlen() in RISC-V assembly

Performance was measured using strperf on a HiFive Unmatched (SiFive HF105-001) board.

os: FreeBSD
arch: riscv
        │ strnlen_baseline │           strnlen_scalar            │
        │      sec/op      │   sec/op     vs base                │
Short          787.0µ ± 0%   430.9µ ± 1%  -45.24% (p=0.000 n=20)
Mid            621.6µ ± 0%   195.1µ ± 1%  -68.61% (p=0.000 n=20)
Long           569.4µ ± 1%   100.6µ ± 0%  -82.34% (p=0.000 n=20)
geomean        653.1µ        203.7µ       -68.81%

        │ strnlen_baseline │            strnlen_scalar            │
        │      MiB/s       │    MiB/s     vs base                 │
Short           158.8 ± 0%    290.1 ± 1%   +82.62% (p=0.000 n=20)
Mid             201.1 ± 0%    640.6 ± 1%  +218.59% (p=0.000 n=20)
Long            219.5 ± 1%   1242.9 ± 0%  +466.19% (p=0.000 n=20)
geomean         191.4         613.5       +220.57%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz, Jari Sihvola <jsihv@gmx.com>
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46230
5a52f0704435b089199201be0029e0d7c9ef2fce Strahinja Stanišić 2024-08-04 15:12:00

debug: classified in 04-filenames_plain2 by 'lib/'

libc: scalar strchrnul() in RISC-V assembly
Scalar implementation of strchrnul() in RISC-V assembly and changes to the
corresponding manpage.

Performance was benchmarked on a HiFive Unmatched (SiFive HF105-001) board
using: https://github.com/clausecker/strperf

os: FreeBSD
arch: riscv
        │ strchrnul_baseline │          strchrnul_scalar           │
        │       sec/op       │   sec/op     vs base                │
Short            680.2µ ± 5%   435.3µ ± 0%  -36.01% (p=0.000 n=20)
Mid              314.7µ ± 3%   221.4µ ± 0%  -29.63% (p=0.000 n=20)
Long             152.3µ ± 0%   138.5µ ± 0%   -9.08% (p=0.000 n=20)
geomean          319.5µ        237.2µ       -25.75%

        │ strchrnul_baseline │          strchrnul_scalar          │
        │       MiB/s        │   MiB/s     vs base                │
Short             183.8 ± 5%   287.2 ± 0%  +56.27% (p=0.000 n=20)
Mid               397.3 ± 3%   564.6 ± 0%  +42.12% (p=0.000 n=20)
Long              820.5 ± 0%   902.5 ± 0%   +9.99% (p=0.000 n=20)
geomean           391.3        527.0       +34.68%

MFC after:      1 month
MFC to:         stable/15
Approved by:    markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46047
08af0bbc9c7d71bbaadb31ad31f8492f40537c5c Strahinja Stanišić 2024-07-19 17:58:04

debug: classified in 04-filenames_plain2 by 'lib/'

libc/riscv64: implement bcopy() and bzero() through memcpy() and memset()
This picks up the accelerated string functions written by
strajabot@.

Event:          Google Summer of Code 2024
MFC after:      1 month
MFC to:         stable/15
See also:       79e01e7e643c9337d8d6046b6db7df674475a099
Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D53248
b5dbf3de561189140c73f915bd50c28ea69a1e19 Robert Clausecker 2025-10-21 18:55:41

debug: classified in 04-filenames_plain2 by 'lib/'

libpfctl: fix error handling
In two cases we returned E2BIG where it should have been a boolean ('false').

MFC after:      1 week
Sponsored by:   Rubicon Communications, LLC ("Netgate")
9bb1c46b4c38c44565fc24f13acdc19b0cb5a1c4 Kristof Provost 2025-11-03 13:55:44

debug: classified in 04-filenames_plain2 by 'lib/'

ncurses: Move termcap and tabset to ncurses-lib
termcap and tabset are currently in runtime, but since ncurses is the
only thing which uses them, they belong in the ncurses package.

curses without termcap is not very useful, so put them in the -lib
subpackage rather than ncurses itself, so that installing ncurses-lib
provides a working curses.

This change moves files between packages so, until we have a proper
policy on how to handle this in release/stable branches, it should
not be MFC'd.

MFC after:      never
Discussed with: kevans
Reviewed by:    manu, kevans
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53610
8a8f2ebd2d3e09cfc057b5ba6ced2fd3151cfb0f Lexi Winter 2025-11-06 14:29:56

debug: Commit manually moved from "unknown" to "libs".

lib/libc: implement C23 memalignment()
This new function computes the alignment of a pointer.
It is part of ISO/IEC 9899:2024, the new C standard.
If the pointer is a null pointer, null is returned.
I have tried to write an implementation that can cope
with traditional address-based architectures, even if
size_t and uintptr_t are of different length.  Adjustments
may be needed for CHERI though.

A man page is provided, too.  No unit test for now.

Reviewed by:    kib, imp, ziaee (manpages), pauamma@gundo.com
Approved by:    markj (mentor)
MFC after:      1 month
Relnotes:       yes
Differential Revision:  https://reviews.freebsd.org/D53673
6c57e368eb1777f6097158eeca2fcc175d068dba Robert Clausecker 2025-11-10 17:54:41

debug: classified in 05-summary-prefix by 'lib.*:'

msun: expose the C23 functions we already support in <math.h>
This is the *pi family of trigonometric functions. Quite a few C23
functions are still missing.  These seem to be:
acospi, acospif, acospil, asinpi, asinpif, asinpil, atan2pi, atan2pif,
atan2pil, atanpi, atanpif, atanpil, canonicalize, canonicalizef,
canonicalizel, compoundn, compoundnf, compoundnl, daddl, ddivl, dfmal,
dmull, dsqrtl, dsubl, exp10, exp10f, exp10l, exp10m1, exp10m1f,
exp10m1l, exp2m1, exp2m1f, exp2m1l, fadd, faddl, fdiv, fdivl, ffma,
ffmal, fmaximum, fmaximum_mag, fmaximum_mag_num, fmaximum_mag_numf,
fmaximum_mag_numl, fmaximum_magf, fmaximum_magl, fmaximum_num,
fmaximum_numf, fmaximum_numl, fmaximumf, fmaximuml, fminimum,
fminimum_mag, fminimum_mag_num, fminimum_mag_numf, fminimum_mag_numl,
fminimum_magf, fminimum_magl, fminimum_num, fminimum_numf,
fminimum_numl, fminimumf, fminimuml, fmul, fmull, fromfp, fromfpf,
fromfpl, fromfpx, fromfpxf, fromfpxl, fsqrt, fsqrtl, fsub, fsubl,
iscanonical, iseqsig, issignaling, issubnormal, iszero, nextdown,
nextdownf, nextdownl, nextup, nextupf, nextupl, pown, pownf, pownl,
powr, powrf, powrl, rootf, rootl, rootn, roundeven, roundevenf,
roundevenl, rsqrt, rsqrtf, rsqrtl, ufromfp, ufromfpf, ufromfpl,
ufromfpx, ufromfpxf, ufromfpxl.

Reviewed by:    imp
Approved by:    markj (mentor)
MFC after:      1 month
Relnotes:       yes
Differential Revision:  https://reviews.freebsd.org/D53783
37fa5b36abb15b322493aba20146709d48359507 Robert Clausecker 2025-11-17 17:09:11

debug: classified in 04-filenames_plain2 by 'lib/'

libpfctl: improve error handling
If we fail to open /dev/pf don't try to close it again. That would result in
errno getting overwritten by close(), hiding potentially useful information.

MFC after:      2 weeks
Sponsored by:   Rubicon Communications, LLC ("Netgate")
238ad591da9eede122a708be925b6b6a20e9046b Kristof Provost 2025-11-25 13:48:29

debug: classified in 04-filenames_plain2 by 'lib/'

Commit group #44: libefivar
libefivar: Standardize #ifndef __FreeBSD__

Standardize preprocessor directives that comment out unused functions
(essentially #if 0).

No functional change intended.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
b38f48d33616337a8931c1c61f9e53981d4c0bcc Jose Luis Duran 2025-11-13 16:08:44

debug: classified in 04-filenames_plain2 by 'lib/'


libefivar: Move functions to match reference file

Move a few functions to match their locations in the reference file.
No functional change intended.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
ef191142dc2c51e51209090daf7e938222174ecf Jose Luis Duran 2025-11-13 20:54:15

debug: classified in 04-filenames_plain2 by 'lib/'


libefivar: Add and comment out unused functions

This commit introduces gratuitous white space and unused functions.
This functionality is guarded/commented out.  This change is necessary
to reduce the differences with the reference file in subsequent commits.

No functional change intended.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
5b7b60af7ba164faa915002b336075e50c120f02 Jose Luis Duran 2025-11-13 17:35:54

debug: classified in 04-filenames_plain2 by 'lib/'


libefivar: MdePkg: Clean up source files

1. Do not use tab characters
2. No trailing white space in one line
3. All files must end with CRLF

No functional change.

Obtained from:  https://github.com/tianocore/edk2/commit/9095d37b8fe5bfc3d02adad6ba7fd7359ebc0107

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
9677ae7864fa785bb994e5f07e25bad3cf1139db Jose Luis Duran 2025-11-13 16:36:48

debug: classified in 04-filenames_plain2 by 'lib/'


libefivar: Add a checking step

Add a checking step in DevicePathUtilities.c to verify DevicePath.
https://bugzilla.tianocore.org/show_bug.cgi?id=1372

v2: Remove ASSERT() and the redundant checking step. Update related
    description.

Note that the link above no longer exists.  The commit message was kept
verbatim.  An archived version of the bug report can be found at:
https://web.archive.org/web/20240714192353/bugzilla.tianocore.org/show_bug.cgi?id=1372

Obtained from:  https://github.com/tianocore/edk2/commit/fd02394228ee1dc2378cccfde6098c461f96dd42

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
fd606b629f91560d4369ba8beda0a5ce763ee065 Jose Luis Duran 2025-11-13 16:45:16

debug: classified in 04-filenames_plain2 by 'lib/'


libefivar: Add sanity check for FilePath device path

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1497

Current implementation of IsDevicePathValid() is not enough for type
of MEDIA_FILEPATH_DP, which has NULL-terminated string in the device
path. This patch add a simple NULL character check at Length position.

Note that the link above no longer exists.  The commit message was kept
verbatim.  An archived version of the bug report can be found at:
https://web.archive.org/web/20240714191428/https://bugzilla.tianocore.org/show_bug.cgi?id=1497

Add the const keyword to avoid errors/warnings about dropping a const
qualifier.

Obtained from:  https://github.com/tianocore/edk2/commit/2f7a96d6ec13b292d6f31295f3195913921173e1

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
5c2ae0a209f6964ebe2d3a4cc24987e3bd7f597d Jose Luis Duran 2025-11-13 16:49:05

debug: classified in 04-filenames_plain2 by 'lib/'


libefivar: Replace BSD License with BSD+Patent License

https://bugzilla.tianocore.org/show_bug.cgi?id=1373

Replace BSD 2-Clause License with BSD+Patent License.  This change is
based on the following emails:

  https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
  https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:

  V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
  V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
  V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

Note that the link above no longer exists.  The commit message was kept
verbatim.  An archive of the bug report can be found at:
https://web.archive.org/web/20240714192319/https://bugzilla.tianocore.org/show_bug.cgi?id=1373

Obtained from:  https://github.com/tianocore/edk2/commit/9344f0921518309295da89c221d10cbead8531aa

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
136ff605bfb1311ecb836e6f3a41f22476aee618 Jose Luis Duran 2025-11-13 16:52:51

debug: classified in 04-filenames_plain2 by 'lib/'


libefivar: Support UefiDevicePathLib under StandaloneMm

This change added an instance of UefiDevicePathLib for StandaloneMm. It
abstracts DevicePathFromHandle function into different files for
Standalone MM and other instances to avoid linking gBS into MM_STANDALONE
drivers.

No functional change intended, as this function and its invocation are ifdefd
out.

Obtained from:  https://github.com/tianocore/edk2/commit/14a746bb6a92d59669c67a970479558734cf2383

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
6fa0057f8953a7077362901128be14171ed705b8 Jose Luis Duran 2025-11-13 18:51:39

debug: classified in 04-filenames_plain2 by 'lib/'

libefivar: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the MdePkg package

Note that the link above no longer exists.  The commit message was kept
verbatim.  An original copy of the bug report can be found at:
https://web.archive.org/web/20241008121707/https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Obtained from:  https://github.com/tianocore/edk2/commit/2f88bd3a1296c522317f1c21377876de63de5be7

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
8494a3de2c50e9d066b9e0b043306a49b932e025 Jose Luis Duran 2025-11-13 17:16:55

debug: classified in 04-filenames_plain2 by 'lib/'

libc: Simplify __get_locale()
MFC after:    1 week
Sponsored by:   Klara, Inc.
Reviewed by:    fuz
Differential Revision:  https://reviews.freebsd.org/D53908
5af240c54bd2d9548536c904e841499e1651bcc8 Dag-Erling Smørgrav 2025-11-26 16:54:52

debug: classified in 04-filenames_plain2 by 'lib/'

strfmon: EINVAL if the '+' flag and both signs are empty
According to the Open Group Base Specifications Issue 8[1], strfmon(3)
should return EINVAL when the '+' flag was included in a conversion
specification and the locale's positive_sign and negative_sign values
would both be returned by localeconv(3) as empty strings.

Austin Group Defect 1199[2] is applied, adding the [EINVAL] error.

[1]: https://pubs.opengroup.org/onlinepubs/9799919799/functions/strfmon.html
[2]: https://www.austingroupbugs.net/view.php?id=1199

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53912
1fd018972a18b682521bb8f004dfd162327e5db2 Jose Luis Duran 2025-11-26 20:34:55

debug: classified in 04-filenames_plain2 by 'lib/'

strfmon: Fix negative sign handling for C locale
If the locale's positive_sign and negative_sign values would both be
returned by localeconv() as empty strings, strfmon() shall behave as if
the negative_sign value was the string "-".

This occurs with the C locale.  The implementation previously assigned
"0" to sign_posn (parentheses around the entire string); now it assigns
it to "1" (sign before the string) when it is undefined (CHAR_MAX).

Austin Group Defect 1199[1] is applied, changing the requirements for
the '+' and '(' flags.

[1]: https://www.austingroupbugs.net/view.php?id=1199

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53913
cf85e7034ad5640b18a3b68d6b291b7bf89bfc80 Jose Luis Duran 2025-11-26 20:34:56

debug: classified in 04-filenames_plain2 by 'lib/'

libsecureboot: do further checks on files without manifests
verify_prep can return VE_FINGERPRINT_NONE. Consider such scenario so
the VE_GEUSS heuristics works with files that likely will not have
fingerprints in the manifest file.

Obtained from:  Hewlett Packard Enterprise
Reviewed by:    sjg
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53940
52c0749723bd80017fb0c0487440762a783ad323 Ka Ho Ng 2025-11-27 02:17:14

debug: classified in 04-filenames_plain2 by 'lib/'

time.h: add timegm() to the C23 namespace
This function is part of ISO/IEC 9899:2024 (C23) and was forgotten in D47856.

Reviewed by:    imp
Approved by:    markj (mentor)
See also:       D47856
Fixes:          https://cgit.freebsd.org/src/commit/?id=59677aecb67bbedcfa2ee5d7d2b189193cdc4af7
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53951
5da388c633f8da8fbb35b8407ca848373e3ea977 Robert Clausecker 2025-11-27 17:36:18

debug: classified in 03-filenames_plain1 by 'include/'

uchar.h: add char8_t
A type similar to char16 and char32_t, for compliance with C23.
The related type atomic_char8_t is added to stdatomic.h.
As char8_t is always unsigned char, I've skipped adding __char8_t.
This can be added, too, if desired.

Reviewed by:    imp
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53952
f0e541118c374869a8226eaa1320bb6eda248a20 Robert Clausecker 2025-11-27 17:57:02

debug: classified in 05-summary-prefix by 'uchar.h:'

Commit group #45: stddef.h: add unreachable() for C23 compliance
stddef.h: add unreachable() for C23 compliance

unreachable() is a hint to the compiler that it is unreachable.
Add a new man page unreachable(3) to document this macro.

Reviewed by:    imp
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53967
b381d0980221b476cadbef862a8e5973d675fb7a Robert Clausecker 2025-11-27 20:19:49

debug: classified in 05-summary-prefix by 'stddef.h:'


unreachable.3: add missing brace in example

Reported by:    alc
Approved by:    markj (mentor)
MFC after:      1 month
Fixes:          https://cgit.freebsd.org/src/commit/?id=b381d0980221b476cadbef862a8e5973d675fb7a
See also:       D53967
233ddc56a7ed222ea8903479cd3ae9df044b990a Robert Clausecker 2025-11-28 20:45:00

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

debug: moved to libs because 'Need to be grouped with b381d0980221b476cadbef862a8e5973d675fb7a'

clang: remove armv6 comment
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
f3607f5a7f6923bda8a2efc95d4238a5f1903fff Minsoo Choo 2025-11-29 00:47:52

debug: classified in 04-filenames_plain2 by 'lib/'

libsys: remove armv6 hack
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
57c0a337dbc592a82d184f18dc69634eb0a9db10 Minsoo Choo 2025-11-29 00:48:29

debug: classified in 04-filenames_plain2 by 'lib/'

libc: implement C23 <stdbit.h> functions
This new header complies with ISO/IEC 9899:2024 (C23).

Contrary to glibc, we do not provide inline definitions in
<stdbit.h> as we expect our system compiler to soon recognise
these as builtins anyway.

Relnotes:       yes
MFC after:      1 month
Reviewed by:    adrian
Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D53657
6296500a85c8474e3ff3fe2f8e4a9d56dd0acd64 Robert Clausecker 2025-11-18 17:32:53

debug: classified in 05-summary-prefix by 'lib.*:'

libuvmem: usermode port of vmem(9)
The quantum cache is disabled, there is no uma.

Intent is to use this for resource allocation in bhyve(8), for start.
Addition of -luvmem to bhyve linking was done to test changes to share/mk.

Reviewed by:    bnovkov, markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D27220
1ecf01065b45018de3901c8bf89d703af737feeb Konstantin Belousov 2020-12-21 17:41:34

debug: classified in 05-summary-prefix by 'lib.*:'

Commit group #46: librdmacm/libibverbs: Statically bound libbnxtre.so.1 to rping
librdmacm/libibverbs: Statically bound libbnxtre.so.1 to rping

By default ibv_devices and rping are not statically bound to
libbnxtre.so.1. i.e. 'ldd /usr/bin/rping' command doesn't list
'libbnxtre.so.1' entry. So, statically bound the libbnxtre.so.1
library to rping & ibv_devices utils.

MFC-After:      3 days
Reviewed-by:    sumit.saxena@broadcom.com
Differential-Revision: https://reviews.freebsd.org/D49604
35dd53a9e13265f7a479649776453efc5b737a0f Sumit Saxena 2025-12-03 11:28:33

debug: classified in 05-summary-prefix by 'lib.*:'


libpcap: Fix dependency definitions for libpcap

Commit 35dd53a9e132 ("librdmacm/libibverbs: Statically bound libbnxtre.so.1 to rping")
causes a build failure, since src.libnames.mk declares a depencency on
libbnxtre.so, but the libpcap Makefile and prebuild lib dependencies
were not updated accordingly.  Fix the declarations.

Fixes:  https://cgit.freebsd.org/src/commit/?id=35dd53a9e132 ("librdmacm/libibverbs: Statically bound libbnxtre.so.1 to rping")
Reviewed by:    ssaxena
Differential Revision:  https://reviews.freebsd.org/D54048
73e8fe62466a8ae5576473d9be4c6df9a6eedab0 Mark Johnston 2025-12-03 14:26:50

debug: classified in 02-filenames_wildcards by '.*Makefile'


Makefile.inc1: Fix the libbnxtre dependency target

Reported by:    Jenkins
Fixes:          https://cgit.freebsd.org/src/commit/?id=73e8fe62466a ("libpcap: Fix dependency definitions for libpcap")
e19230d49ffc02944d93645800da934b7aeee078 Mark Johnston 2025-12-03 15:06:54

debug: classified in 02-filenames_wildcards by '.*Makefile'

debug: moved to libs because 'Need to be grouped with 73e8fe62466a8ae5576473d9be4c6df9a6eedab0'

libc/stdc_has_single_bit.c: fix gcc warning (-Wparentheses)
gcc14 is concerned that the operator precedence between - and & might
be confusing.  Throw in some redundant parentheses to make it shut up.
The LLVM build was fine before this change.

Reported by:    Martin Filla <freebsd@sysctl.cz>
Approved by:    markj (mentor)
MFC after:      1 month
Fixes:          https://cgit.freebsd.org/src/commit/?id=6296500a85c8474e3ff3fe2f8e4a9d56dd0acd64
Differential Revision:  https://reviews.freebsd.org/D54057
3d71ce92eae9f1417f35a0d07912858fd8f6fa0b Robert Clausecker 2025-12-03 18:36:27

debug: classified in 04-filenames_plain2 by 'lib/'

ncurses: readd "bsdpads"
During the import of ncurses 6.5 some bsd specifics configuration where
lost and reintroduce quickly after the import, unfortunatly there was a
typo in this fix which caused the "bsdpads" to not be enabled in
ncurses.

Fortunatly only very old programs may be affected by this change,
unfortunatly Nethack (in the ports tree is one of them.)

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287358
MFC After:      3 days
836a0d46320c18d83029bf138b630b6ce5ebe6ae Baptiste Daroussin 2025-12-05 10:18:48

debug: classified in 04-filenames_plain2 by 'lib/'

pfctl: move astats query into libpfctl
Sponsored by: Rubicon Communications, LLC ("Netgate")
4aa79010bceafdeecb11c2d95bba48d0f6b295f5 Kristof Provost 2025-12-02 16:24:44

debug: Commit manually moved from "unknown" to "libs".

cldr2def.pl: Add international currency parameters
Add the missing international monetary parameters present in the lconv
struct.

See also https://unicode-org.atlassian.net/browse/CLDR-237.

Reviewed by:    bapt
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53915
faf33e05013fb3fc79cc035c1ff7b52f3fa1af1b Jose Luis Duran 2025-12-06 12:20:16

debug: classified in 03-filenames_plain1 by 'tools/tools/locale/'

locale: make build to bump widths.txt
Reviewed by:  bapt
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53916
30aa5507f349f761770c5cf49989d6cf7eb3498d Jose Luis Duran 2025-12-06 12:20:16

debug: classified in 03-filenames_plain1 by 'tools/tools/locale/'

locale: make posix
Run make posix to generate monetary definition files with the
international parameters missing from localeconv(3)'s lconv struct.

Manually convert the "frozen" non-unicode locales under share/monetdef.

Reviewed by:    bapt
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53917
9df8243a2e0ab1ef027cbfbcb4105f5f0ce108e1 Jose Luis Duran 2025-12-06 12:20:17

debug: classified in 03-filenames_plain1 by '['share/monetdef/', 'share/monetdef_unicode/']'

cldr2def.pl: Fix make install
Follow up on 86c71e97d19f ("pkgbase: locales: Also tag the files dir"),
and adapt cldr2def.pl script in order to fix make install.

Reviewed by:    bapt
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53961
95f37aa3e51ce46821059b2c9dbb02fef5c4bec5 Jose Luis Duran 2025-12-06 12:20:18

debug: classified in 03-filenames_plain1 by 'tools/tools/locale/'

locale: tools: Make finalize idempotent
The finalize script renames source files with 3 components in their name
into names with two components with an @modifier, in the process.

Running the script for a second time without cleaning will strip the
@modifier from the files, producing invalid Makefiles and unusable
locales.

Prevent this by adding a guard at the beginning of the script.

Also, use a sub-shell for directory changes to avoid working directory
issues.

Reviewed by:    bapt
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53981
934364da7fc8cd3ba4d030d0478163b41dda1b37 Jose Luis Duran 2025-12-06 12:20:19

debug: classified in 03-filenames_plain1 by 'tools/tools/locale/'

locale: make install Unicode 17.0.0/CLDR 48
Unicode 17.0 adds 4803 characters, for a total of 159,801 characters.
The new additions include 4 new scripts:

- Sidetic
- Tolong Siki
- Beria Erfe
- Tai Yo

https://www.unicode.org/versions/Unicode17.0.0/
2cfd9fe87b90eddb9d0b3df3459d923092c491fb Jose Luis Duran 2025-12-08 18:44:21

debug: classified in 03-filenames_plain1 by '['share/colldef_unicode/', 'share/ctypedef/', 'share/monetdef_unicode/', 'share/numericdef_unicode/', 'tools/tools/locale/']'

libc/string: add strdupa(3) and strndupa(3)
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54066
a98e5d78500193dc7aa352e1f60ac2c6529e2c38 Konstantin Belousov 2025-12-03 23:56:26

debug: classified in 05-summary-prefix by 'lib.*:'

get*ent: be consistant about _ALIGN(p) - p
Add an nscache specific inline function to calculate the misalignment
rather than adding and subtracting _ALIGN(p) and p which can take the
buffer far out of bound (undefined behavior in C and unsupported on
CHERI).

Reviewed by:    kib
Effort:         CHERI upstreaming
Obtained from:  CheriBSD
Sponsored by:   DARPA
Differential Revision:  https://reviews.freebsd.org/D53945
ac79e2e025e03b7038e3abc886e34a03f5ec2934 Brooks Davis 2025-12-10 10:57:34

debug: classified in 04-filenames_plain2 by 'lib/'

libcasper: fix warnings when _ALIGN preserves types
Without the void * casts, the compiler complains about an alignment
requirement increase.

Reviewed by:    kib, markj
Obtained from:  CheriBSD
Effort:         CHERI upstreaming
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D53946
cfae62eac076d43bc94c667084018a21ee8a305f Brooks Davis 2025-12-10 10:57:45

debug: classified in 04-filenames_plain2 by 'lib/'

libc/amd64: fix overread conditions in stpncpy()
Due to incorrect unit test design, two overread conditions went
undetected in the amd64 baseline stpncpy() implementation.
For buffers of 1--16 and 32 bytes that do not contain nul bytes
and end exactly at a page boundary, the code would incorrectly
read 16 bytes from the next page, possibly crossing into an
unmapped page and crashing the program.  If the next page was
mapped, the code would then proceed with the expected behaviour
of the stpncpy() function.

Three changes were made to fix the bug:

 - an off-by-one error is fixed in the code deciding whether to
   enter the runt case or not, entering it for 0<n<=32 bytes
   instead of 0<n<32 bytes as it was before.
 - in the runt case, the logic to skip reading a second 16-byte
   chunk if the buffer ends in the first chunk was fixed to
   account for buffers that end at a 16-byte boundary but do not
   hold a nul byte.
 - in the runt case, the logic to transform the location of the
   end of the input buffer into a bit mask was fixed to allow
   the case of n==32, which was previously impossible due to the
   incorrect logic for entering said case.

The performance impact should be minimal.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291359
See also:       D54169
Reported by:    Collin Funk <collin.funk1@gmail.com>
Reviewed by:    getz
Approved by:    markj (mentor)
MFC after:      1 week
Fixes:          https://cgit.freebsd.org/src/commit/?id=90253d49db09a9b1490c448d05314f3e4bbfa468 (https://cgit.freebsd.org/src/commit/?id=D42519)
Differential Revision:  https://reviews.freebsd.org/D54170
66eb78377bf109af1d9e25626bf254b4369436ec Robert Clausecker 2025-12-10 20:45:18

debug: classified in 04-filenames_plain2 by 'lib/'

Filesystems

ddb show lockedvnods: avoid trap for ufs vnode under construction
ddb show lockedvnods might find a ufs vnode after it is inserted into
the mount queue in ffs_vgetf but before the dinode is allocated.  Avoid
trapping by testing for the dinode pointer.

Reviewed by:    markj
Discussed with: mjg
Sponsored by:   Dell Inc.
Differential Revision:  https://reviews.freebsd.org/D52795
76157a63a0c63dd7363f6c8ae60edc814b3c138a Ryan Libby 2025-10-01 18:25:27

debug: classified in 03-filenames_plain1 by 'sys/ufs/'

Commit group #47: nullfs
nullfs: remove the vhold/vdrop cycle around unlock

Both lower vnode and null data are safe while the lock is held,
at the same time neither is touched after unlock.

While here remove stale comment about interlock handling. It is no
longer legal to pass to unlock.

Reviewed by:            kib
Tested by:              pho (previous version)
Differential Revision:  https://reviews.freebsd.org/D38761
94aae0513896de398a1feda6cd97f7efa2a5dc2e Mateusz Guzik 2025-10-01 11:09:50

debug: classified in 03-filenames_plain1 by 'sys/fs/'


nullfs: assert the vnode is not doomed in null_hashget_locked

While here some style touch ups and fixing a stale name in an assert.

Reviewed by:            kib
Tested by:              pho (previous version)
Differential Revision:  https://reviews.freebsd.org/D38761
72347d73464ccdd361c4d286486b9b4ea8d7c945 Mateusz Guzik 2025-10-01 10:28:48

debug: classified in 03-filenames_plain1 by 'sys/fs/'


nullfs: smr-protected hash lookup

Vast majority of real-world contention on the hash comes from lookups,
notably seen during highly parallel poudriere runs.

Lockless lookup largely alleviates the problem.

Reviewed by:            kib
Tested by:              pho (previous version)
Differential Revision:  https://reviews.freebsd.org/D38761
249ec85352b5b69d70f71e3a329d16334ca71f59 Mateusz Guzik 2025-09-30 15:16:30

debug: classified in 03-filenames_plain1 by 'sys/fs/'


nullfs: avoid the interlock in null_lock with smr

This largely eliminates contention on the vnode interlock.

Note this still does not scale, to be fixed(tm).

Reviewed by:            kib
Tested by:              pho (previous version)
Differential Revision:  https://reviews.freebsd.org/D38761
641a58239520de9fc5a9077e9a709481cfc75dc0 Mateusz Guzik 2025-10-01 10:06:39

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nullfs: Slightly reduce contention by reducing concurrent sections
In null_lock_prep_with_smr(), initialize 'lvp' outside of the
SMR-protected section.

In null_lock(), if after locking the lower vnode we notice that we have
been reclaimed, we have to unlock the lower vnode and then relock our
own now that the lock isn't shared anymore.  Call VOP_UNLOCK() on the
lower vnode as soon as this condition is known.

This applies comments from D38761, one of which was missed and the other
added too late.

Reviewed by:    kib
MFC with:       641a58239520 ("nullfs: avoid the interlock in null_lock with smr")
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52935
09f925b57aeb171318a9d54df500bf22b4cdd986 Olivier Certner 2025-10-06 13:22:13

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nullfs: shrink null_node to 32 bytes
84f981ba57e77bd3c3d0fbf1469ce51bfd132a6b Mateusz Guzik 2025-10-06 17:59:17

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nullfs: fix up build with INVARIANTS after previous
0ecbc335daa8caac8b5952d83e821533c99de6ea Mateusz Guzik 2025-10-06 19:21:38

debug: classified in 03-filenames_plain1 by 'sys/fs/'

fs/nullfs/null.h: put first definition after headers include
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D52983
035f1971ade4396d6f5d5b48f353030f559a0a5f Konstantin Belousov 2025-10-08 15:48:17

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nullfs: add a helper for testing if vnode belongs to a nullfs mount
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D52983
419f2fe6b70b1a409bf7eca7020d7c745558690f Konstantin Belousov 2025-10-08 15:42:27

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nullfs_mount: use symbols instead of string literals for cache mount options
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D52983
8e6f6a5fbde78bd8d19445ee6ebaf00b8f4f5aa9 Konstantin Belousov 2025-10-08 15:44:59

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nullfs: add nounixbypass mount option
The option, when set, disables bypassing the unix socket vnode down
to the lower mp, effectively preventing connection to nullfs unix
socket from being acceptable from the lower mp (and vice versa).

This is done by providing a vop vector that stops bypass for unp-related
VOPs.  I believe that VFS_VOP_VECTOR_REGISTER() does the right thing
there regardless of the order of initialization.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D52983
6fa205a6233fea7c41ba0306c778bc5cab37ce7d Konstantin Belousov 2025-10-08 15:47:15

debug: classified in 03-filenames_plain1 by 'sys/fs/'

p9fs: Use proper prototype for SYSINIT functions
MFC after:    1 week
11cfa861e3ff83649c54e5781b541166dc73e80b Zhenlei Huang 2025-10-13 10:12:30

debug: classified in 03-filenames_plain1 by 'sys/fs/'

fuse_flush: Reuse the struct mount *mp variable
Approved by: asomers
Differential Revision: https://reviews.freebsd.org/D53082
af30e8d90b772c0997da013b17e67a64841282ac Gleb Popov 2025-10-14 09:24:27

debug: classified in 03-filenames_plain1 by 'sys/fs/'

unionfs: fix NULL deref on closing an fd passed through SCM_RIGHTS
If the last reference to an open file is contained in an SCM_RIGHTS
message in a UNIX domain socket, and that message is discarded without
being read out by the receiver, VOP_CLOSE will ultimately be called
with ap->a_td == NULL.

Change unionfs_close() to check for this condition instead of blindly
passing the thread to unionfs_find_node_status() which will try to
dereference it.  Also add relevant asserts on the node status lookup
paths.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289700
Reported by:    asomers
Reviewed by:    asomers, olce
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D53079
880d180bb21c764aec6bd5bc8c0a6b07b8c2e199 Jason A. Harmening 2025-10-13 20:40:46

debug: classified in 03-filenames_plain1 by 'sys/fs/'

ffs_truncate: correct INVARIANTS panic debug output
Reported by:  GCC -Warray-bounds
Reviewed by:    mckusick
Differential Revision:  https://reviews.freebsd.org/D53037
a0ea4c04b5269ac138a3cf551047076472c6028e Ryan Libby 2025-10-15 04:03:04

debug: classified in 03-filenames_plain1 by 'sys/ufs/'

unionfs: avoid vdrop()ing a locked but doomed vnode
unionfs_lock() unconditionally calls vdrop() on the target vnode
after locking it, but it's possible this vnode may be doomed.
In that case, vdrop() may free the vnode, which in certain cases
requires taking the vnode lock.  Commit a7aac8c20497d added an
assert to this effect, which unionfs_lock() now trips over.

Fix this by lightly reworking the flow of unionfs_lock() so that
the target vnode is vdrop()ed after being unlocked in the case
where the unionfs lock operation needs to be restarted (which
will happen if the unionfs vnode has been doomed, which is a
prerequisite for the target vnode in the underlying filesystem
to have been doomed).

While here, get rid of a superfluous vhold/vdrop sequence in
unionfs_unlock() that was probably inherited from nullfs and whose
nullfs equivalent was recently removed.

MFC after:      1 week
Reviewed by:    kib, markj, olce
Tested by:      pho
Differential Revision: https://reviews.freebsd.org/D53107
a498c5e1a111ae8c48b8e7028daff861785c2bf2 Jason A. Harmening 2025-10-14 19:40:39

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nfscommon: Update the nfs_bigreply array
The variable is simply a long series of flags.  Mark as boolean to allow
the compiler to use smaller types.

Convert to designated initializer to better indicate which operations it
is set for.  Without this the array is kind of long and sparse.

nfsv4_setsequence() is no longer used outside nfs_commonsubs.c, so now
mark it as static.  The fourth argument is true/false, so convert to
boolean.

No semantics change is made by this commit.

Discussed with: jrtc27
MFC after:      2 weeks
a6369fb9e4b40396ea6ef1987436019612c387cd Elliott Mitchell 2025-10-19 20:29:08

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nfs: Add support for the NFSv4 archive attribute
The archive attribute (UF_ARCHIVE) is listed as deprecated
in RFC8881.  However, the Windows NFSv4.1 client folk disagree
with this and say they need support for it.

This patch adds support for it, in a manner similar to what
is done for UF_SYSTEM and UF_HIDDEN.

MFC after:      2 weeks
3b6d4c6cdffd6e37b8fa6e0b0fe3067210582c9c Rick Macklem 2025-10-22 21:16:48

debug: classified in 03-filenames_plain1 by 'sys/fs/'

deadfs: Return ENXIO instead of EIO when the device is gone.
One some systems, under some conditions, pulling a USB stick would
read(2) returning EIO and not ENXIO, like it should and used to.

Recoverdisk(1), which does not give up on EIO, like most programs
would, spins furiously.

Arguably, deadfs was always wrong in returning EIO, because once you
get to deadfs no operation will ever work again, but we used to
take a different path through devfs_vnops.c which got us the ENXIO.

Something changed recently, and while testing this fix, I noticed
that drm-kmod-66/i915kms may be the condition which trigger
the different code-path.

MFC to: stable/15
Fixes: https://cgit.freebsd.org/src/commit/?id=289785
Thanks to: imp, kib
2612f1b8649bb4f069a6a064ed714daa5f10d037 Poul-Henning Kamp 2025-10-24 07:19:31

debug: classified in 03-filenames_plain1 by 'sys/fs/'

fusefs: fix page fault triggered by async notification when unmounted
A FUSE daemon can send asynchronous notification to the kernel in order
to, for example, invalidate an inode's cache.  Fix a page fault that can
happen if the file system isn't yet mounted, or is already unmounted,
when that notification arrives.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290519
MFC after:      1 week
Reviewed by:    emaste
Differential Revision: https://reviews.freebsd.org/D53356
5d42c8813976af484fd3e9a896c7839ba27ca764 Alan Somers 2025-10-26 00:37:02

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nfs_nfsdserv.c: Add a sanity check for layout commit cnt
If a client were to send a LayoutCommit (seldom
used and only for a pNFS server) with a bogus
cnt, there could be problems with a malloc() call
that uses it.

This patch adds a sanity check for the cnt. Note
that RFC8881 does not specify any upper bound
on the cnt.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53354
1a679fb907962843f01b103ec672136a8f8d8edb Rick Macklem 2025-10-27 14:24:47

debug: classified in 03-filenames_plain1 by 'sys/fs/'

Commit group #48: nfs_clrpcops.c
nfs_clrpcops.c: Add sanity checks for the slot cnts

The reply to CreateSession includes the slot cnt for
both fore and back slots. It should never be larger
than the argument specified and the fore slot cnt
should always be at least 1.

Without this patch, the replied slot cnts were not
being sanity checked.

While here, replace 64 with NFSV4_SLOTS (which is 64).

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    emaste, markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53363
3053b2a3dcab6e05311c3b696bee4c9e5698d93a Rick Macklem 2025-10-27 14:35:27

debug: classified in 03-filenames_plain1 by 'sys/fs/'


nfs_clrpcops.c: Fix two possible large NFSM_DISSECT()s

There are two cases in nfs_clrpcops.c where it was possible
for the code to attempt to NFSM_DISSECT() a large size,
which is not allowed by nfsm_dissct().

This patch fixes them.

Reducing the maximum stripecnt should be no problem,
since there in no extant NFSv4.n server that does striped
File Layout pNFS and current development is centered
around the Flex File layout.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53367
b9e6206f593385c80436d267ab759319c1e94e43 Rick Macklem 2025-10-27 14:43:02

debug: classified in 03-filenames_plain1 by 'sys/fs/'


nfs_clrpcops.c: Check for too large a write reply

The "rlen" reply length for a Write operation/RPC
could cause trouble if a broken server replies with
too large a value.

Improve the sanity check for "rlen" to avoid this.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    emaste, markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53368
2c82cdd2e29f8ba00d4289f36f8baa1598a1ad9b Rick Macklem 2025-10-27 14:49:32

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nfs_commonsubs.c: Add a sanity check for nid_ngroup
The nfsuserd(8) daemon passes user credentials
(uid + gids) into the kernel for users and groups
identified by name (received from a NFSv4 server).

This patch add a sanity check for the number of
groups (nid_ngroup) passed in.

It's only purpose is to protect against a bogus
nfsuserd(8) running in a jail.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53389
4672adcea4cf3c0c626d186f1f41c69552d915f1 Rick Macklem 2025-10-28 14:44:14

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nfs_clrpcops.c: NFSM_DISSECT() reply for each dir separately
Without this patch, the entire reply for all directories in
the NFSv4 mount path are parsed at once.  This could cause
problems for mount paths with many directories in the path.

This patch fixes the problem by parsing each directory
reply in a loop.

Spotted while fixing other cases that could do large
NFSM_DISSECT() sizes.

MFC after:      3 days
9d13c87afdb35c0014aa6f43c5652e946c18b756 Rick Macklem 2025-10-28 21:31:30

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nfs_commonsubs.c: Get rid of variable used as a constant
The variable ncl_mbuf_mhlen is set to MHLEN and only
used in one place.  This patch simply deletes it and
replaces it with MHLEN.

This patch should not affect semantics.

Spotted while fixing cases that could do large
NFSM_DISSECT() sizes.

MFC after:      2 weeks
73551cd6eac29a6707c802c7d7fafcb560bf5e2b Rick Macklem 2025-10-29 00:28:04

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nfs_clvfsops.c: Allow long directory mount paths
Without this patch, the NFS client code for mounts has
an arbitrary 100 character limit for the directory path
being mounted on the server.

Someone reported this quite a while ago, but I cannot
find the email or bugzilla PR.

This patch fixes the problem by increasing the directory
path length limit to MNAMELEN, allocated via malloc() to
avoid using too much stack.

MFC after:      2 weeks
8d5a88ac95b23b0a8c4943be0aef1f93e3902bfb Rick Macklem 2025-10-29 21:41:12

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nfs: Add support for the new _PC_CASE_INSENSITIVE name
Commit d6864221d8 added support for the _PC_CASE_INSENSITIVE
name for pathconf, to indicate if case insensitive lookups
are configured.

This patch adds support for it for both NFSv4 and
NFSv3.

It also adds a fsidp argument to nfsv4_fillattr() which
will be used in future commit(s) related to NFSv4.n
directory delegations.

MFC after:      2 weeks
e5aa60d0695803c83dc0af08c057b82c463da3f2 Rick Macklem 2025-11-02 21:38:45

debug: classified in 03-filenames_plain1 by 'sys/fs/'

fusefs: respect the server's FUSE_SETXATTR_EXT flag
FUSE protocol 7.33 extended the FUSE_SETXATTR request format.  But the
extension is optional.  The server must opt-in by setting the
FUSE_SETXATTR_IN flag during FUSE_INIT.  We were wrongly using the
extended format for any server using protocol 7.33 or later.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290547
Co-authored-by: CismonX <admin@cismon.net>
Fixes:          https://cgit.freebsd.org/src/commit/?id=d5e3cf41e89 ("fusefs: Upgrade FUSE protocol to version 7.33")
MFC after:      3 days
e8449c0e0fcb8a3eb5872cbee5c3dde4b05a5f50 Alan Somers 2025-10-26 18:06:51

debug: classified in 03-filenames_plain1 by 'sys/fs/'

fusefs: standardize on OPNOTSUPP for posix_fallocate(2)
POSIX Issue 7 had allowed EINVAL for this case, but issue 8 moves it
to ENOTSUP instead.  ZFS uses the latter and we have some software in
ports already that's wanting to use that to detect the filesystem not
supporting it, so let's standardize on it.

Reviewed by:    imp (previous version), asomers, kib
Differential Revision:  https://reviews.freebsd.org/D53535
fa393807c57e80a01dde40c668650537490c1eaa Kyle Evans 2025-11-05 00:30:58

debug: classified in 03-filenames_plain1 by 'sys/fs/'

nfs_clvnops: standardize on EOPNOTSUPP for posix_fallocate(2)
POSIX Issue 7 had allowed EINVAL for this case, but issue 8 moves it
to ENOTSUP instead.  ZFS uses the latter and we have some software in
ports already that's wanting to use that to detect the filesystem not
supporting it, so let's standardize on it.

Reviewed by:    imp, kib, rmacklem
Differential Revision:  https://reviews.freebsd.org/D53536
b87436d8be8ea3f6d56c16d32933c138fed3fb12 Kyle Evans 2025-11-05 00:30:58

debug: classified in 03-filenames_plain1 by 'sys/fs/'

cd9660: Unbreak symbolic links
Since the introduction of permission masks, cd9660_getattr() returns a
size of zero for all symbolic links, because the code to retrieve the
length of the link target (as required by POSIX) is dead, since we strip
away the type bits before we try to use them to identify the file as a
link.  Address this by checking the vnode type instead.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290556
MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=82f2275b73e5 ("https://cgit.freebsd.org/src/commit/?id=cd9660: Add support for mask,dirmask,uid,gid options")
Reviewed by:    olce
Differential Revision:  https://reviews.freebsd.org/D53598
978aaa72f3196f5489630052762cac5a7863e774 Dag-Erling Smørgrav 2025-11-10 13:58:11

debug: classified in 03-filenames_plain1 by 'sys/fs/'

tarfs: Fix support for large files
* When fast-forwarding through a zstd frame, we incorrectly used the
  min() inline function instead of the MIN() macro.  The function
  truncates the result to unsigned int, resulting in a decompression
  error when trying to seek more than 4 GB into the frame.

* POSIX states that a size extended header record overrides the size
  field in the header if present, and that one must be included if the
  size of the file exceeds 8 GB (the size field maxes out at 64 GB).

* Reduce repetition in the exthdr parser by deduplicating the syntax
  error handler.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Fixes:          https://cgit.freebsd.org/src/commit/?id=69d94f4c7608 ("Add tarfs, a filesystem backed by tarballs.")
Reviewed by:    allanjude
Differential Revision:  https://reviews.freebsd.org/D53718
a34a57d4b4eba88dfa5541d7d77b63b01c1a1a9a Dag-Erling Smørgrav 2025-11-12 21:23:49

debug: classified in 03-filenames_plain1 by 'sys/fs/'

cuse: Fix cdevpriv bugs in cuse_client_open()
If devfs_set_cdevpriv() fails, we will panic when we enter the
cuse_client_free() callback, for a number of reasons:

- pcc->server is not yet assigned, so we'll use a NULL pointer.
- pcc has not yet been added to the pcs->hcli TAILQ, but we'll try to
  remove it.
- pccmd->sx and pccmd->cv are not yet initializated, but we'll try to
  destroy them.

Even if we'd get past all these somehow, we'd still get two errors in
the devfs_set_cdevpriv() failure block:

- We'll unref the server twice, once in cuse_client_free(), and again in
  cuse_client_open().
- A double-free panic, since we'd be trying to free(pcc), which has
  already been freed in cuse_client_free().

Fix all those issues. While here, also get rid of some unnecessary
devfs_clear_cdevpriv().

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D53708
634e578ac7b0a03ae25427c723c0da27e894a340 Christos Margiolis 2025-11-13 12:11:06

debug: classified in 03-filenames_plain1 by 'sys/fs/'

zfs: fix build after openzfs/zfs@e63d026b9
Fix Makefiles
Update zfs_config.h and zfs_gitrev.h
4303bde4297a3d19cabdb08ce1550f682578d2ba Martin Matuska 2025-11-16 11:15:14

debug: classified in 05-summary-prefix by 'zfs:'

zfs: fix cross-build after openzfs/zfs@e63d026b9d
Workaround multiple cross-build issues in OpenZFS code

TBD: discuss long-term fix with OpenZFS
bb8580e7a6a8c54481d0fd19cac43e84a485f45b Martin Matuska 2025-11-17 11:34:01

debug: classified in 05-summary-prefix by 'zfs:'

nfs_nfsdstate.c: Add sanity checks for lock stateids
Bugzilla PR reported a crash caused by a synthetic client
doing a Lock operation request with a delegation stateid.

This patch fixes the problem by adding sanity checks
for the type of stateid provided as an argument to the
Lock and LockU operations.

It has been tested with the FreeBSD, Linux and Solaris 11.4
clients.  Hopefully, other NFSv4 clients will work ok
as well.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291080
Tested by:      Robert Morris <rtm@lcs.mit.edu>
MFC after:      2 weeks
aa1cf240887ddcca66dfb969fdc5a8d545396037 Rick Macklem 2025-11-26 19:20:27

debug: classified in 03-filenames_plain1 by 'sys/fs/'

zfs: world changes after 89f729dcc merge
Remove, unbind and obsolete libuutil and libtpool
Update zfs_configh and zfs_gitrev.h
8b78d412aec7f9171ecc2e1cd8aea07b19b4f600 Martin Matuska 2025-12-07 22:09:12

debug: classified in 05-summary-prefix by 'zfs:'

unionfs: detect common deadlock-producing mount misconfigurations
When creating a unionfs mount, it's fairly easy to shoot oneself
in the foot by specifying upper and lower file hierarchies that
resolve back to the same vnodes.  This is fairly easy to do if
the sameness is not obvious due to aliasing through nullfs or other
unionfs mounts (as in the associated PR), and will produce either
deadlock or failed locking assertions on any attempt to use the
resulting unionfs mount.

Leverage VOP_GETLOWVNODE() to detect the most common cases of
foot-shooting at mount time and fail the mount with EDEADLK.
This is not meant to be an exhaustive check for all possible
deadlock-producing scenarios, but it is an extremely cheap and
simple approach that, unlike previous proposed fixes, also works
in the presence of nullfs aliases.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=172334
Reported by:    ngie, Karlo Miličević <karlo98.m@gmail.com>
Reviewed by:    kib, olce
Tested by:      pho
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53988
0247b4018de2c341ac59a585362c10044cea86ad Jason A. Harmening 2025-11-29 07:53:16

debug: classified in 03-filenames_plain1 by 'sys/fs/'

Kernel

Kernel stuff (other than networking, filesystems, and drivers).

ddb show allchains: avoid traps and show pointers for lockmgr and sx
When trying to walk lock chains, we have to deduce what a thread is
blocked on.  Checking LOCK_CLASS(td->td_wchan) is not a very reliable
method by itself, as it just tests whether a particular 4 bits near
where td_wchan points have a particular value.  Misinterpreting wait
channel pointers of other sleeps as lockmgr locks would frequently cause
ddb show allchains (or show lockchain) to trap, or to produce incorrect
output.

Now, check the sleepq_type.  When calling sleepq_add, we use SLEEPQ_LK
for lockmgr locks and SLEEPQ_SX for sx locks.  This is a more reliable
indication that the td_wchan is actually a lock.

While here, also make the output of lockmgr and sx locks consistent with
the output for other locks (see print_lockchain).  Outputting a pointer
to the lock allows it to be inspected further with ddb show lock or
other methods.

Reviewed by:    markj
Sponsored by:   Dell Inc.
Differential Revision:  https://reviews.freebsd.org/D52794
e7e958d83d8503c3b8714f68418d4509b8288ed9 Ryan Libby 2025-10-03 05:47:47

debug: classified in 04-filenames_plain2 by 'sys/'

isa_common: allow multiple device instances
In some devices, there may be multiple isa bridges available from different
sources. Therefore, we allow multiple lpc devices to be generated so that
pcie bus won't show "none" anymore.
For example, in my AMD based Framework Laptop, there are two such
bridges. One is acpi hinted, another is from pcie.

Reviewed by:    imp
Approved by:    lwhsu (mentor)
MFC after:      2 weeks
Differential Revision: https://reviews.freebsd.org/D52815
f32ffd11b54792d7bdd37b6dfc0f904a561b879c ShengYi Hung 2025-10-01 08:33:19

debug: classified in 04-filenames_plain2 by 'sys/'

linker: Make it easier to find the VNET section layout
When trying to find the address of a VNET variable from a debugger, it
helps to have the original address of the VNET section.  In particular,
given the address of a vnet_entry_foo symbol, one wants to easily find
the linker file that the symbol belongs to.

In link_elf_obj.c, the section address for VNET and DPCPU sections is
overwritten in link_elf_link_preload() and link_elf_load_file().  Add an
"origaddr" field to store the original absolute address of the section
base.

In link_elf.c the elf_file_t already has the fields we want, but they
were not getting filled out for the kernel itself.  Fix that too, since
that simplifies things for debuggers and improves consistency.

Reviewed by:    kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D52730
07747afd516e710814fdc65afb0e5000d046f28f Mark Johnston 2025-10-03 14:25:38

debug: classified in 04-filenames_plain2 by 'sys/'

filedesc: Close race between fcntl(F_SETFL) and ioctl(FIONBIO/FIOASYNC)
- Use the recently-added fsetfl_lock/unlock API to synchronize direct
  FIONBIO and FIOASYNC ioctls with fcntl(F_SETFL).

- While here, skip calling the underlying ioctl if the flag's current
  state matches the requested state.

- Also while here, only update the flag state if the underlying ioctl
  succeeds.  This fixes a bug where the flags represented the new
  state even if the underlying ioctl failed.  A test is added for this
  last case that a failing FIOASYNC on /dev/null doesn't result in
  setting O_ASYNC in the file flags.

Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D52721
dfd7d1610aeb654aafcaa8cf77b75fc5c7d60250 John Baldwin 2025-10-03 16:43:30

debug: classified in 04-filenames_plain2 by 'sys/'

mtx: remove stale commentary about inlined spinlock ops
While both locking and unlocking a spinlock used to be inline, this
changed when spinlock_enter/spinlock_exit got introduced, defeating the
point of inlining them.

This either needs to have inlined spinlock enter/exit in place or have
mtx lock/unlock as function calls with the irq flags inlined in there.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
6cc493c79d9b9f8318c87d3d6bfd225924cc933b Mateusz Guzik 2025-10-04 02:20:37

debug: classified in 04-filenames_plain2 by 'sys/'

pipe: consistently use PIPE_LOCK_ASSERT
d0a35ec01c31b498bd9996b50641a8629757b65f Mateusz Guzik 2025-10-05 15:37:41

debug: classified in 04-filenames_plain2 by 'sys/'

mtx: retire _mtx_release_lock_quick
The macro is misleading and of questionable value to begin with.

For starters, it is used for both spinlocks and regular mutexes (the
latter only the in the slow path), which have fundamentally different
requirements on unlock -- spinlocks are guaranteed to not have blocked
waiters and can blindly do a store.

The commentary above the it is also head-scratching:
> Release mtx_lock quickly, assuming we own it.

You can't *just* release a sleepable mutex "quickly". The only legal use
right now is when the turnstile lock is held.

Note that unlock of a sleepable mutex without using RMW atomics is very
much possible and may show up soon (tm).

Sponsored by:   Rubicon Communications, LLC ("Netgate")
ccb600906f152df310794f146eac54372e6b2665 Mateusz Guzik 2025-10-05 15:38:06

debug: classified in 04-filenames_plain2 by 'sys/'

vfs foffset: drop weird commentary about offset protection
It is readily apparent the FOFFSET_LOCKED flag protects it because the
read followed its use.

It also does not matter who said how it was protected earlier.

Reviewed by: kib, markj
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D52915
f16178e0bba81c32b1f4fba310c7d0f2756aca85 Mateusz Guzik 2025-10-05 17:02:01

debug: classified in 04-filenames_plain2 by 'sys/'

vfs offset: fix assertion failure in face of racing ffofset and setfl locking
Both use the same 16 bit var to store their locked and waiters bits,
then this in file_v_unlock:

        state = atomic_load_16(flagsp);
        if ((state & lock_wait_bit) == 0 &&
            atomic_cmpset_rel_16(flagsp, state, state & ~lock_bit))
                return;

can fail if for example foffset is being unlocked while setfl is getting
locked.

Afterwards the code assumes there are blocked waiters on foffset.

Reviewed by: kib, markj
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D52915
b1de02c415de5df2d24d8021827634fc095b7a26 Mateusz Guzik 2025-10-05 17:03:54

debug: classified in 04-filenames_plain2 by 'sys/'

mtx: rename MTX_CONTESTED to MTX_WAITERS
Using the word "contested" for the case where there are threads blocked
on the lock is misleading at best (the lock is already contested if it
is being held by one thread and wanted by another). It also diverges
from naming used in other primitives (which refer to them as "waiters").

Rename it for some consistency.

There were uses of the flag outside of mutex code itself.

This is an abuse of the interface. The netgraph thing looks suspicious
at best, the sctp thing is fundamentally wrong. Fixing those up is left
as an exercise for the reader.

While here touch up stale commentary.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
e0b571d77364d0dcae5492d9f3b901d01d3e13ca Mateusz Guzik 2025-10-06 02:00:50

debug: classified in 04-filenames_plain2 by 'sys/'

kern_exit.c: do not leak reaper bitmap busy bits
When re-assigning p_reapsubtree value, we must check if the result of
obliterating the old value would free the corresponding pid in the
proc_id_reap bitmap, and indeed free it when needed.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289917
Reported by:    avg
Reviewed by:    avg, markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D52814
f19ef352ec63f9fcc10076a263b8ce402ba31379 Konstantin Belousov 2025-10-01 03:17:31

debug: classified in 04-filenames_plain2 by 'sys/'

power: Add stype parameter in power_suspend/resume eventhandlers
Add enum sleep_type stype parameter in power_suspend/resume event
handlers, as with the introduction of s2idle there are more than one
type of suspend.

Reviewed by:    bz
Approved by:    bz
Sponsored by:   The FreeBSD Foundation
fc2ed9d9680461937c7ffa4cc77fa38e656deb8b Aymeric Wibo 2025-10-06 21:30:54

debug: classified in 04-filenames_plain2 by 'sys/'

linuxkpi: Support s2idle in `pm_suspend_target_state`
When going to s2idle, set Linux' pm_suspend_target_state to
PM_SUSPEND_TO_IDLE instead of setting PM_SUSPEND_MEM (for S3) in all
cases.

This is necessary because more recent versions of the amdgpu DRM drivers
have different paths for when entering s2idle & S0ix is supported than
S3.

Reviewed by:    bz
Approved by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D51591
a25cfcab9a9d2c7d733b85bf04b504369623de1c Aymeric Wibo 2025-10-06 21:38:58

debug: classified in 04-filenames_plain2 by 'sys/'

uma_core: Rely on domainset iterator to wait on M_WAITOK
Commit 8b987a77691d ("Use per-domain keg locks.") removed the need to
lock the keg entirely, replacing it with per-domain keg locks.  In
particular, it removed the need to hold a lock over waiting for a domain
to grow free memory.

Simplify the code of keg_fetch_slab() and uma_prealloc() by removing the
M_WAITOK -> M_NOWAIT downgrade and the local call to vm_wait_doms()
(which used to necessitate temporary dropping the keg lock) which the
iterator machinery already handles on M_WAITOK (and compatibly with
vm_domainset_iter_ignore() at that, although that does not matter now).

Reviewed by:    bnovkov, markj
Tested by:      bnovkov
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52441
781802df7a2bfe224ef17596d56cf83c49517655 Olivier Certner 2025-09-08 17:37:35

debug: classified in 04-filenames_plain2 by 'sys/'

g_part: Replace some spaces with tabs to match the rest of this struct
Reviewed by:  imp
Differential Revision: https://reviews.freebsd.org/D52907
a7d9c69fa903ad880f9dd36505f9d824f668283e Brad Davis 2025-10-04 20:38:57

debug: classified in 04-filenames_plain2 by 'sys/'

kern: Don't need bsd.own.mk
Instead, replace it with bsd.init.mk and remove old comments about
FreeBSD 10.x compat. We used to need bsd.own.mk, but now can suffice
with bsd.init.mk since kern.opts.mk doesn't included that in too many
places.

Sponsored by:           Netflix
3faa5bfece73c62c2a3939e9b60365a899d16940 Warner Losh 2025-10-08 04:18:24

debug: classified in 04-filenames_plain2 by 'sys/'

vm_object: Reset kvo_path on each iteration in vm_object_list_handler()
Otherwise we print a bogus path for anonymous objects.

Reviewed by:    kib
MFC after:      1 week
Sponsored by:   Modirum MDPay
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D52997
13d866b314f87df901c0a1cbbbc56d56ee0d7b7c Mark Johnston 2025-10-10 13:26:29

debug: classified in 04-filenames_plain2 by 'sys/'

vm_object: Export the number of wired pages in vm_object_list_handler()
Reviewed by:  alc, kib
MFC after:      1 week
Sponsored by:   Modirum MDPay
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53008
ffca0c44ffe84352f6fdd24862c070d348d783d4 Mark Johnston 2025-10-10 13:26:50

debug: classified in 04-filenames_plain2 by 'sys/'

scsi: Use proper prototype for SYSINIT functions
MFC after:    1 week
f94b1a8ca6e016aeff09e2053dc293b83c3aa912 Zhenlei Huang 2025-10-13 10:12:28

debug: classified in 04-filenames_plain2 by 'sys/'

opensolaris: Use proper prototype for SYSINIT functions
MFC after:    1 week
41c0b64f021ecda09c0d42bfc539dba69ec51e4c Zhenlei Huang 2025-10-13 10:12:28

debug: classified in 04-filenames_plain2 by 'sys/'

kern: Use proper prototype for SYSINIT functions
MFC after:    1 week
9c35c4470ad131c748efba7f64ad2fff7d21060f Zhenlei Huang 2025-10-13 10:12:31

debug: classified in 04-filenames_plain2 by 'sys/'

kern_sharedpage.c: Remove an unneeded type cast
The function shared_page_init() already has the right prototype.

MFC after:      1 week
141b44e0afc2912a0a1c7bbb4116921ead1d58d4 Zhenlei Huang 2025-10-13 10:12:31

debug: classified in 04-filenames_plain2 by 'sys/'

jail: Use proper prototype for SYSINIT functions
The only possible return value of function jm_sysinit() and jm_sysuninit()
is 0. Make them return void to match the prototype of SYSINIT.

MFC after:      1 week
a988393b469be58ff87f4d044af61fd2251b490c Zhenlei Huang 2025-10-13 10:12:31

debug: classified in 04-filenames_plain2 by 'sys/'

libkern: Use proper prototype for SYSINIT functions
MFC after:    1 week
850a88e8db761c55b9aa56c2cf4da258dc61dec5 Zhenlei Huang 2025-10-13 10:12:31

debug: classified in 03-filenames_plain1 by 'sys/libkern/'

audit: Use proper prototype for SYSINIT functions
MFC after:    1 week
32c1e940e07c48ab80427efd3d6ff2091407d577 Zhenlei Huang 2025-10-13 10:12:34

debug: classified in 04-filenames_plain2 by 'sys/'

MAC: Use proper prototype for SYSINIT functions
MFC after:    1 week
12ac59a0d1f6ae2065e8e2cb36c53c00771bfc74 Zhenlei Huang 2025-10-13 10:12:35

debug: classified in 04-filenames_plain2 by 'sys/'

sys/sysent.h: Remove an unneeded type cast
The function exec_sysvec_init() already has the right prototype.

While here, remove an extra semicolon from the macro INIT_SYSENTVEC.

MFC after:      1 week
296db8c72dca1c17d9a4ce94cc8881e48df8187b Zhenlei Huang 2025-10-13 10:12:35

debug: classified in 04-filenames_plain2 by 'sys/'

vm: Use proper prototype for SYSINIT functions
MFC after:    1 week
a5d5851c86ebba87f580e4f9bada495ebeedc465 Zhenlei Huang 2025-10-13 10:12:35

debug: classified in 04-filenames_plain2 by 'sys/'

tcp: improve testing of HPTS
Improve the HPTS API to allow testing and add several tests.

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.
bfdd5b643d23171c53920accc2f15f78e984dfae Nick Banks 2025-10-13 20:31:30

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #49: sys/rpc
sys/rpc: UNIX auth: Rename 'ngroups' => 'supp_ngroups' for clarity

MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
bda3b61512b2597d4c77d2b9c9074b844dec0405 Olivier Certner 2025-10-07 10:03:07

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: UNIX auth: Fix OOB accesses, notably writes on decode

When the received authentication message had more than XU_NGROUPS, we
would write group IDs beyond the end of cr_groups[] in the 'struct
xucred' being filled (as 'ngroups_max' is always greater than
XU_NGROUPS).

For robustness, prevent various OOB accesses that would result from
a change of value of XU_NGROUPS or a 'struct xucred' with an invalid
'cr_ngroups' field, even if these cases are unlikely.

Reviewed by:    rmacklem
Fixes:          https://cgit.freebsd.org/src/commit/?id=dfdcada31e79 ("Add the new kernel-mode NFS Lock Manager.")
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52960
47e9c81d4f1324674c624df02a51ad3a72aa7444 Olivier Certner 2025-10-07 10:02:23

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: Define AUTH_SYS_MAX_{GROUPS,HOSTNAME}

As, respectively, the maximum number of "supplementary" groups and the
maximum hostname size allowed in the credentials structure for AUTH_SYS
(aka, AUTH_UNIX).

Will be used in subsequent commits.

Reviewed by:    rmacklem
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52961
f7c4f800cc0b4fac1c99cda8e22d46b67592f9fa Olivier Certner 2025-10-07 07:51:23

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: UNIX auth: Use AUTH_SYS_MAX_{GROUPS,HOSTNAME} as limits (1/2)

Consistently with the XDR_INLINE() variant of xdr_authunix_parms()
(_svcauth_unix() in 'svc_auth_unix.c'), reject messages with credentials
having a machine name length in excess of AUTH_SYS_MAX_HOSTNAME or more
than AUTH_SYS_MAX_GROUPS supplementary groups, which do not conform to
RFC 5531.  This is done mainly because we cannot store excess groups
anyway, even if at odds with the robustness principle ("be liberal in
what you accept").

While here, make sure the current code is immune to AUTH_SYS_MAX_GROUPS
changing value (in future RFCs?) even if that seems improbable.

Reviewed by:    rmacklem
Fixes:          https://cgit.freebsd.org/src/commit/?id=dfdcada31e79 ("Add the new kernel-mode NFS Lock Manager.")
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52962
b119ef0f6a81eb32b0e1cd0075cec499543e7ddd Olivier Certner 2025-10-07 08:46:56

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: UNIX auth: Use AUTH_SYS_MAX_{GROUPS,HOSTNAME} as limits (2/2)

Remove local defines from 'svc_auth_unix.c' and use the new limit
macros instead.

Reviewed by:    rmacklem
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52963
e665c0f6f7a611d25d9d7e7f64d98c84b3a92820 Olivier Certner 2025-10-07 13:33:53

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: UNIX auth: Fix OOB reads on too short message

In the inline version (_svcauth_unix()), fix multiple possible OOB reads
when the credentials part of a request is too short to contain mandatory
fields or with respect to the hostname length or number of groups it
advertises.  The previously existing check was arriving too late and
relied on possibly wrong data coming from earlier OOB reads.

While here, use 'uint32_t' as the length/size type, as it is more than
enough and removes the need for conversions, explicit or implicit.
While here, factor out setting 'stat' to AUTH_BADCRED and then jumping
to 'done' on error, through the new 'badcred' label.  While here,
through comments, refer to what the non-inline version is doing
(xdr_authunix_parms() in 'authunix_prot.c') and the reasons.

Reviewed by:    rmacklem
Fixes:          https://cgit.freebsd.org/src/commit/?id=dfdcada31e79 ("Add the new kernel-mode NFS Lock Manager.")
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52964
d4cc791f3b2e1b6926420649a481eacaf3bf268e Olivier Certner 2025-10-07 15:51:16

debug: classified in 04-filenames_plain2 by 'sys/'


sys/rpc: UNIX auth: Support XDR_FREE

xdr_authunix_parms() does not allocate any auxiliary memory, so we can
simply support XDR_FREE by just returning TRUE.

Although there are currently no callers passing XDR_FREE, this makes us
immune to such a change in a way that doesn't cost more but is more
constructive than a mere KASSERT().

Suggested by:   rmacklem
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
4ae70c3ea498e06676040ee99254d261e29ae82e Olivier Certner 2025-10-13 15:13:09

debug: classified in 04-filenames_plain2 by 'sys/'

sys/rpc: UNIX auth: Do not log on bogus AUTH_SYS messages
Remove the printf() stances added in commit d4cc791f3b2e ("sys/rpc: UNIX
auth: Fix OOB reads on too short message").

Even if it can be helpful to know why an authentication message is
rejected, printing explanatory messages on each request attempt is
a remote log filler that could be triggered by accident, and the generic
RPC code generally does not do that.  These printf() calls should be
restored only after some limiting or configuration mechanism is devised.

MFC with:       d4cc791f3b2e ("sys/rpc: UNIX auth: Fix OOB reads on too short message")
Sponsored by:   The FreeBSD Foundation
2110ae0ef9d6ca8cf52b29fcaf926c4343f56826 Olivier Certner 2025-10-14 12:54:55

debug: classified in 04-filenames_plain2 by 'sys/'

imgact: Mark brandinfo and note structures as const
No functional change intended.

Reviewed by:    olce, kib, emaste
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53062
80336636b6b9f7a3bdad007c400e85eae017d2a2 Mark Johnston 2025-10-14 13:31:06

debug: classified in 04-filenames_plain2 by 'sys/'

exec: Check for errors when mapping the shared object
In the non-ASLR case, there is no check for an error from
vm_map_fixed().  Restore it, it was dropped in commit 939f0b6323e0a.
This bug could result in a refcount leak of the object used to map the
VDSO page.

Reviewed by:    kib
Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
MFC after:      1 week
Fixes:  https://cgit.freebsd.org/src/commit/?id=939f0b6323e0 ("Implement shared page address randomization")
Differential Revision:  https://reviews.freebsd.org/D53065
7117c86fcb7ebee4483097cefa9b143de8d78ee0 Mark Johnston 2025-10-14 13:33:33

debug: classified in 04-filenames_plain2 by 'sys/'

sockets: add PF_HYPERV alias
Just make it like all other sockets that have PF_FOO -> AF_FOO alias.
663a571514fbbc237ac841f7ff2f5e26db966445 Gleb Smirnoff 2025-10-14 18:41:25

debug: classified in 04-filenames_plain2 by 'sys/'

conf: enable TCP_HPTS_KTEST on debug builds
Enable the kernel build option TCP_HPTS_KTEST on debug builds and
disable it on non-debug builds.

PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290234
Reviewed by:            Nick Banks, glebius
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53108
1985940204dc01d4524c6351ab25a182bfde23ae Michael Tuexen 2025-10-14 23:36:54

debug: classified in 04-filenames_plain2 by 'sys/'

unix/stream: repair SO_SNDTIMEO
The send operations are waiting on the peer's socket buffer, but we shall
use our timeout value.  Provide a test for that.

Reported by:            phk
Reviewed by:            asomers
Differential Revision:  https://reviews.freebsd.org/D53081
Fixes:                  https://cgit.freebsd.org/src/commit/?id=d15792780760ef94647af9b377b5f0a80e1826bc
ead721935251ab5640ea736d4269814b7f9d2f64 Gleb Smirnoff 2025-10-15 00:29:31

debug: classified in 04-filenames_plain2 by 'sys/'

rb tree: remove strict aliasing violations
Rework internal RB macros to avoid assignments via type punned pointers.
RB uses low order pointer bits to encode information (whether children
are red), and was manipulating those values via (*(__uintptr_t *)&elm),
which leads to strict aliasing warnings.

In the kernel we use -fno-strict-aliasing, but this isn't necessarily
the case in user space.  This quiets thousands of -Wstrict-aliasing
warnings in the user space build.

Reported by:    GCC -Wstrict-aliasing
Reviewed by:    dougm
Discussed with: kib
Differential Revision:  https://reviews.freebsd.org/D52939
c44d2663a790b31bc1cd08958b45a661487c0287 Ryan Libby 2025-10-15 04:05:19

debug: classified in 04-filenames_plain2 by 'sys/'

linux: make linux_to_bsd_sockaddr() use memory supplied by caller
No functional change.

Differential Revision:  https://reviews.freebsd.org/D52936
479e29157259086c40eb61b1326299c22de5a59c Gleb Smirnoff 2025-10-15 18:55:06

debug: classified in 04-filenames_plain2 by 'sys/'

linux: add translation for MCAST_JOIN_GROUP family of socket options
Differential Revision:        https://reviews.freebsd.org/D52937
47b2732650252a1d31b25f6008aaa42e963eb8c1 Gleb Smirnoff 2025-10-15 18:55:14

debug: classified in 04-filenames_plain2 by 'sys/'

imgact_elf: Check note body sizes
In parse_notes we validate that the note name fits within the note
buffer, but we do not do the same for the note data, so there is some
potential for an OOB read in the note handler.  Add a bounds check.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    kib, emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53063
c86af2cc4cd12fb0174843b22d737c3b5b5d55d0 Mark Johnston 2025-10-15 20:14:36

debug: classified in 04-filenames_plain2 by 'sys/'

socket: Annotate sooptcopyin() and sooptcopyout() with __result_use_check
Just like we do with copyin() and copyout().

Reviewed by:    glebius
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53114
3509dcd11a982107d957b99f6740704e9c522bd8 Mark Johnston 2025-10-15 20:15:51

debug: classified in 04-filenames_plain2 by 'sys/'

unix/stream: plug a corner case when control externalization failed
while peer has closed its end.

Reported by:    syzbot+ffcc3612ea266e36604e@syzkaller.appspotmail.com
4548b9f3a8167a340a5086ed51a76d932c9ab3cc Gleb Smirnoff 2025-10-15 20:01:25

debug: classified in 04-filenames_plain2 by 'sys/'

socket: bump socket buffer limit to 8MB
Bump the socket buffer limit from 2 MB to 8MB.
In particular, this allows to use larger values for TCP sockets,
which may result in higher throughput values with default settings.
In the review I was proposing using 16 MB, but in the transport
call today we settled on a more conservative value of 8.
Bumping it further will be done in combination with mitigations
for mbuf exhaustion attacks.

Reviewed by:            rscheff, Peter Lei, jtl, thj
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52873
1fe6497b48d6954ac07870d920b2e5d6d206be5e Michael Tuexen 2025-10-15 20:04:00

debug: classified in 04-filenames_plain2 by 'sys/'

vm: Fix iterator usage in vm_thread_stack_create()
After commit 7a79d0669761 we no longer hold the VM object lock when
initializing or advancing the domainset iterator in
vm_thread_stack_create().

We could lift the lock out of vm_thread_stack_back() but that poses
complications since we cannot allocate KVA with a VM object lock held.

Instead of overridding the object's iterator, just borrow that of the
current thread.  Kernel stacks are basically always allocated with a
DOMAINSET_POLICY_PREFER policy, so it's not very important to maintain a
global iterator for round-robin allocation.

As a part of this, fix up flag handling: make sure we handle
M_NOWAIT/M_WAITOK from the caller.  Delete a comment in vm_thread_new()
which refers to a non-existent consideration (stack swapping has been
removed).  I suspect vm_thread_new() can use M_WAITOK but opted not to
make that change here.

Reported by:    olce
Reviewed by:    olce, alc, kib
Fixes:          https://cgit.freebsd.org/src/commit/?id=7a79d0669761 ("vm: improve kstack_object pindex calculation to avoid pindex holes")
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D52982
3b9b64457676561b8de2bec7c94c561bbd807b0c Mark Johnston 2025-10-16 23:12:54

debug: classified in 04-filenames_plain2 by 'sys/'

Add FENESTRASX to LINT to avoid breakage
c1e7e8f5cb0f948abc4679dab295f1447363604d David E. O'Brien 2025-10-17 01:01:34

debug: classified in 04-filenames_plain2 by 'sys/'

linprocfs: Add nodes for inotify
These map directly onto sysctls under vfs.inotify of the same name.

Reviewed by:    olce, des
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53142
28c0ef76841bbb322b6e39668e1c8e997c1f8000 Mark Johnston 2025-10-17 12:55:56

debug: classified in 04-filenames_plain2 by 'sys/'

vm_domainset: Ensure round-robin works properly
All iterators that rely on an object's 'struct domainset_ref' (field
'domain' on 'struct vm_object'), which is the case for page allocations
with objects, are used with the corresponding object locked for writing,
so cannot lose concurrent iterator index's increases even if those are
made without atomic operations.  The only offender was thread stack
allocation, which has just been fixed in commit 3b9b64457676 ("vm: Fix
iterator usage in vm_thread_stack_create()").

However, the interleaved policy would still reset the iterator index
when restarting, losing track of the next domain to allocate from when
applying round-robin, which all allocation policies do if allocation
from the first domain fails.

Fix this last round-robin problem by not resetting the shared index at
iterator's phase init on DOMAINSET_POLICY_INTERLEAVE.

Add an assertion to check that, when passed, an object is write-locked
in order to prevent the problem mentioned in the first paragraph from
reappearing.

Reviewed by:    markj
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52733
7b0fe2d405ae09b1247bccc6fa45a6d2755cbe4c Olivier Certner 2025-09-25 14:40:30

debug: classified in 04-filenames_plain2 by 'sys/'

struct file: add DFLAG_FORK, indicate copying on fork
instead of referencing or ignoring.

The pass to handle copying is performed after all passable files are
installed into the new file descriptor's table, since one of the future
consumers of this interface (kqueue) needs all passable file descriptors
already valid. After all fds are installed, the additional call for each
copyable file is done to copy the underlying object.

[MFC note: use fo_spares for fo_fork]

Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
1265516c5c610fbc0d65451140e3f17b358cd015 Konstantin Belousov 2025-08-20 19:07:43

debug: classified in 04-filenames_plain2 by 'sys/'

kern_descrip.c: add struct proc argument to fdcopy()
The proc is the owner of the copied filedesc.

Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
37ce6052f6ac5064c5a982beed7393109111dd10 Konstantin Belousov 2025-08-20 19:02:33

debug: classified in 04-filenames_plain2 by 'sys/'

kqueue_fo_release(): print filter with underflow
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
47ed42f3f44ca21210c9d9c56c693248dbca29bb Konstantin Belousov 2025-08-21 13:54:36

debug: classified in 04-filenames_plain2 by 'sys/'

kern/kern_event.c: extract kern_kqueue_alloc() from kern_kqueue()
The new helper function allows to allocate a kqueue and its file,
without also allocating file descriptor.

Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
78382caa3edbea4c3d3aad2b47ff9db3d77fc978 Konstantin Belousov 2025-08-19 04:32:43

debug: classified in 04-filenames_plain2 by 'sys/'

kern/kern_event.c: extract kqueue_acquire_ref() from kqueue_acquire()
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
25cecc4ba284096376b1348a807c0e2704d1b746 Konstantin Belousov 2025-08-19 04:54:27

debug: classified in 04-filenames_plain2 by 'sys/'

kqueuex(2): add KQUEUE_CPONFORK
The created kqueue is copied on fork, together with the registered
events. This means that a new kqueue is created at the same fd index
as the parent' kqueue, and all registered events are copied into the
new kqueue (when possible). The current active events list is also
duplicated.

Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
b11289f87123f8ae06fc70bc70d26a25d4356a65 Konstantin Belousov 2025-08-19 04:34:04

debug: classified in 04-filenames_plain2 by 'sys/'

kern_event.c: support copy for timer events
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
c0e70e7b97dcfcbeedfdfbacf1543b756a616a18 Konstantin Belousov 2025-08-20 19:06:05

debug: classified in 04-filenames_plain2 by 'sys/'

kqueue: handle copy for vnode filters
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
6b71c4ff698e1ba2266a85ff2ad89f2c2a8a16de Konstantin Belousov 2025-08-23 12:06:42

debug: classified in 04-filenames_plain2 by 'sys/'

knotes: kqueue: handle copy for trivial filters
Reviewed by:  markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Differential revision:  https://reviews.freebsd.org/D52045
36138969847b231cd98f48272e2bdf88a8dc08dd Konstantin Belousov 2025-10-16 22:32:45

debug: classified in 04-filenames_plain2 by 'sys/'

imgact: Mark brandinfo and note structures as const
No functional change intended.

Reviewed by:    kib
MFC after:      10 days
MFC with:       80336636b6b9f7a3bdad007c400e85eae017d2a2
Differential Revision:  https://reviews.freebsd.org/D53173
301e6c47127d358073a35c1ecd7b8cf014d0bb92 Zhenlei Huang 2025-10-18 16:11:30

debug: classified in 04-filenames_plain2 by 'sys/'

linux: Make the macro LINUX_IOCTL_SET public
There're some other drivers want to register and unregister linux
ioctl handler. Move the macro LINUX_IOCTL_SET from tdfx_linux.h to
linux_ioctl.h so that they can also benefit it.

While here, rename the declaration of linux ioctl function to be
consistent with the name of the handler.

Meanwhile, drop a comment about the macro, since its function is
obvious.

Reviewed by:    markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53158
790c27317ec1a997a4e5c2bdee9e4acc610c8e3c Zhenlei Huang 2025-10-20 04:28:41

debug: classified in 04-filenames_plain2 by 'sys/'

jail: fix a regression that creates zombies when removing dying jails
When adding jail descriptors, I split sys_jail remove in two, and
didn't properly track jail held between them when a jail was dying.
This fixes that as well as cleaning up the logic behind it.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290217
Reported by:    David 'equinox' Lamparter <equinox at diac24.net>
Reviewed by:    markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53200
78f70d4ff9dd4af2318b25023a7f55be7402ec60 Jamie Gritton 2025-10-20 16:49:14

debug: classified in 04-filenames_plain2 by 'sys/'

dtb: sort by vendor on riscv
Just like arm64, our DTS comes from Linux and is correctly sorted into
subdirectories by vendor. Enable the logic to preserve these directories
in the installation, for example:

  /boot/dtb/sifive/hifive-unmatched-a00.dtb

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53116
cf202819af2337c0b652ac9290964c2ef7a1ae3c Mitchell Horne 2025-10-20 14:24:45

debug: classified in 04-filenames_plain2 by 'sys/'

jail: fix an error condition that was returned without setting errno.
MFC after:    3 days
5f7d5709e0c242d5a5fa5516d6079433ee06c347 Jamie Gritton 2025-10-21 00:09:39

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #50: LinuxKPI
LinuxKPI: add __counted_by_le() and __counted_by_be()

The former is needed by a wireless driver at v6.17.

MFC after:      3 days
Reviewed by:    dumbbell, emaste
Differential Revision: https://reviews.freebsd.org/D53203
0a4b11ddb298fa08e1a81af7337995a3769552bf Bjoern A. Zeeb 2025-10-11 09:22:26

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: add three skeleton functions to etherdevice.h

We will see how much we will need them and how to fill them at that
point.  They are left with a pr_debug("TODO") for now.

MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D53204
cc792250acadd29e80a69501ad326d1340c0c1c6 Bjoern A. Zeeb 2025-10-11 09:22:48

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: platform_device return type change

The return type now is void;  I believe no one ever used this
so we can just chnage it.  The only active platform_driver_register()
calls seems to be in ath1[01]k and mt76 and there in unsupported code.

MFC after:      3 days
Reviewed by:    dumbbell, emaste
Differential Revision: https://reviews.freebsd.org/D53205
0ae4998423e0d513fb88e404dfb1c2a285d11309 Bjoern A. Zeeb 2025-10-11 09:24:40

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: device_driver add (*coredump)()

Needed by multiple wireless driver for the v6.17 update (likely earlier
versions already).

MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision: https://reviews.freebsd.org/D53206
8ea366f40084010c14fe40b3aebb42b459b195cc Bjoern A. Zeeb 2025-10-11 09:23:43

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: add fips.h

We do not currently aim to support crypto FIPS compliance in LinuxKPI
so keep this turned off.

MFC after:      3 days
Reviewed by:    emaste, dumbbell
Differential Revision: https://reviews.freebsd.org/D53207
98609f4fecffd0e70293ddd57c2b785e498b1131 Bjoern A. Zeeb 2025-10-17 19:34:20

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: add skeleton pci_enable_wake()

Given we do not yet support "wake" bits in device there is little need
doing it in PCI if we cannot check if we are supposed to do the
operation in first place.  Once we would implement this, we would need
to also do the appropriate PCI (pme) checks before enabling (disabling)
it.

MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision: https://reviews.freebsd.org/D53208
885e8f272f7515b0325974de72d18b73318eff07 Bjoern A. Zeeb 2025-10-17 20:38:11

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: page_pool headers moved; add netmem.h

page_pool headers were not used yet;  they were created for mt76 but
are without functionality.  Upstream has migrated them for v6.17 and
split them up into multiple files.  Also add netmem.h which the little
needed is directly related to page pools.

MFC after:      3 days
7c31cdfa408a4ebce7a3e10d29056a15c28bc092 Bjoern A. Zeeb 2025-10-19 22:57:13

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: soc/mediatek add pr_debug calls

We do not support Wireless Ethernet Dispatch (wed) on the mt76 (yet).
Add pr_debug calls with TODO in case we run into the calls anyway so
we could deal with them.

MFC after:      3 days
224ac9d2a030f85924e44a507ddc412797c3fe87 Bjoern A. Zeeb 2025-10-19 15:28:30

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: skbuff: add a misplaced socket operation to skbuff.h for now

This likely belongs in socket code which we do not have in LinuxKPI.
Needed by a wirless driver at v6.17.

MFC after:      3 days
88dbf83345feefa7181bd6df47786e1a8d1d304d Bjoern A. Zeeb 2025-10-11 09:25:08

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: netdevice add attach/detach skeleton functions

For the moment add skeleton functions for netif_device_attach/detach()
needed by rtw8[89] v6.17.

MFC after;      3 days
5ea941a4fbfd1ba2483e47fe30ed6713fe912284 Bjoern A. Zeeb 2025-10-17 20:28:36

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: 802.11: additions for Linux v6.17 based wireless drivers

This includes some type cleanups as well as some shuffling of structs
and functions to sort dependencies out.  Few new functions and defines
as well as new struct members.  Minor fixes to style and debug logging.

This is the majority of changes.  None of these should conflict with
current in-tree drivers.  The final bit of changes will come along with
the driver updates adding an extra argument to function pointers.

MFC after:      3 days
0567484734ad9732978e189ebed042f6320e2471 Bjoern A. Zeeb 2025-10-11 09:21:55

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: 802.11: use a _check rather than a _protected version for linksta

Switch to link_sta_dereference_check rather than _protected to access
the value.  The actual problem we hit was elsewhere though.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
0021f70800a1d83a42e3a4dff10c352e67a1bcce Bjoern A. Zeeb 2025-11-19 02:16:39

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: 802.11: implement mtx support for ieee80211_iterate_interfaces

Implement the lockdep_assert_wiphy call for
ieee80211_iterate_active_interfaces_mtx() to avoid a warning when
used and to make sure callers comply with assumptions.

Leave an "IMPROVE" note as we can likely switch another of the multiple
callers to RCU.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
90b6a9ac0c1f4333f87f4b172482f40979324d7c Bjoern A. Zeeb 2025-11-19 02:18:43

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: 802.11: initialize a backpointer on the link_sta

iwlwifi/mld uses the back pointer in iwl_mld_link_sta_from_mac80211().
Initialize it to make BE200 cards work again.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
PR;             290808
d1180baa9b99538481f3780fc8f4e6e464a15e99 Bjoern A. Zeeb 2025-11-19 02:21:00

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: page.c: remove a spurious character from a comment

No functional changes.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
45d8bfdcba37996993748f4667646f5dc9f54506 Bjoern A. Zeeb 2025-12-03 00:45:39

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: 802.11: make airtime fairness an IMPROVE

We are ways away from implementing "airtime fairness" in LinuxKPI
(or rather net80211).  For now make it an 'improve' rather than a
'todo' to get the logging away.  Everything will work without it.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
86bfe5b4d5a7b90d3746059dd1f87cdd5a0bf90c Bjoern A. Zeeb 2025-12-03 00:55:36

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: device: add a pr_debug("TODO") call to device_release_driver()

The logic in device_release_driver() got disabled in 93b14194acaf2
and since left alone.  Add a pr_debug() call so we have a chance to
notice if that code is actually still in need to be fixed and re-enabled.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
fc9666d0fc0c2541e44bfbcaa5bb1b670395687c Bjoern A. Zeeb 2025-12-03 01:09:24

debug: classified in 04-filenames_plain2 by 'sys/'

UPDATING: bump __FreeBSD_version for LinuxKPI changes
The size of an embedded struct has changed and might possibly be a
problem.  Allow this change to be detected by bumping __FreeBSD_version.

MFC after:      3 days
37ad1beaf516854d5e59b90a9706b09d02cc2a81 Bjoern A. Zeeb 2025-10-20 20:35:13

debug: classified in 04-filenames_plain2 by 'sys/'

ata: Add error bits
Add notes for other bits that we don't use in the code for error
status. We report these when there's an error, and this allows people
decoding it to not have to chase down these bits from the standard.

Sponsored by:           Netflix
e29f81c2adc1fbe970fa5da8cc3dd6d300c76d7b Warner Losh 2025-10-21 13:35:32

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #51: random: add RDSEED as a provably unique entropy source
random: add RDSEED as a provably unique entropy source

NIST SP800-90B allows for only a single entropy source to be claimed
in a FIPS-140-3 certificate.  In addition, only hardware sources that
have a NIST Entropy Source Validation (ESV) certificate, backed by
a SP800-90B Entropy Assessment Report, are usable.  Intel has obtained
ESV certificates for several of their processors, so RDSEED is a
FIPS-140-3 suitable entropy source.

However, even though RDRAND is seeded by RDSEED internally, RDRAND
would need a RBG certificate and CAVP testing run on the DRBG in order
to use it for FIPS-140-3 (SP800-90B) purposes.  So we need to know
down in the CSPRNG-subsystem which source the entropy came from.

In light of the potential issues surrounding AMD Zen 5 CPU's RDSEED
implementation[*], allow RDSEED to be disabled in loader.conf.
[*] https://www.phoronix.com/news/AMD-EPYC-Turin-RDSEED-Bug

Reviewed by:    cem
MFC after:      3 days
Sponsored by:   Juniper Networks
Differential Revision:  https://reviews.freebsd.org/D53150
3a12982962ce330c37c154bb2eb8ae0539fc6f48 David E. O'Brien 2025-10-17 03:20:23

debug: classified in 04-filenames_plain2 by 'sys/'


random: fenestrasX: add RDSEED support

Reviewed by: cem
Fixes: https://cgit.freebsd.org/src/commit/?id=3a1298 random: add RDSEED as a provably unique entropy source
Differential Revision:  https://reviews.freebsd.org/D53291
38e9d282cd7dacbf64883b45544723408cfd4d09 David E. O'Brien 2025-10-23 04:49:02

debug: classified in 03-filenames_plain1 by 'sys/dev/'

debug: moved to kernel because 'Need to be grouped with 3a12982962ce330c37c154bb2eb8ae0539fc6f48'

linuxkpi: Fix the definition of BITS_PER_LONG
Don't use __LP64__ to decide the value, as it gives the wrong result on
CHERI platforms.  Just define it in terms of __SIZEOF_LONG__.  Make a
similar adjustment for BITS_PER_LONG_LONG while here.

Reviewed by:    bz, dumbbell, emaste
MFC after:      1 week
Sponsored by:   CHERI Research Centre (EPSRC grant UKRI3001)
Differential Revision:  https://reviews.freebsd.org/D53135
3e9ad70a30d93fc8bc759af7ec57aaa7e0b2d4f6 Mark Johnston 2025-10-22 14:04:46

debug: classified in 04-filenames_plain2 by 'sys/'

vfs_cluster.c: Do not propagate VOP_BMAP errors to the caller
The code that makes this VOP_BMAP call tries to perform a read-ahead I/O
operation. Failing to do that for any reason isn't fatal for `cluster_read()`,
because we still can return some data to the caller. This change is consistent
with other places within `cluster_read()`, where error returned by VOP_BMAP is
not returned to the caller - see the `if (nblks > 1)` block above the changed
lines and `if (reqbp)` at the end of the function.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264196
Approved by:    markj, kib
Differential Revision: https://reviews.freebsd.org/D51254
62aef3f73f38db9fb68bffc12cc8900fecd58f0e Gleb Popov 2025-07-11 07:42:09

debug: classified in 04-filenames_plain2 by 'sys/'

random: garbage collect the RANDOM_PURE_OCTEON entropy source
It was used for Octeon MIPS and all producers have been removed
from the source tree.

Reviewed by: emaste
Differential Revision:  https://reviews.freebsd.org/D53146
283699338c5724253f721f4d0e488113dd49bd17 David E. O'Brien 2025-10-17 00:55:51

debug: classified in 04-filenames_plain2 by 'sys/'

LinuxKPI: 802.11: additions for Linux v6.17 based wireless drivers
This includes the conflicting changes from previous driver versions
(v6.11/v6.14), mostly being function pointer or function arguments.

MFC after:      3 days
76aed633b5b526fc2cdb3fa654f54b3cb8e5cfaf Bjoern A. Zeeb 2025-10-11 09:21:55

debug: classified in 04-filenames_plain2 by 'sys/'

sys: move sys/kern/md[45].c to sys/crypto
Both files are used by kernel and userspace.
Move them to sys/crypto where they belong.

No functional changes intended.

In preparation of D45670.

Reviewed by:    markj
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D52909
73a9b273d3d315716304c2cc237fef3141a93f2a Robert Clausecker 2025-10-04 21:40:33

debug: classified in 05-summary-prefix by 'sys:'

sys/crypto: import md5c.c C rewrite
The reimplementation is a bit cleaner than the original code,
although it is also slightly slower. This shouldn't matter too
much as we will have asm code for the major platforms.

The code is unrolled when built in the kernel or user space, but
not when in libsa, as to reduce the code size.

Differential Revision:  https://reviews.freebsd.org/D45670
Reviewed by:    jrtc27, imp
Approved by:    markj (mentor)
MFC after:      1 month
90fa789cfab54294d4c3a0ac74e01747ce074386 Robert Clausecker 2025-10-04 21:59:56

debug: classified in 05-summary-prefix by 'sys/crypto:'

geom: zero: Let sysctls .byte and .clear to be settable in loader
There is no reason to not allow kern.geom.zero.byte and
kern.geom.zero.clear to be settable as a tunable.

Reviewed by:    imp, markj
Approved by:    markj (mentor)
MFC after:      1 week
Event:          EuroBSDCon 2025
Differential Revision:  https://reviews.freebsd.org/D52763
ae17bca63f0a03e6e46ea679a5be7f8851f82099 Mateusz Piotrowski 2025-09-27 15:21:13

debug: classified in 04-filenames_plain2 by 'sys/'

devfs: make destroy_dev() a release barrier for cdevpriv destructors runs
Ensure that all destructors for cdevpriv finished running before
destroy_dev() returns to the caller.  Otherwise, since
devfs_destroy_cdevpriv() removes the cdevpriv data from the list, drops
the cdevpriv_mtx, and then starts the destructor, it is possible for
destroy_dev() to return before destructor finished in other thread.

This should allow drivers to safely remove cdev instance data that might
be referenced by cdevpriv data.

Diagnosed by:   kevans
Reviewed by:    kevans, markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53303
4dbe6628179d8e6bf400bfdb4bfa869bdc102a56 Konstantin Belousov 2025-10-23 18:37:00

debug: classified in 04-filenames_plain2 by 'sys/'

vfs_syscalls.c::flags_to_right(): O_DSYNC should be allowed for CAP_FSYNC
Noted by:     arrowd
Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53315
5e85f383da6661bf29ca6054a330406889d8ac60 Konstantin Belousov 2025-10-24 09:42:35

debug: classified in 04-filenames_plain2 by 'sys/'

sys: Bump GIANT device removal to 16.0
It did not happen prior to FreeBSD 15.0.

Reported by:    zlei
Sponsored by:   The FreeBSD Foundation
24adb135c5fe8d5018781d496e0abae914534ce5 Ed Maste 2025-10-24 17:57:30

debug: classified in 04-filenames_plain2 by 'sys/'

sys: Bump 32-bit kernel removal to 16.0
We are shipping at least one 32-bit kernel in FreeBSD 15.0 (i.e.,
armv7).

Sponsored by:   The FreeBSD Foundation
7b28d549427bd85ecfae24d09da6eacb26c15822 Ed Maste 2025-10-24 18:28:56

debug: classified in 04-filenames_plain2 by 'sys/'

pathconf: Define a new name called _PC_CASE_INSENSITIVE
Some FreeBSD file systems (msdosfs and optionally ZFS)
handle case insensitive file name lookup.
NFS (v3 and 4) provide an attribute to indicate this
capability, but without this patch, the NFS server does
not know if the file system does support this.

This patch adds the pathconf name_PC_CASE_INSENSITIVE
that can be used by the NFS server or user programs to
check for this feature.

Reviewed by:    kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53349
d6864221d88425a079f76ca106f30812c671ca9a Rick Macklem 2025-10-25 20:37:35

debug: classified in 04-filenames_plain2 by 'sys/'

sys: Bump non-ISA PNP removal to 16.0
This may include atkbdc, which is not being removed in 15.0.

Sponsored by:   The FreeBSD Foundation
46f982122c0d670ac181b748a5b8c2b221f61517 Ed Maste 2025-10-24 18:39:00

debug: classified in 04-filenames_plain2 by 'sys/'

cam: Bump deprecated sysctl removal to 16
The descriptions for these unmapped_io and rotating sysctls indicated
that they're deprecated and being removed for FreeBSD 15.0.  That did
not happen, so update to FreeBSD 16 instead.

Sponsored by:   The FreeBSD Foundation
e93db9abc9a62d662c40d783663d64cdb829a0cc Ed Maste 2025-10-24 19:36:42

debug: classified in 04-filenames_plain2 by 'sys/'

audit: convert audit event class lookup to lockless
When system call auditing is enabled, every audited call
does a lookup in the evclass hash table.  This table
appears to be insert only (eg, nothing can be removed)
and protecting it with an rwlock is overkill.  Using
an rwlock causes just the atomic operations to maintain
uncontended rwlock state to be responsible for measurable
overhead on high core count servers making lots of system calls.

Given that the evclass hash table can never have items removed,
only added, using a mutex to serialize additions and converting
to ck_list allows sufficient protection for lockless lookups.

In a contrived example of 64 cores, all reading 1 byte from their
own file, this change increases performance from 5M reads/sec
to 70M reads/sec on an AMD 7502P.

Reviewed by: markj, mjg, glebius (privately)
Sponsored by:   Netflix
Differential Revision: https://reviews.freebsd.org/D53176
23b46b2bbf0a8f3a740b6e5baf0767816afc339e Andrew Gallatin 2025-10-27 14:05:49

debug: classified in 04-filenames_plain2 by 'sys/'

amd64: Add cpu_stop() support to go UP after SMP
Reviewed by:  kib
Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51622
190d0a96cf5672c6cf0ce86eb91dd1f19d35baac Justin Hibbits 2025-10-26 02:45:08

debug: classified in 04-filenames_plain2 by 'sys/'

kern: Introduce kexec system feature (MI)
Introduce a new system call and reboot method to support booting a new
kernel directly from FreeBSD.

Linux has included a system call, kexec_load(), since 2005, which
permits booting a new kernel at reboot instead of requiring a full
reboot cycle through the BIOS/firmware.  This change brings that same
system call to FreeBSD.  Other changesets will add the MD components for
some of our architectures, with stubs for the rest until the MD
components have been written.

kexec_load() supports loading up to an arbitrary limit of 16 memory
segments.  These segments must be contained inside memory bounded in
vm_phys_segs (vm.phys_segs sysctl), and a segment must be contained
within a single vm.phys_segs segment, cannot cross adjacent segments.

Reviewed by:    imp, kib
Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51619
e02c57ff374ea3eed69e5f43f19a41fa559b7e2d Justin Hibbits 2025-10-26 02:44:45

debug: classified in 04-filenames_plain2 by 'sys/'

sysent: Regen for kexec_load()
efd00c75f459752e54e219fc47b18ee6631a7877 Justin Hibbits 2025-10-26 02:54:20

debug: classified in 05-summary-prefix by 'sysent:'

gdb: Improve doc strings
These are printed by gdb when requesting help for the corresponding
function or command, so phrase them such that they make sense in that
context.

MFC after:      1 week
ef7b81340b8e0ad06584f364aa02105c03ca5f7c Mark Johnston 2025-10-27 16:28:20

debug: classified in 04-filenames_plain2 by 'sys/'

gdb: Make development a bit easier
Provide a command which can be used to reload gdb modules.

MFC after:      1 week
d5d47e1e67cdf1707cb460c2722894305f3cb34d Mark Johnston 2025-10-27 16:33:34

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #52: random: remove hifn(4)
random: remove hifn(4)

The Hifn 7955 & 7956 only supports deprecated & NIST disallowed
algorithms (NIST SP800-224idp): SHA1 and SHA1-HMAC.

Furthermore the entropy RNG of the Hifn 7751, 7951, 7811, 7955,
and 7956 has no NIST Entropy Source Validation (ESV) certificate
and cannot be used in a FIPS-140-3 nor Common Criteara environment.

Furthermore the most prolific instance for FreeBSD was the
Soekris Engineering vpn1201, vpn1211, vpn1401, and vpn1411
offerings.  These are all 32-bit only processors.  The i386
kernel was de-supported in 15.0.

Reviewed by:    jhb
Differential Revision:  https://reviews.freebsd.org/D53182
685a78570b359eb2bd4d8c28dde22de54d55b8ec David E. O'Brien 2025-10-18 03:15:50

debug: classified in 05-summary-prefix by 'random:'


random: remove hifn(4)

Fixes:  https://cgit.freebsd.org/src/commit/?id=685a78
a38a42ed9a9754553212058177093f24a7f48d09 David E. O'Brien 2025-10-29 00:15:36

debug: classified in 02-filenames_wildcards by '.*Makefile'

debug: moved to kernel because 'Need to be grouped with 685a78570b359eb2bd4d8c28dde22de54d55b8ec'

dtrace/arm64: properly traverse the symbol table
LINKER_EACH_FUNCTION_NAMEVAL() stops processing the symbol table if a
callback function returns a non-zero value.

The fbt_provide_module_function() callback should not return 1 when
ignoring symbols. Instead, always return 0, as in dtrace/x86.

Fixes:          https://cgit.freebsd.org/src/commit/?id=30b68ecda84e ("Changes that improve DTrace FBT reliability on freebsd/arm64:")
Reviewed by:    markj, oshogbo
Approved by:    oshogbo (mentor)
Obtained from:  CheriBSD
Differential Revision: https://reviews.freebsd.org/D53399
2acdec9e4d915ec61d0ca45b408f9beb7aa4b772 Konrad Witaszczyk 2025-10-28 16:09:24

debug: classified in 04-filenames_plain2 by 'sys/'

linuxkpi: add stub implementation of pm_vt_switch_(un)register
This adds empty implementations of pm_vt_switch_(un)register which
are used by nvidia-drm. We do not need to specify anything here as
a VT switch always happens on suspend/resume.

Sponsored by:   NVIDIA
Reviewed by:    kbowling (mentor), emaste
Differential Revision:  https://reviews.freebsd.org/D53400
75aa13c64aba71f6f26d05e8fcf96e3862d44cde Austin Shafer 2025-10-28 17:03:18

debug: classified in 04-filenames_plain2 by 'sys/'

linuxkpi: gracefully handle page lookup failure in lkpi_vmf_insert_pfn_prot_locked
Currently lkpi_vmf_insert_pfn_prot_locked will check the page iter to
find a usage of the page. If no page was found, it continues on to
try using PHYS_TO_VM_PAGE() to get a page. Currently it does not check
if a valid page was found before passing it to vm_page_busy_acquire,
which can cause a kernel page fault as vm_page_busy_acquire expects
a valid page pointer.

This can easily be triggered while starting KDE6 in wayland mode, which
many users have been reporting. With this change plasma6 starts properly
in wayland mode.

Sponsored by:   NVIDIA
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288565
Reviewed by:    markj, kbowling (mentor)
Differential Revision:  https://reviews.freebsd.org/D53412
03b214a35db1ebdc7575cad8d695c65daf2817bf Austin Shafer 2025-10-28 18:08:01

debug: classified in 04-filenames_plain2 by 'sys/'

vchiq: fix another logging format string for 32/64 bit
This is from work from https://reviews.freebsd.org/D37878.

Submitted by: Marco Devesas Campos <devesas.campos@gmail.com>
Differential Revision:  https://reviews.freebsd.org/D53372
8b43286fc3badc646ff5a828bae226c8fca90268 Marco Devesas Campos 2025-10-26 23:08:24

debug: classified in 04-filenames_plain2 by 'sys/'

bus_alloc_resource: First step in passing resource IDs by value
Add wrapper inline functions for bus_alloc_resource* that accept a
resource ID by value (instead of a pointer).  The rest of the bus
resource API (outside of compat shims) does not accept resource IDs as
arguments, but instead obtains the resource ID from the resource
itself when needed.  As such, there is no reason to return any
potentially modified resource IDs to the caller.

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D53401
7eb213614b90cde31707a53c4b8ae6acacf2aa0f John Baldwin 2025-10-30 15:14:27

debug: classified in 04-filenames_plain2 by 'sys/'

sbuf_delete() after sbuf_finish() & add SBUF_INCLUDENUL
Reviewed by:  adrian, imp
Differential Revision:  https://reviews.freebsd.org/D53254
99651c30b15afd085eca921a42e6ce2e67093609 David E. O'Brien 2025-10-22 07:12:46

debug: classified in 04-filenames_plain2 by 'sys/'

racct: Simplify skipping idle process in the throttling daemon
In racctd(), commit c72188d85a79 ("racct: Improve handling of the pcpu
resource") added a superfluous test to skip the idle process when
computing the resource usage and checking for limits, consisting of
a comparison of the considered process' pointer with that of the process of
the first CPU's idle thread.  The P_IDLEPROC flag introduced in commit
33be1632047c ("racct: Fix accounting of CPU time for the system idle
process") is sufficient and simpler for this purpose.

In the second loop throttling processes based on their %CPU usage, the
test excluding processes not in PRS_NORMAL was not consistent with that
of the first loop (which tests for the idle process also).  This had no
practical consequences except a superfluous call to
racct_pcpu_available() as the RACCT_PCTCPU counter stays at 0 on the
idle process (because of the first loop).  Factor out the test in the
new racct_proc_to_skip() function.

No functional change intended.

Reviewed by:    markj
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53455
9530c6f082ada9e6d0323f36697ce53997ab2326 Olivier Certner 2025-10-29 15:47:25

debug: classified in 04-filenames_plain2 by 'sys/'

kern: Fix credentials leaks on RACCT but no RCTL
Affected system calls: setuid(), setreuid(), setresuid(), jail_attach(),
setloginclass().

In these system calls, the crhold() calls that, on RACCT, make the
just-installed process credentials survive a concurrent change of the
same credentials just after PROC_UNLOCK() were not matched by
a corresponding crfree() when RCTL is off.  In fact, in that latter
case, they are simply not necessary, so wrap them with '#ifdef RCTL'
stances.  'kern_rctl.c' causes a compile error if RACCT is not defined
but RCTL is, so ease reading by not nesting '#ifdef's.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53456
f4315ff8b3fee71eb0098864a84618f2f8ba85d5 Olivier Certner 2025-10-29 16:46:39

debug: classified in 04-filenames_plain2 by 'sys/'

setcred(): Fix RACCT resource accounting on credentials change
When credentials are changed, we need to adjust the sum of resources
associated to the initial and new process' user IDs (and old and new
login classes and jails, but setcred() does not change them) for them to
stay consistent.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290352
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53457
2be5127c4a31bacac9b4158395bfa844f6033626 Olivier Certner 2025-10-29 17:07:59

debug: classified in 04-filenames_plain2 by 'sys/'

kern/subr_syscalls.c: declare 'traced' local variables boolean
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential revision:  https://reviews.freebsd.org/D53482
a6a9d97708ec18bf307b01141d84aabd01289159 Konstantin Belousov 2025-10-30 18:35:15

debug: classified in 04-filenames_plain2 by 'sys/'

param.h: Bump __FreeBSD_version for e5aa60d06958
Commit e5aa60d06958 changed the internal KAPI between
the NFS modules.  As such, they all need to be rebuilt
from sources.  Bump __FreeBSD_version to 1600004 for this.
b3de3c2dea576b626a8a107d96b0fd6562500c1e Rick Macklem 2025-11-03 00:16:21

debug: classified in 04-filenames_plain2 by 'sys/'

sys/: rename bio_error variable to abio_error
to prevent future name collision with some buf/bio macros

Reviewed by:    mckusick
Sponsored by:   The FreeBSD Foundation
Differential revision:  https://reviews.freebsd.org/D53351
58e5f3b84df0aeaaf4b56a5e48bcb4b3e1d9c097 Konstantin Belousov 2025-10-25 08:37:14

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #53: exterror(9)
exterror(9): add SETEXTERROR_KE() macro

It fills the extended error data into explicitly passed pointer to the
struct kexterr instead of td_kexterr for current thread.

Reviewed by:    mckusick
Sponsored by:   The FreeBSD Foundation
Differential revision:  https://reviews.freebsd.org/D53351
7746b51dae12b09266d02f02f8d3b772282ddaf1 Konstantin Belousov 2025-10-25 09:12:33

debug: classified in 04-filenames_plain2 by 'sys/'


exterror(9): add two helpers

The exterr_set_from() function sets current thread extended error from
the pre-filled struct kexterr.

The exterr_clear() function clears some struct kexterr.

Reviewed by:    mckusick
Sponsored by:   The FreeBSD Foundation
Differential revision:  https://reviews.freebsd.org/D53351
069e2fb5506f8301cd9e2da1946c718bd268c50c Konstantin Belousov 2025-10-25 09:14:59

debug: classified in 04-filenames_plain2 by 'sys/'


exterror(9): add infra for bufs and bios

The extended error can be stored in either struct bio or struct buf,
indicated by BIO_EXTERR bio_flag.  At some strategic places, it is
copied into the current thread extended error.

This structure is required because io request from the top might pass
down through several io threads and the context that can report meaningful
extended error does not belong to the thread that initiated the io.

Sizes before the change, on amd64 nodebug:
sizeof(struct buf) =  456
sizeof(struct bio) = 376

after:
sizeof(struct buf) =  496
sizeof(struct bio) = 408

WIP: more geom providers should handle BIO_EXTERR when passing cloned
bios down and then handling completions.

Reviewed by:    mckusick
Sponsored by:   The FreeBSD Foundation
Differential revision:  https://reviews.freebsd.org/D53351
6c406b5b93125d030f0e63716ff389ce1a6ec4c5 Konstantin Belousov 2025-10-25 09:18:28

debug: classified in 04-filenames_plain2 by 'sys/'


libdtrace: Update io.d to chase changes to struct bio layout

Fixes:  https://cgit.freebsd.org/src/commit/?id=6c406b5b9312 ("exterror(9): add infra for bufs and bios")
1ca7542a1b31fffefaac5a2ff45ef23f908b33c2 Mark Johnston 2025-11-05 21:51:55

debug: classified in 05-summary-prefix by 'lib.*:'

debug: moved to kernel because 'Need to be grouped with 6c406b5b93125d030f0e63716ff389ce1a6ec4c5'

geom/geom_vfs.c: use EXTERROR_KE() in g_vfs_strategy for ENXIOs
As an example of use for the bp_exterr infrastructure.

Reviewed by:    mckusick
Sponsored by:   The FreeBSD Foundation
Differential revision:  https://reviews.freebsd.org/D53351
515fa5ff2e4db907379c284fb7e7df77b4096948 Konstantin Belousov 2025-10-25 09:17:02

debug: classified in 04-filenames_plain2 by 'sys/'

sys/bio.h: print BIO_EXTERR flag
Noted by:     imp
Sponsored by:   The FreeBSD Foundation
8794e3718ec3b2a05a70e9c0afd6ab5cac503cdb Konstantin Belousov 2025-11-04 19:14:19

debug: classified in 04-filenames_plain2 by 'sys/'

exterr: add exterr_db_print(), to be used by several ddb dumpers
Sponsored by: The FreeBSD Foundation
9521b0b91ea31b7f31b3800772ac6502c822ae56 Konstantin Belousov 2025-11-04 20:51:19

debug: classified in 04-filenames_plain2 by 'sys/'

exterr: print exterr for struct buf and bio in ddb show commands
Noted by:     imp
Sponsored by:   The FreeBSD Foundation
7d495be8d4bd3a0e315233346b2f7267b8390612 Konstantin Belousov 2025-11-04 20:53:14

debug: classified in 04-filenames_plain2 by 'sys/'

cam: Add a number of asserts to catch bad transactions
Ensure that we're in the right state / priority for each of the states
in the driver. These asserts assured that a prior patch that I committed
to fix a priority leak worked when a drive departed (and bounced back
too!). These have been running in our production since I committed the
change and haven't trigged.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D53259
b558ebb082ffa13f3c37aa8f7d7974b64e93fa93 Warner Losh 2025-11-06 18:52:43

debug: classified in 04-filenames_plain2 by 'sys/'

kern_jail_set(): do not double-free opts
If vfs_buildopts() failed, vfs_freeopts() must not be called.

Reported and tested by: pho
Reviewed by:    jamie
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential revision:  https://reviews.freebsd.org/D53612
3f5f52216f7e583aeb5580b13ba0f87e29d1ee43 Konstantin Belousov 2025-11-06 05:50:42

debug: classified in 04-filenames_plain2 by 'sys/'

random: Have RANDOM_PURE_START be a cross-platform source
and one that will be with us in the long-term future.
(this helps reduce diffs in the future and for down-stream users
that trim entropy sources).  Also, move deprecated (removed in 16.0)
sources to the bottom of the list to reduce changes to 15.x.

Reviewed by:    glebius
Obtained from:  Juniper Networks
Differential Revision:  https://reviews.freebsd.org/D53311
068fea0aa15bceb7b6b01687542b58ee81d1d887 David E. O'Brien 2025-10-23 23:20:54

debug: classified in 04-filenames_plain2 by 'sys/'

proc_set_cred(): Allow 'newcred' to have multiple references
This is an extension needed by next commit, where some additional
reference is kept on the credentials to be set on a process in order to
keep these credentials alive even after the process lock is released (an
intervening reset of process credentials could release the reference
that the process holds).

Only 'cr_users' is incremented, as the reference (counted in 'cr_ref')
comes from the caller, who passes it to the process.

Reviewed by:    kib, markj
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53636
5d46d11772c3280fd1c8ae09f20ce6c57f631c30 Olivier Certner 2025-11-06 22:25:57

debug: classified in 04-filenames_plain2 by 'sys/'

setpgid(): Fix space before TAB in herald comment
No functional change.

With this tiny change, all the file becomes whitespace-clean.

MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
d05ab93913f340c5590eafa4cc09cc84aa86282e Olivier Certner 2025-11-09 22:35:42

debug: classified in 04-filenames_plain2 by 'sys/'

kern: RACCT: Keep process credentials alive via references
In system calls changing process credentials, on RACCT, calls to
racct_proc_ucred_changed() must be issued on the new credentials.
Currently, this is done after the new credentials have been installed on
the process via proc_set_cred() or proc_set_cred_enforce_proc_lim(),
which modifies 'p_ucred'.  Only the process lock guarantees that the new
credentials pointed to by 'p_ucred' cannot themselves be concurrently
modified, which would cause their 'struct ucred' to potentially lose its
last reference from the process before the call to
racct_proc_ucred_changed(), which needs one.

For better code understandability and to avoid errors in future
modifications, stop relying on proc_set_cred*() storing the passed
'struct ucred' in the process 'p_ucred' and on the process lock to avoid
the reference taken by proc_set_cred*() to vanish.  Instead, ensure that
a reference is held when racct_proc_ucred_changed() is called.

As racct_proc_ucred_changed() is actually passed explicit pointers to
the old and new credentials, there is in fact no need to call it after
proc_set_cred().  Instead, call it before proc_set_cred() and its taking
over the reference.

Since setcred() uses proc_set_cred_enforce_proc_lim(), which can fail,
instead of proc_set_cred(), we instead take an additional reference with
crhold().  Indeed, racct_proc_ucred_changed() should update resource
accounting only if proc_set_cred_enforce_proc_lim() succeeds (an
alternative would be to call it in advance and then in case of failure
of the latter to call it again in order to backpedal the updated
accounting, but we don't see a compelling reason to do that instead of
taking an additional reference).

While here, add to the documentation of proc_set_cred_enforce_proc_lim()
that it does not take over the credentials reference in case of failure.
While here, in racct_proc_ucred_changed()'s herald comment, add the
precise condition in which this function must be called.

No functional change intended.

Reviewed by:    kib
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53563
c3d2b68c6933d0610bc3e09e9b94f963b4dc85aa Olivier Certner 2025-11-03 18:21:08

debug: classified in 04-filenames_plain2 by 'sys/'

LinuxKPI: 802.11: clear CONF_IDLE earlier
When starting to scan and ending a scan we clear/set the hardware to
idle.  Similarly we set the hw to idle when we remove the channel
context but when starting we only set it to non-idle when we went from
assoc to run.  This apparently was not a problem most of the time
as the switch from a failed hardware scan to a software scan was
racing against net80211.  ad4ddc83ebf8 fixed that specifically for
rtw88 and while we were more consistently scanning, this broke
authentication as the setting of idle at the end of the scan was
now happening reliably.  Move the unsetting of idle from assoc_to_run
to scan_to_auth for when we  create the chanctx to keep it
symmetrical.  This makes authentication work again for rtw88.

This likely also fixes the problems in the listed PRs.

iwlwifi(4) mvm and mld driver parts do not use this information at
all and were never affected.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reported by:    Oleg Nauman (oleg.nauman gmail.com)
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290850, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288186, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281979
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272145 (the non skb-mem-limit parts)
b568711f8ef1afd7c86ea2d8bd2f94f399f54dc1 Bjoern A. Zeeb 2025-11-10 19:41:08

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #54: random: TPM_HARVEST should have been named RANDOM_ENABLE_TPM
random: TPM_HARVEST should have been named RANDOM_ENABLE_TPM

* Enable RANDOM_ENABLE_TPM by default

* The commit of TPM_HARVEST failed to add it to NOTES
  so that the LINT kernel would build the code.

Fixes: https://cgit.freebsd.org/src/commit/?id=4ee7d3b0118c82e651712bb65da53d08e78cd7b1
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D53460
3deb21f1afd5c4abfd9cb93ca120097a841536c5 David E. O'Brien 2025-10-28 03:53:43

debug: classified in 04-filenames_plain2 by 'sys/'


random: git'o in RANDOM_ENABLE_TPM

Fixes:  https://cgit.freebsd.org/src/commit/?id=3deb21f1a
f1b9c1aafd8496c5bfdbc2be57bcfecfe58f12a8 David E. O'Brien 2025-11-11 02:37:28

debug: classified in 03-filenames_plain1 by 'sys/dev/'

debug: moved to kernel because 'Need to be grouped with 3deb21f1afd5c4abfd9cb93ca120097a841536c5'

random: allow disabling of entropy harvesting from keyboard & mice
Reviewed by:  jmg
Sponsored by:   Juniper Networks
Differential Revision:  https://reviews.freebsd.org/D53390
d6f10a5d013fdcc92847644ffbaf65cbf491bb39 David E. O'Brien 2025-10-28 02:57:21

debug: classified in 04-filenames_plain2 by 'sys/'

kern_thread: thread_suspend_check(1) must never suspend
Reported by:  bdrewery
Reviewed by:    bdrewery, markj
Tested by:      bdrewery, pho
PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290843
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53624
e1c6f4cb9bd29358c2b2fe249af9a2f9626b0670 Konstantin Belousov 2025-11-06 19:25:23

debug: classified in 04-filenames_plain2 by 'sys/'

geom/zero: Add support for unmapped I/O
This patch adds support for unmapped I/O to gzero(4).

Let's consider the following script to illustrate the change in
gzero(4)'s behavior:

```
dd="dd if=/dev/gzero of=/dev/null bs=512 count=100000"
dtrace -q -c "$dd" -n '
    fbt::pmap_qenter:entry,
    fbt::uiomove_fromphys:entry,
    fbt::memset:entry
    /execname == "dd"/
    {
        @[probefunc] = count();
    }
'
```

Let's run that script 4 times:

```
==> 1: unmapped I/O not supported (fallback to mapped I/O), kern.geom.zero.clear=1
51200000 bytes transferred in 1.795809 secs (28510829 bytes/sec)
  pmap_qenter                                                  100000
  memset                                                       400011

==> 2: unmapped I/O not supported (fallback to mapped I/O), kern.geom.zero.clear=0
51200000 bytes transferred in 0.701079 secs (73030337 bytes/sec)
  memset                                                       300011

==> 3: unmapped I/O supported, kern.geom.zero.clear=1
51200000 bytes transferred in 0.771680 secs (66348750 bytes/sec)
  uiomove_fromphys                                             100000
  memset                                                       300011

==> 4: unmapped I/O supported, kern.geom.zero.clear=0
51200000 bytes transferred in 0.621303 secs (82407407 bytes/sec)
  memset                                                       300011
```

If kern.geom.zero.clear=0, then nothing really changes as no copying takes
place. Otherwise, we see by adding unmapped I/O support we avoid calls to
pmap_qenter(), which was called by GEOM to turn unmapped I/O requests into
mapped ones before passing them for processing to gzero(4).

Reviewed by:    bnovkov, markj
Approved by:    bnovkov (mentor), markj (mentor)
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D52998
d01183fddf37b15da7ab3d69039e7759ae144451 Mateusz Piotrowski 2025-09-26 07:08:30

debug: classified in 04-filenames_plain2 by 'sys/'

kmod.mk: Remove a trailing reference to pccarddevs.h
Fixes:                https://cgit.freebsd.org/src/commit/?id=31b35400cf77 ("pccard: Remove more of the PC Card infrastructure")
6bf611ada21216aefcd830ba71fbf0b5d776ea47 John Baldwin 2025-11-12 14:29:04

debug: classified in 04-filenames_plain2 by 'sys/'

unix: Fix handling of listening sockets during garbage collection
socantrcvmore() and unp_dispose() assume that the socket's socket
buffers are initialized, which isn't the case for listening sockets.

Reported by:    syzbot+a62883292a5c257703be@syzkaller.appspotmail.com
MFC after:      1 week
Reviewed by:    glebius
Differential Revision:  https://reviews.freebsd.org/D53743
9d9fa9a2c22f67d5f8afec18106c9f0072d6b3d4 Mark Johnston 2025-11-13 22:56:15

debug: classified in 04-filenames_plain2 by 'sys/'

unix: Remove an always-false null pointer check
No functional change intended.

MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53453
ce5692bf009ed5607d3b880eec4055697479c13d Mark Johnston 2025-11-13 22:57:35

debug: classified in 04-filenames_plain2 by 'sys/'

aio: fix alignment of struct (o)aiocb32 on non-amd64
Only i386 has a four-byte alignment for uint64_t, others have
eight-byte alignment.  This causes the structure to mismatch
on armv7 binaries running under aarch64, breaking the aio interface.

Fixes:          https://cgit.freebsd.org/src/commit/?id=3858a1f4f501d00000447309aae14029f8133946
Approved by:    markj (mentor)
Reported by:    Mark Millard <marklmi26-fbsd@yahoo.com>
Discussed with: jrtc27
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290962
MFC after:      immediately (for 15.0)
f0af21824331648a41b4e5d3323bea9216bcb7e2 Robert Clausecker 2025-11-14 00:55:59

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #55: unix/stream: fix a race with MSG_PEEK on SOCK_SEQPACKET with MSG_EOR
unix/stream: fix a race with MSG_PEEK on SOCK_SEQPACKET with MSG_EOR

The pr_soreceive method first scans the buffer holding the both I/O sx(9)
and socket buffer mutex(9) and after figuring out how much needs to be
copied out drops the mutex.  Since the other side may only append to the
buffer, it is safe to continue the operation holding the sx(9) only.
However, the code had a bug that it used pointer in the very last mbuf as
marker of the place where to stop.  This worked both in a case when we
drain a buffer completely (marker points at NULL) and in a case when we
wanted to stop at MSG_EOR (marker points at next mbuf after MSG_EOR).
However, this pointer is not consistent after we dropped the socket buffer
mutex.

Rewrite the logic to use the data length as bounds for the copyout cycle.

Provide a test case that reproduces the race.  Note that the race is very
hard to hit, thus test will pass on unmodified kernel as well.  In a
virtual machine I needed to add tsleep(9) for 10 nanoseconds into the
middle of function to be able to reproduce.

PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290658
Reviewed by:            markj
Differential Revision:  https://reviews.freebsd.org/D53632
Fixes:                  https://cgit.freebsd.org/src/commit/?id=d15792780760ef94647af9b377b5f0a80e1826bc
69f61cee2efb1eec0640ca7de9b2d51599569a5d Gleb Smirnoff 2025-11-14 02:39:48

debug: classified in 04-filenames_plain2 by 'sys/'


unix/stream: fix instant panic w/o INVARIANTS

A stupid microoptimization I made leaving empty STAILQ inconsistent
is a brainfart that is related to much earlier version of this code,
where it was safe to do so.

Pointy hat to:  glebius
Fixes:          https://cgit.freebsd.org/src/commit/?id=69f61cee2efb1eec0640ca7de9b2d51599569a5d
82d8a5029a80a77166dca098b8fedb10d84e4e38 Gleb Smirnoff 2025-11-14 16:01:47

debug: classified in 04-filenames_plain2 by 'sys/'

sys/conf/files: Add iwx driver
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290812
Fixes:          https://cgit.freebsd.org/src/commit/?id=2ad0f7e91582 ("Import iwx as ported from OpenBSD by Future Crew.")
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53758
a615ded5bf2dd7f563eed6766d32fc063ae36f92 Dag-Erling Smørgrav 2025-11-15 03:18:45

debug: classified in 04-filenames_plain2 by 'sys/'

arm64: Add support to vchiq and bcm2835_audio (plus some fixes)
Add 64 bit support to vchiq:

 * update fields to the appropriate fixed bit-size variants (everywhere [cf. e.g., ref:sizes and ref:sizes2])
 * refer to event semaphores (that go into the very 32 bit VC) by offset instead of pointers [ref:sems]
 * dsb() is dsb(sy) in arm64 (vchiq_{core.c,core.h,kmod.c}) [ref:dsb]
 * comment out some unneeded code in parse_rx_slots around VCHIQ_MSG_BULK_RX (cf. [ref:deadcode])
 * adapt remote_event_signal to arm64 caching behaviours (vchiq_kmod.c)
 * refactor synchronization around remote_event_signal, forcing a wmb to be on the safe side; thereby make it look more like what linux does [ref:sync] (vchiq_{core,kmod}.c); and make a comment in vchiq_core.c true (wasn't before)
 * add a few more syncs to be on the safe side (vchiq_2835_arm.c)
 * use arm64 dcache invalidation mechanisms (vchiq_2835_arm.c)
 * explicitly invalidate pages on arm64 post bulk-read (vchiq_2835_arm.c)
 * support bulk transfers on rpi-4 (aka "long address space" transfers), by hard-coding their vc offset (0) and different bit-shift [ref:longbulk] (vchiq_2835_arm.c)
 * refactor a loop-of-constant-test (vchiq_2835_arm.c)
 * use the correct (hard-coded) cache-line size on arm64
 * rework the handling of chipset "features" to account for the extra behaviours with 64 bit chipsets. (vchiq_kmod.c)
 * add sysctl-s (log, arm_log) to control debug (vchiq_kmod.c)
 * add example kernel config (GENERIC-VCHIQ)

Fixes:

 * Rework error handling in create_pagelist, avoiding a potential panic when
   freeing memory that had been dmamem_alloc, a potential null dereference,
   and a leak when having problems pinning pages (vchiq_2835_arm.c)
 * fix a confusion about the behaviour cv_wait_sig that lead to
   uninterruptible looping (vchiq_bsd.c)
 * implement detection of fatal signals (vchiq_bsd.c)
 * fix a confusion with the name of a variable introduced by #a0b8746
   that could lead to a panic when closing the cdev file (vchiq_arm.c)
 * release user connection when destructing cdevpriv and avoid user processes
   sharing connection data, which lead to stalls and data corruption. (vchiq_arm.c)

Update bcm2835_audio to work on 64bit systems:

 * update VC audio fields (vc_vchi_audioserv_defs.h, bcm2835_audio.c)
 * repurpose the hitherto unused callback field to help push a 64 bit pointer in (bcm2835_audio.c)
 * increase (hopefully) the robustness of the code that shifts data to VC (bcm2835_audio.c)
 * add a sysctl to control the amount of debugging info output by bcm2835_audio.c

Tested on zero, zero2 and 4+ with ping, functional, bulk and control vchiq_test-s, and omxplayer

  [ref:dsb]: https://github.com/raspberrypi/linux/commit/35b7ebda57affcfd3616d39d5a727a4495b31123
  [ref:sems]: https://github.com/raspberrypi/linux/commit/24a4262afb10907fce3cdbc3ae336fcf4cdaece5
  [ref:sizes]: https://github.com/raspberrypi/linux/commit/e64568b8ea6c04e747e432c17ce2452652075216
  [ref:sizes2]: https://github.com/raspberrypi/linux/commit/f9bee6dd24addfa00c2c8d50c25b73efbfbb28ba
  [ref:deadcode]: https://github.com/raspberrypi/linux/commit/14f4d72fb799a9b3170a45ab80d4a3ddad541960
  [ref:sync]: https://github.com/raspberrypi/linux/commit/51c071265079319583e4c6e8c61e09660300d0bf
  [ref:longbulk]: https://github.com/raspberrypi/linux/commit/37f6f19a83722c9b866cecb5e455b2e16e5bbc6b

Differential Revision:  https://reviews.freebsd.org/D37878
Submitted by: Marco Devesas Campos <devesas.campos@gmail.com>
aa6b871ea77e5b52cf4683c5f304a82d2e351ba0 Marco Devesas Campos 2025-10-20 02:50:19

debug: classified in 04-filenames_plain2 by 'sys/'

setcred(): Fix 32-bit compatibility copy-in
For 32-bit processes on 64-bit architectures, a difference of 'int'
pointers was wrongly used as a number of bytes to copy in a memcpy()
used to internally construct a 64-bit 'struct setcred' from the 32-bit
variant, leading to copying only part of the 32-bit structure, and thus
to requesting credentials with garbage IDs except for the real and
effective user IDs.

This bug was spotted by jhb@, who produced a slightly more invasive fix
in D53757 (a switch to using CP() on all fields).  In the interest of
minimizing the diff for possible inclusion in 15.0, the commit here just
limits itself to fixing the number of bytes to copy.

Tested successfully on a VM with 32-bit mdo(1) (and in passing also
tested that the same executable on a kernel without this change exhibits
the bug in practice, in the form of setcred() failing with EINVAL).

Reported by:    jhb
Reviewed by:    jhb
Fixes:          https://cgit.freebsd.org/src/commit/?id=ddb3eb4efe55 ("New setcred() system call and associated MAC hooks")
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53767
4872b48b175cc637ee38f645d68b8207d9335474 Olivier Certner 2025-11-14 20:20:12

debug: classified in 04-filenames_plain2 by 'sys/'

inotify: Work around the vput() bug directly
For 15.0, apply a minimal fix which at least ensures that inotify can't
trigger the latent race described in commit 99cb3dca4773 ("vnode: Rework
vput() to avoid holding the vnode lock after decrementing").

Reviewed by:    olce, kib
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53774
ebc17879f0885ca87644980f6275b9759b311eb3 Mark Johnston 2025-11-15 18:00:44

debug: classified in 04-filenames_plain2 by 'sys/'

file: Add a fdclose method
Consider a program that creates a unix socket pair, transmits both
sockets from one to the other using an SCM_RIGHTS message, and then
closes both sockets without externalizing the message.  unp_gc() is
supposed to handle cleanup, but it is only triggered by uipc_detach(),
which runs when a unix socket is destroyed.  Because the two sockets are
internalized, their refcounts are positive, so uipc_detach() isn't
called.

As a result, a userspace program can create an unbounded amount of
garbage without triggering reclaim.  Let's trigger garbage collection
whenever a unix socket is close()d.  To implement this, add new a
fdclose file op and protocol op, and implement them accordingly.  Since
mqueuefs has a hack to hook into the file close path, convert it to use
the new op as well.

Now, userspace can't create garbage without triggering reclamation.

Reviewed by:    glebius, kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53744
1390bba42caf53a00fa370f3844cd7b3725ed4ec Mark Johnston 2025-11-16 15:49:39

debug: classified in 04-filenames_plain2 by 'sys/'

sys/efi_map.h: This is a kernel-only file
Slap a #ifdef _KERNEL around it all since it's useless to userland.

Fixes:          https://cgit.freebsd.org/src/commit/?id=43b8edb32051
Sponsored by:   Netflix
44fb9f2701c71ce6bba75810fc6b7e735ecd5868 Warner Losh 2025-11-16 23:58:37

debug: classified in 04-filenames_plain2 by 'sys/'

efi.h: Bring in sys/types.h explicitly now
sys/types.h used to be brought in through namespace pollution, but no
more.

Fixes:          https://cgit.freebsd.org/src/commit/?id=43b8edb32051
Sponsored by:   Netflix
de060b6851a4c96defaa5dde6a1b6e7468486c8c Warner Losh 2025-11-17 00:16:44

debug: classified in 04-filenames_plain2 by 'sys/'

LinuxKPI: 802.11: initialize the passed in chandef in cfg80211_chandef_create
cfg80211_chandef_create() gets passed a pointer to a cfg80211_chan_def.
It seems that several users are passing in an uninitialized variable
from the stack and expect cfg80211_chandef_create() to initialize it.
Run memset() on the struct, which for all callers currently seems to do
the right thing, to avoid later accesses to uninitialized struct members
like "punctured".

Reported by:    CI (gcc build)
MFC after:      3 days
Sponsonred by:  The FreeBSD Foundation
640205bc22c8b2bd31c766f4d0c409c183a8b8dc Bjoern A. Zeeb 2025-11-17 22:54:07

debug: classified in 04-filenames_plain2 by 'sys/'

stand: Add back missing EFIAPI define
EFIAPI has to be defined correctly for amd64, or things won't boot
because it uses a different API than we normally use. Normally, this
only affects amd64, since all the other archs are basically nothing.
Tested on: amd64, aarch64 and armv7 (the frist two by markj and I with
differnet test setups).

Fixes:                  https://cgit.freebsd.org/src/commit/?id=43b8edb32051
Sponsored by:           Netflix
Reviewed by:            markj
Differential Revision:  https://reviews.freebsd.org/D53799
396b32e801d615954750162a616b4e9174b39916 Warner Losh 2025-11-18 04:44:07

debug: classified in 04-filenames_plain2 by 'sys/'

kevent: Hold the knlist mutex when invoking f_event(NOTE_FORK)
In general f_event is supposed to be called with the knlist mutex held,
so lock it earlier to follow this protocol.  Also make sure that the
update to kn_fflags is synchronized.

Lock the kqueue itself earlier in the case where the knote is activated,
to avoid locking and unlocking the kqueue twice.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291005
Reported by:    Qiu-ji Chen <chenqiuji666@gmail.com>
Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53762
d795c753e262b97a93dc353aa66b858e1b1969d1 Mark Johnston 2025-11-18 14:22:04

debug: classified in 04-filenames_plain2 by 'sys/'

conf: Mark vchiq as depending on fdt
Fix an ACPI only kernel by only building the vchiq files when FDT is
enabled.

Fixes:  https://cgit.freebsd.org/src/commit/?id=745c4aa5e8f0 ("Make BRCM2837 port conform FreeBSD/ARM64 guidelines")
Sponsored by:   Arm Ltd
7446569bbcb42c08c650a5e1015f544f13066d7f Andrew Turner 2025-11-18 18:00:33

debug: classified in 04-filenames_plain2 by 'sys/'

nvme: Refactor geom setting to function.
Refactor setting of geometry for the disk to its own function. No
functional changes.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D33032
dffd882d12d2a71aca464f48209ec9ae6f393b15 Wanpeng Qian 2025-11-18 15:24:23

debug: classified in 04-filenames_plain2 by 'sys/'

nda: React to namespace change events
Register for AC_GETDEV_CHANGED. When we receive a namespace
notification, we only create a new device if it was unconfigured. If it
was configured, generate this async event. Rely on the fact that we
reconstruct namespace to just get the data from the identify data and
call disk_resised.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D33032
86d3ec359a56d1b5d015718bd19ef4bda681a032 Wanpeng Qian 2025-11-18 15:24:23

debug: classified in 04-filenames_plain2 by 'sys/'

gdb: Fix some PEP 8 violations
Silence some warnings in my editor.  No functional change intended.

MFC after:      1 week
32605b159f3fea3a5d4710055681650f3de9ea68 Mark Johnston 2025-11-19 13:58:11

debug: classified in 04-filenames_plain2 by 'sys/'

jail: Make jaildesc_ops const
No functional change intended.

MFC after:      1 week
e22cc773f1a926fed3558c51bf0dd7890af26a2b Mark Johnston 2025-11-19 16:02:08

debug: classified in 04-filenames_plain2 by 'sys/'

max_align_t: apply alignof to 'long double' for long double alignment
Reviewed by;  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53826
39cad8402d19f361cb8d489a3a69ff94b643c6df Konstantin Belousov 2025-11-19 14:51:54

debug: classified in 04-filenames_plain2 by 'sys/'

sys/extaddr.h: don't declare struct iovec
The code never uses it so there's no need to forward declare it.

Sponsored by:   Innovate UK
5b3368322b0e0f04dc0e5cc6154ddc5950b25d9b Brooks Davis 2025-11-21 12:13:00

debug: classified in 04-filenames_plain2 by 'sys/'

vm_page_free_prep(): convert PG_ZERO zeroed page check to use sf_buf
Make the check MI by allocating sf_buf in non-blockable manner. For
DMAP arches, this should be nop since sf_buf allocation cannot fail
trivially. For non-DMAP arches, we get the checks activated unless there
is serious sf_buf pressure, which typically should be not.

The context for vm_page_free_prep() should be ready to block on some VM
mutexes, which should make it reasonable to block on sf_buf list lock.

Move the code to INVARIANTS build from DIAGNOSTIC, and control its activation
with the sysctl debug.vm_check_pg_zero.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53850
b9fc7628dbb24b55cbb8791c83bd69f73cfadf23 Konstantin Belousov 2025-11-21 08:57:17

debug: classified in 04-filenames_plain2 by 'sys/'

vm_fault: add a verifier that the PG_ZERO page is indeed zeroed
Compiled under INVARIANTS, activated by the same sysctl
debug.vm_check_pg_zero.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53850
d8bfcacd12aba73188c44a157c707908e275825d Konstantin Belousov 2025-11-21 08:34:51

debug: classified in 04-filenames_plain2 by 'sys/'

mbuf: allow const pointer for m_rcvif()
fd0296154d471daeaf113672cb989d5abea9a610 Gleb Smirnoff 2025-11-21 22:43:47

debug: classified in 04-filenames_plain2 by 'sys/'

MAC: Use the current thread's user ABI to determine the layout of struct mac
This removes mac_label_copyin32() as mac_label_copyin() can now handle
both native and 32-bit struct mac objects.

Reviewed by:    olce, brooks
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D53755
134d00bd2c910cc7cc21c11fba093ff82bbb9344 John Baldwin 2025-11-24 15:47:20

debug: classified in 04-filenames_plain2 by 'sys/'

setcred: Move initial copyin of struct setcred out to per-ABI syscall
This is the more typical approach used in the tree for system calls
with per-ABI structure layouts.

Reviewed by:    olce, brooks
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D53756
6292eecfd95c78abc1ab14f20ceaa507ab9c636a John Baldwin 2025-11-24 15:48:48

debug: classified in 04-filenames_plain2 by 'sys/'

freebsd32_setcred: Copy all of the setcred fields individually
This is the more typical style used in compat syscalls.  Modern
compilers are smart enough to coalesce multiple member assignments
into a bulk copy.

Reviewed by:    olce, brooks
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D53757
f7ab908244e50c8c8edf314424c860e34ea3d7e9 John Baldwin 2025-11-24 15:49:09

debug: classified in 04-filenames_plain2 by 'sys/'

vm_object_page_remove(): clear pager even if there is no resident pages
Swap pager might still carry the data.

Debugging help from:    mmel
Reviewed by:    alc
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53891
72a447d0bc768c7fe8a9c972f710c75afebd581b Konstantin Belousov 2025-11-22 20:39:27

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #56: setcred(): Remove an optimization for when cr_groups[0] was the egid
setcred(): Remove an optimization for when cr_groups[0] was the egid

Because setcred() has (always) treated the effective GID separately from
the supplementary groups, when cr_groups[0] was storing the effective
GID, it internally needed to build an array containing both the
effective GID and the specified supplementary groups to eventually call
crsetgroups_internal().

As kern_setcred() was only used to actually implement
user_setcred()/sys_setcred(), which need to allocate a buffer to copy in
the userland groups array into, some optimization was put in place where
these would allocate an array with one more element than
'wc_supp_groups', copyin() the latter into the subarray starting at
index 1 and pass the pointer to the whole array to kern_setcred() in
'preallocated_groups'.  This would allow kern_setcred() not to have to
allocate memory again to make room for the additional effective GID.

Since commit be1f7435ef21 ("kern: start tracking cr_gid outside of
cr_groups[]"), crsetgroups_internal() only takes supplementary groups,
so this machinery has become obsolete.  It was not removed as part of
that commit, but just minimally amended to simplify the changes and
lower the risks.  Finally remove it.

Reviewed by:    kevans
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53772
4cd93df95e697942adf0ff038fc8f357cbb07cf9 Olivier Certner 2025-11-14 18:22:53

debug: classified in 04-filenames_plain2 by 'sys/'


setcred(2): Fix a panic on too many groups from latest commit

kern_setcred_copyin_supp_groups() is documented to always set
'sc_supp_groups', but did not do it if there are more supplementary
groups than 'ngroups_max'.  Also, that case was omitted from the herald
comment.  Add it there, also including it as a case where
'sc_supp_groups_nb' is reset to 0 as a security measure.

Initially, kern_setcred_copyin_supp_groups() had the usual property that
nothing had to be freed on it returning an error, but was then converted
to relying on the caller to free() even on error, and this part was
missed during the conversion.  The benefits of this unusual convention
are that we can zero or NULLify groups-related attributes in advance,
preventing inadvertent use of stale data (defensive security measure),
and we can avoid some small code duplication (no need to have two same
calls to free()).  This makes sense as kern_setcred_copyin_supp_groups()
is meant to be a private sub-routine of user_setcred() only.  While
here, rename kern_setcred_copyin_supp_groups() =>
user_setcred_copyin_supp_groups().

Reported by:    pho
Fixes:          https://cgit.freebsd.org/src/commit/?id=4cd93df95e69 ("setcred(): Remove an optimization for when cr_groups[0] was the egid")
Sponsored by:   The FreeBSD Foundation
000d5b52c19ff3858a6f0cbb405d47713c4267a4 Olivier Certner 2025-11-27 09:04:50

debug: classified in 04-filenames_plain2 by 'sys/'

kern: Fix section name for embedded firmware blobs
In practice this just ends up as an orphan section and so is placed next
to .rodata-like sections, so it's pretty harmless, but not intended.

Fixes:  https://cgit.freebsd.org/src/commit/?id=a095390344fb ("Use a template assembly file for firmware object files.")
aac0ef54dce9d59a5ccc1151693906778cba45c9 Jessica Clarke 2025-11-25 04:29:22

debug: classified in 04-filenames_plain2 by 'sys/'

nda: fix setting of unmappedio flag
The upstream refactoring of ndaregister() to split out ndasetgeom()
accidentally used an uninitialed variable to decide whether or not
to set DISKFLAG_UNMAPPED_BIO.  Fix this by moving that portion of
ndasetgeom() back up to ndaregister().  The check for PIM_UNMAPPED
is not really needed because nvme devices always have that set,
so it cannot change in the other path that ndasetgeom() is now called.

Reviewed by:    imp
Fixes:          https://cgit.freebsd.org/src/commit/?id=dffd882d12d2a71aca464f48209ec9ae6f393b15
Sponsored by:   Netflix
MFC After:      1 minute
2b4dbad2db5766294ee97bb96228ec6826a9e7c3 Chuck Silvers 2025-11-25 22:30:19

debug: classified in 04-filenames_plain2 by 'sys/'

new type: ptraddr_t
ptraddr_t is an unsigned integer type that can hold the address of any
pointer.  It differes from uintptr_t in that it does not carry
provenance which is useful for CHERI in that it can disambigurate the
provenance of uintptr_t expressions.  It differes from size_t in that
some segmented architecture (not supported by FreeBSD) may have a size_t
that does not hold an address.

ptraddr_t is not yet standardized, but is currently proposed for
inclusion in C++2Y.

Prefer the compiler defined __PTRADDR_TYPE__ defintion where available
as this a new type and we don't need to worry about historical values.
Fall back to __size_t where unavailable.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53817
dca634d1544b5cd202dcd06c8c5ea5cbea6c3300 Brooks Davis 2025-11-27 14:54:55

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #57: sys/_types.h
sys/_types.h: centralize __vm_offset_t and __vm_size_t definitions

Use __ptraddr_t to define __vm_offset_t and __size_t for __vm_size_t
rather than per-pointer-size definitions.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53818
6aaba753830ec1d82959f21151dfb6563d38efba Brooks Davis 2025-11-27 14:54:56

debug: classified in 04-filenames_plain2 by 'sys/'


sys/_types.h: define __(u)int(f)ptr_t for CHERI

On pure-capability ABIs, uintptr_t and variants are capabilities and
defined to the new primative type __uintcap_t and variants.  This is
required to allow pointers (capabilities) to round trip through
uintptr_t as required by the C standard.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53819
96e05e2d1dfc69f67d3099440561530501cc09b5 Brooks Davis 2025-11-27 14:54:56

debug: classified in 04-filenames_plain2 by 'sys/'


sys/_types.h: define fallback __(u)intcap_t

__intcap_t and __uintcap_t are new primative types in CHERI-aware ABIs
that are used to define (u)intptr_t.  To allow coexistance of integer
pointers and hybrid code, define them to __(u)intptr_t when they are
not otherwise available.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53820
85ab981a8e4e1a7a078dbf553cb20cb2e58aeff9 Brooks Davis 2025-11-27 14:54:56

debug: classified in 04-filenames_plain2 by 'sys/'


sys/_types.h: add void * to __max_align_t

Add a pointer member to __max_align_t as pointers may have different
alignment requirements than long long or long double.

Reviewed by:    kib
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53821
528e70a12ca6ba07f1d8c88800871ceecbacfc70 Brooks Davis 2025-11-27 14:54:56

debug: classified in 04-filenames_plain2 by 'sys/'


sys/_types.h: add __intptr_t to __mbstate_t

Extend __mbstate_t to include an intptr_t to ensure it can hold a
pointer if required.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53822
6ebbfe723bd284e197a197b6aefd27870876b7f9 Brooks Davis 2025-11-27 14:54:56

debug: classified in 04-filenames_plain2 by 'sys/'


sys/_types.h: Unbreak gcc build

We can't assume that <sys/cdefs.h> is in scope.

Fixes:          https://cgit.freebsd.org/src/commit/?id=85ab981a8e4e ("sys/_types.h: define fallback __(u)intcap_t")
Reviewed by:    olce, imp, emaste
Differential Revision:  https://reviews.freebsd.org/D53980
19728f31ae421f40e2b0b0c775f4eedd7f927be0 Dag-Erling Smørgrav 2025-11-28 19:47:04

debug: classified in 04-filenames_plain2 by 'sys/'


sys/_types.h: Actually unbreak gcc build

Fixes:          https://cgit.freebsd.org/src/commit/?id=19728f31ae42 ("sys/_types.h: Unbreak gcc build")
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53986
029a09f18032353a9ae874590b879322efc6e53a Dag-Erling Smørgrav 2025-11-30 10:30:45

debug: classified in 04-filenames_plain2 by 'sys/'

add types: (u)int64ptr_t
This type represents an integer value of at least 64 bits which is
capable of being cast to and from pointer types.  It is intended to
replace various spellings of (u)int64_t there the value is expected to
hold a pointer.  This is common in Linux code to allow 32-bit and 64-bit
structures to be the same and used other places including OpenZFS.  With
the introduction of CHERI this no longer works, but we need to preserve
the ABI for integer pointer targets.  Rather than adding ifdefs in every
case, we introduce a new type.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53823
4e22cd3bf0b4112e541bc585a6be57662cb0b52b Brooks Davis 2025-11-27 14:54:56

debug: classified in 04-filenames_plain2 by 'sys/'

kgssapi: Remove broken MOD_UNLOAD code
The module panicked at unload with "recursing but non-recursive rw".
There is a comment that "Unloading of the kgssapi module is not
currently supported" and the MOD_UNLOAD case falls through to returning
EOPNOTSUPP anyway.  Just #if 0 the code in the unload path, leaving it
as a hint in case someone implements unload support later on.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291249
Reviewed by:    rmacklem
Fixes: https://cgit.freebsd.org/src/commit/?id=ad704a34bc2c ("Use syscall_helper_register(9) rather than syscall_register().")
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53949
6901376f59b870ddbb0d922e3455a388333cd460 Ed Maste 2025-11-27 16:44:08

debug: classified in 04-filenames_plain2 by 'sys/'

sys/limits.h: add C23 _WIDTH macros
For compliance with IOS/IEC 9899:2024 ("C23").

These macros define the width in bits of the basic integer types.
Another new macro, BITINT_MAXWIDTH, is not yet included as I do not
understand what it should be set to.  Perhaps it is compiler-specific.

Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53825
7326bc7f9c14f86976a7769906b167ff96140809 Robert Clausecker 2025-11-19 12:29:58

debug: classified in 04-filenames_plain2 by 'sys/'

sys/stdint.h: add C23 _WIDTH macros
The platform-dependent macros are added to the various
_stdint.h headers, those that are always the same are
added directly to _stdint.h.

We may want to move the definitions for WCHAR_* and
WINT_* out of the platform header files as those are
always the same.

Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53830
7998a82d2f99a00086baf64b2a3343ba10f8806d Robert Clausecker 2025-11-19 18:53:07

debug: classified in 04-filenames_plain2 by 'sys/'

cam/scsi: Support well known logical unit
This patch adds an additional state to probe well-known logical units
before probing normal logical units.

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D53920
ba963776199f84775388a03d072121bf93707020 Jaeyoon Choi 2025-12-01 04:38:52

debug: classified in 04-filenames_plain2 by 'sys/'

linker: Avoid invoking eventhandlers on incompletely loaded files
We do not invoke the kld_load eventhandler until after the file is fully
linked, so don't invoke the kld_unload_try or kld_unload event handlers
unless the file is fully linked either.

In my case, the dtrace SDT kld_unload_try handler was running before
relocations were processed against the file, and that caused problems
when sdt_kld_unload_probes() accesses elements of a linker set.

Move the kld_unload handler invocation earlier, to after sysuninits have
been run.  This is a bit more consistent with the kld_load handler.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291238
Reviewed by:    imp, emaste, kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53938
72b114169bd56ec157d746a2df87b3a4617065b3 Mark Johnston 2025-11-26 18:15:48

debug: classified in 04-filenames_plain2 by 'sys/'

kexec: Change shutdown handler priority
The kexec shutdown handler should run after everything else, but before
the other platform shutdown handlers.  With (SHUTDOWN_PRI_DEFAULT - 150)
priority it would run before anything else, including all the device
shutdown handlers.  Change to (SHUTDOWN_PRI_LAST - 150) where it
belongs.

Sponsored by:   Hewlett Packard Enterprise
882821b78faecaffdecac8fdcd943ee2e1053ee7 Justin Hibbits 2025-12-01 16:50:30

debug: classified in 04-filenames_plain2 by 'sys/'

kern/subr_vmem.c: convert explicit vmem_list_lock use to macros
Reviewed by:  bnovkov, markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D27220
202292ef107834bfdbec357a9d1a88b9fcf9ceaa Konstantin Belousov 2025-10-14 17:13:46

debug: classified in 04-filenames_plain2 by 'sys/'

kern/subr_vmem.c: remove unused VMEM_TRYLOCK() macro
Reviewed by:  bnovkov, markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D27220
305e33d4c6edd735590909161ff0847e73e68b66 Konstantin Belousov 2025-10-16 23:53:41

debug: classified in 04-filenames_plain2 by 'sys/'

LinuxKPI: pci: undo the pci_resource_len() check in lkpi_pci_request_region()
Creating non-passthru SR-IOV interfaces on a mlx5en(4) failed.
The problem lies in the pci_resource_len() call but not that the BAR length
is tmeporary 0 but in that we call lkpi_pci_get_bar() with a true argument
which will create the BAR resource for us and report the approriate length
back.  However, the later call to bus_alloc_resource_any() will then fail
given the resource already exists.

Restore the previous behaviour and let bus_alloc_resource_any() do the
work.  Adjust the return values from -ENODEV to -EBUSY to match callers
expectations.

In linuxkpi_pcim_request_all_regions(), like in linuxkpi_pci_request_regions(),
filter out the -EBUSY errors as "not an error" and try the next bar.
This also seems to be consistent with the expectations of the callers.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290793
Reported by:    David BOYER (jcduss13 gmail.com)
Tested on:      mlx5en, iwlwifi, mt7921
Reviewed by:    kib
Fixes:          https://cgit.freebsd.org/src/commit/?id=7e21158d44cd "implement [linuxkpi_]pcim_request_all_regions()"
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D53902
ed29ffd396e522a45ab1980c12a75b3409b51712 Bjoern A. Zeeb 2025-12-02 16:04:22

debug: classified in 04-filenames_plain2 by 'sys/'

LinuxKPI: 802.11: when synching HT and VHT cap, mask rx_mcs
When we sync the sta data, mask the rx_mcs with what the hardware is
able to do so that we do not leave, e.g., a 2nd stream enabled on a 1x1
chipset.
iwlwifi(4) has a further check for the smps_mode to limit to NSS=1 but
I believe that is historic and not actually in use anymore.

This fixes firmware crashes on TLC updates with nss=1 but the nss=2 array
index also being populated (with HT/VHT80/160 mcs information):
data being populated:
  iwlwifi0: 0x20101A0D | ADVANCED_SYSASSERT
  iwlwifi0: 0x00000006 | umac data1
  iwlwifi0: 0x00000001 | umac data2
  iwlwifi0: 0x000003FF | umac data3
  iwlwifi0: 0x____050F | last host cmd

Reported by:    Claudio Zumbo (claudiozumbo gmail.com), Erik Power
Tested by:      Claudio Zumbo, Erik Power (eppower umich.edu)
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290622
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
adb4901ac9ae6c2ceb4194d139ed3176f6ed5e55 Bjoern A. Zeeb 2025-11-28 23:10:45

debug: classified in 04-filenames_plain2 by 'sys/'

arm64: Add missing dtrace_isa.c
MFC after:    1 week
3e7d3361dd2491e2dc4b0b05c09b8fab4beaadc5 Michal Meloun 2025-11-08 14:02:47

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #58: LinuxKPI
LinuxKPI: 802.11: fill in more skeleton functions

Some of these are used by mt76 and while I was here and it only was
a handfull I figured I should just clean this all up.

There is one problem in that between 802.11az and 802.11-2024 action
frame formats have changed;  I got compile errors from iwlwifi(4) given
I updated them to -2024 so we remain on older versions for the moment.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
af22833348c6c7ffed0186651437b5f50be1550b Bjoern A. Zeeb 2025-11-29 03:19:47

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: 802.11: move ieee80211_offload_flags

Move the enum and leave a comment on the struct member for the vif
about the type.

No functional changes.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
b10ff7ed37a9b891bec7e1093e44fa7abb2054b4 Bjoern A. Zeeb 2025-12-03 00:58:03

debug: classified in 04-filenames_plain2 by 'sys/'


LinuxKPI: mt76: depend on CONFIG_NET_MEDIATEK_SOC_WED

If CONFIG_NET_MEDIATEK_SOC_WED is not set then be silent;  if
CONFIG_NET_MEDIATEK_SOC_WED is set we will enable logic or rather te
pr_debug("TODO") calls for now.

Spsonsored by:  The FreeBSD Foundation
MFC after:      3 days
51c73fc5f5dd95c6a0e3d232091a732a14c7ecc9 Bjoern A. Zeeb 2025-11-25 17:20:50

debug: classified in 04-filenames_plain2 by 'sys/'

sendfile: remove SF_SYNC in FreeBSD 16.0
575efcfff22f5d75fc3ac6201f11e5eae46ec9ce Gleb Smirnoff 2025-12-04 16:37:10

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #59: net: remove dom_ifmtu
net: remove dom_ifmtu

It is a remnant of a network stack design that was supposed to support
multiple network protocols.  Today it is clear that we are left with IPv4
and IPv6 only.  Only IPv6 may have an MTU different to the interface MTU.
fd131b47f20dbeb515f5e3e6ea87948f2638eda9 Gleb Smirnoff 2025-12-04 19:14:34

debug: classified in 04-filenames_plain2 by 'sys/'


a83191c928cde55f45f2ed4b55e80c07c0e84105 Gleb Smirnoff 2025-12-06 16:23:19

debug: classified in 03-filenames_plain1 by 'sys/net/'

debug: moved to kernel because 'Need to be grouped with fd131b47f20dbeb515f5e3e6ea87948f2638eda9'

thread0: Stop calling thread0 "swapper"
Just leave it as "kernel".  While here, replace "parked" with "-" (the
typical wait channel for idle threads).

Reviewed by:    olce, kib, markj
Differential Revision:  https://reviews.freebsd.org/D54039
431b3b224db2a69d09c359ce1cfb37ba3da4705c John Baldwin 2025-12-04 19:52:59

debug: classified in 04-filenames_plain2 by 'sys/'

sys: Remove/update references to the swapper process in various comments
Reviewed by:  olce, markj
Differential Revision:  https://reviews.freebsd.org/D54051
f6910b09a2302df9b3b1666deb89037c831a4e4c John Baldwin 2025-12-04 19:52:59

debug: classified in 04-filenames_plain2 by 'sys/'

MAC: Rename mac_cred_create_swapper to mac_cred_create_kproc0
Reported by:  markj
Reviewed by:    olce
Differential Revision:  https://reviews.freebsd.org/D54052
61ffc1bf8c4288c18d0ef86877e2558fa7ae3e13 John Baldwin 2025-12-04 19:52:59

debug: classified in 04-filenames_plain2 by 'sys/'

cam: set reladr in scsi_read_capacity_16
The reladr field wasn't being set, so pmi and reladr args were
nops. That's OK, because they are passed as 0 in the one place in the
tree we use this.

Sponsored by:           Netflix
c3ea7bfc72b712809228bb17b4c58b295b91920c Warner Losh 2025-12-05 07:11:18

debug: classified in 04-filenames_plain2 by 'sys/'

bus: Return 0 if reading an ivar fails
In the non-INVARIANTS case, return 0 rather than stack garbage if
reading an ivar fails (in the INVARIANTS case, we still panic).

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    jhb
Differential Revision:  https://reviews.freebsd.org/D54078
4c2295c15860e70c8bd3f05f9229d2fc40dfd50d Dag-Erling Smørgrav 2025-12-05 14:57:37

debug: classified in 04-filenames_plain2 by 'sys/'

sys/dts/arm/ufs.dts: fix compile error
Fix compile error due to the include file am33xx.dtsi has been moved.
The Linux device-tree archive has split the general directory
(ARM/ARM64...) into vendor specific subdirectories since Linux 6.5.

Reviewed by: kp
Approved by: manu (mentor)
Differential revision: https://reviews.freebsd.org/D53894
9c5b56aa03cc761b94d4f9986076fd72aad38f57 Oskar Holmlund 2025-12-05 17:27:57

debug: classified in 04-filenames_plain2 by 'sys/'

linuxkpi: Add dummy <linux/percpu{,-defs}.h>
There are no consumers right now except the upcoming <linux/eventfd.h>.
This is meant to reproduce the same includes as Linux, in case consumers
of <linux/eventfd.h> implicitly rely on namespace pollution.

Reviewed by:    bz, emaste
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50851
112a6912e1c99439a7e2a75f3961e18f3b800c6e Jean-Sébastien Pédron 2025-05-26 18:10:51

debug: classified in 04-filenames_plain2 by 'sys/'

LinuxKPI: ath10k: adjust for led changes to keep ath10k compiling
Add the conditional compile time option defaulting to off as we do
not support leds in LinuxKPI to ath10k for the new file.

Add empty struct gpio_led to LinuxKPI.

MFC after:      3 days
fe7b6fc32455389d1b8452c67e1ddcfbc4e5f5cc Bjoern A. Zeeb 2025-12-06 09:57:06

debug: classified in 04-filenames_plain2 by 'sys/'

ip6: Add explicit lock order information to catch LOR
Over the past several years, we have had sporadic reports of a lock
order reversal between the tcphash lock and the in6_ifaddr_lock.
These seems to be hard to reproduce reliably, and the WITNESS backtrace
points to code which uses the correct locking order.

This commit adds the correct lock order explicitly to help us detect
the call stack which uses the incorrect locking order.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289184
Reported by:    bz, gbe
Reviewed by:    bz, glebius
Differential Revision:  https://reviews.freebsd.org/D54088
3f10e5985044001a68761995474f1100aca648e1 Jonathan T. Looney 2025-12-05 17:34:31

debug: classified in 04-filenames_plain2 by 'sys/'

imgact_elf: Fix off-by-one in note size check
Prior to c86af2cc4cd1 ("imgact_elf: Check note body sizes"), this was
note_name + n_namesz >= note_end, which checks that there is at least
one byte after the unpadded name (which could be either padding or
data), and given our notes always have data with them this was fine.
However, once we started checking the padded name (note that "FreeBSD\0"
is already a multiple of 4 bytes, so has no padding) and data, this
turned into checking that there is at least one byte after the unpadded
data, and since our ELF notes already have a multiple of 4 bytes for
their data and therefore have no padding, this means that we are now
checking that there is at least one byte after the ELF note, which is
not going to be the case for the last ELF note. Instead, switch this to
a strict greater than, as should be used when comparing one-past-the-end
pointers, which both sides of the inequality are.

For executables, this was generally not a problem in reality, since the
last of our ELF notes is NT_FREEBSD_NOINIT_TAG, which isn't read by the
kernel. However, ld-elf.so.1 (and libcompat variants), like shared
libraries, only has NT_FREEBSD_ABI_TAG, which meant the kernel did not
see this ELF note when directly executing it (e.g. as done by ldd), and
on RISC-V this is the only branding present, so doing so would fail with
ENOEXEC. This does also mean on non-RISC-V direct exec ld-elf.so.1 runs
with the wrong p_osrel, but given it sets kern.proc.osrel.PID to the
executable's NT_FREEBSD_ABI_TAG that it loads, this probably doesn't
matter in practice.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291446
Reported by:    bdragon
Tested by:      bdragon
Fixes:          https://cgit.freebsd.org/src/commit/?id=c86af2cc4cd1 ("imgact_elf: Check note body sizes")
MFC after:      3 days
5d58198ccc2b562098ee5fc4898013622b32b065 Jessica Clarke 2025-12-08 13:01:57

debug: classified in 04-filenames_plain2 by 'sys/'

libkern: Avoid a one-byte OOB access in strndup()
If the length of the string is maxlen, we would end up copying maxlen+1
bytes, which violates the contract of the function.  The result is the
same since that extra byte is overwritten.

Reported by:    Kevin Day <kevin@your.org>
Reviewed by:    imp, kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54093
73586fcea630c2c4fb83e966920c039aee8a5fc9 Mark Johnston 2025-12-08 14:08:22

debug: classified in 03-filenames_plain1 by 'sys/libkern/'

ruxreset: Add an inline function to reset all the stats in rusage_ext
Use it in proc0_post to reset per-process CPU usage.

Suggested by:   olce
Reviewed by:    olce, kib
Differential Revision:  https://reviews.freebsd.org/D54049
3f8ed605dbd0ee211ce8fe59c0c072b916d6311c John Baldwin 2025-12-08 16:15:20

debug: classified in 04-filenames_plain2 by 'sys/'

thread0: Clear td_rux stats in proc0_post
proc0_post aims to reset the CPU usage accounting for all threads and
processes in the system to zero once the time of day is verified.
However, not all of the per-thread stats were not being cleared,
resulting in over-reported time for thread0 post-boot.

Reviewed by:    olce, kib, markj
Fixes:          https://cgit.freebsd.org/src/commit/?id=bed4c5241663 ("Implement RUSAGE_THREAD. Add td_rux...")
Differential Revision:  https://reviews.freebsd.org/D54040
dafe50ebd874ca3ccd5908c441cee9f478c501f0 John Baldwin 2025-12-08 16:15:36

debug: classified in 04-filenames_plain2 by 'sys/'

proc0_post: Clear relevant thread stats directly
rufetch() has several other effects besides clearing these per-thread
stats most of which are explicitly discarded by the subsequent calls
to ruxreset().  Just clear the relevant stats directly instead.

Reviewed by:    olce, kib, markj
Differential Revision:  https://reviews.freebsd.org/D54050
acd02443a952b1f5412d35d03f081ad48bae34d7 John Baldwin 2025-12-08 16:15:52

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #60: linux: separate all ifnet(9) related code into linux_ifnet.c
linux: separate all ifnet(9) related code into linux_ifnet.c

Remove linux_use_real_ifname().  It is no longer used outside of the
file since 3ab3c9c29cf0.  There is no functional change.

Reviewed by:            melifaro, dchagin
Differential Revision:  https://reviews.freebsd.org/D54076
fbf05d2147b1add8b760be166c4b1fd4499ebce8 Gleb Smirnoff 2025-12-08 17:20:14

debug: classified in 04-filenames_plain2 by 'sys/'


0f12ee8ae1a81598541b703ba25b250dedff7803 Gleb Smirnoff 2025-12-09 17:42:19

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #61: linux: store Linux Ethernet interface number in struct ifnet
linux: store Linux Ethernet interface number in struct ifnet

The old approach where we go through the list of interfaces and count them
has bugs.  One obvious bug with this dynamic translation is that once an
Ethernet interface in the middle of the list goes away, all interfaces
following it would change their Linux names.

A bigger problem is the ifnet arrival and departure times.  For example
linsysfs has event handler for ifnet_arrival_event, and of course it wants
to resolve the name.  This accidentially works, due to a bug in
if_attach() where we call if_link_ifnet() before invoking all the event
handlers.  Once the bug is fixed linsysfs won't be able to resolve the old
way.  The other side is ifnet_departure_event, where there is no bug, the
eventhandlers are called after the if_unlink_ifnet().  This means old
translation won't work for departure event handlers.  One example is
netlink.  This change gives the Netlink a chance to emit a proper Linux
interface departure message.

However, there is another problem in Netlink, that the ifnet pointer is
lost in the Netlink translation layer.  Plug this with a cookie in netlink
writer structure that can be set by the route layer and used by the Netlink
Linux translation layer.  This part of the diff seems unrelated, but it is
hard to make it a separate change, as the old KPI goes away and to use the
new one we need the pointer.

Differential Revision:  https://reviews.freebsd.org/D54077
607f11055d2d421770963162a4d9a99cdd136152 Gleb Smirnoff 2025-12-08 17:20:22

debug: classified in 04-filenames_plain2 by 'sys/'


linux: fix panic on kldunload

The vnet_deregister_sysuninit() that is called by linker unload sequence also
calls every registered destructor before unregistering it.  IMHO, this is
not correct in principle, but for now plug the regression right in the code
that introduced the panic.

Fixes:  https://cgit.freebsd.org/src/commit/?id=607f11055d2d421770963162a4d9a99cdd136152
89eddfb4b9f5d744623ce0ee8ea966b0d33456e5 Gleb Smirnoff 2025-12-10 19:20:14

debug: classified in 04-filenames_plain2 by 'sys/'


linux: fix unr(9) leak on module unload

Suggested by:   jhb
Fixes:          https://cgit.freebsd.org/src/commit/?id=607f11055d2d421770963162a4d9a99cdd136152
45b3846ae5aa941fa241e9417d5877a94b5c4ba4 Gleb Smirnoff 2025-12-10 21:52:45

debug: classified in 04-filenames_plain2 by 'sys/'

vm_page.h: remove no longer defined (P) locking annotation
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53963
636ee0269db04ce22a0f5e32723bab79be69443d Konstantin Belousov 2025-11-27 20:39:45

debug: classified in 04-filenames_plain2 by 'sys/'

vm_fault: only rely on PG_ZERO when the page was newly allocated
If the fs->m page was found invalid on the object queue, PG_ZERO flag is
stale.  Track the source of the page in the new fault state variable
m_needs_zero, and ignore PG_ZERO if the page did not came from the
allocator.

Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53963
cff67bc43df14d492ccc08ec92fddceadd069953 Konstantin Belousov 2025-11-28 15:57:22

debug: classified in 04-filenames_plain2 by 'sys/'

sys/_types.h: recognise char8_t as a builtin type in C++20
Unlike in C23 where it's a typedef, char8_t is a built in type in
C++20.  Recognise it as such.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291449
Reported by:    Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
Approved by:    markj (mentor)
Reviewed by:    imp
Fixes:          https://cgit.freebsd.org/src/commit/?id=f0e541118c374869a8226eaa1320bb6eda248a20
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54124
66129def7bdaf8a0447aba55e736d27687204555 Robert Clausecker 2025-12-07 23:49:05

debug: classified in 04-filenames_plain2 by 'sys/'

rman: Simplify initialization of internal globals
Use TAILQ_HEAD_INITIALIZER and MTX_SYSINIT to remove the 'once' code
from rman_init.

Reviewed by:    des
Differential Revision:  https://reviews.freebsd.org/D54142
a35eae89cbddaac73d3b6c2b5c1b90e3a0c00997 John Baldwin 2025-12-09 15:59:19

debug: classified in 04-filenames_plain2 by 'sys/'

rman: Embed the mutex in struct rman instead of using a separate allocation
This used a separate allocation when rman was first imported (back
when the lock was a pre-SMPng "simplelock" instead of a mutex).

Reported by:    des
Reviewed by:    des
Differential Revision:  https://reviews.freebsd.org/D54143
305f85a3d6f2ec32ee8178413a716de7c0a73eaa John Baldwin 2025-12-09 15:59:30

debug: classified in 04-filenames_plain2 by 'sys/'

linuxkpi: Take const root in read-only radix tree functions
This is a preparation step for a future addition to this file. This is
also closer to what Linux does.

Reviewed by:    emaste
Sponsored by:   The FreeBSD Foundation
cf39b51d36d82214ebdfd03055d321ddd2d85274 Jean-Sébastien Pédron 2025-09-07 16:40:49

debug: classified in 04-filenames_plain2 by 'sys/'

bus_alloc_resource: Pass rid by value to BUS_ALLOC_RESOURCE DEVMETHOD
The wrapper functions such as bus_alloc_resource_any() still support
passing the rid by value or pointer, but the underlying implementation
now passes by value.

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D53402
575639548cef58590a1d70c29e47aae0e8d44153 John Baldwin 2025-12-09 19:59:21

debug: classified in 04-filenames_plain2 by 'sys/'

resource_list_reserve: Pass rid by value
Reviewed by:  imp
Differential Revision:  https://reviews.freebsd.org/D53403
e279724ae5a720c84cd86f1ce6fdac31fb94e735 John Baldwin 2025-12-09 20:00:20

debug: classified in 04-filenames_plain2 by 'sys/'

pci_reserve_map: Pass rid by value
Reviewed by:  imp
Differential Revision:  https://reviews.freebsd.org/D53404
d9f1922a33eeea6b9eed29b158acaf4387568485 John Baldwin 2025-12-09 20:02:33

debug: classified in 04-filenames_plain2 by 'sys/'

splice: Fix leaks that can happen when initiating a splice
- change the state to SPLICE_EXCEPTION to allow so_unsplice() to work
  to cleanup failed splices (fixes socket reference leak)
- NULL out sp->dst when unsplicing from so_splice() before so2 has been
   been referenced.
- Deal with a null sp->dst / so2 in so_unsplice
- Fix asserts that talked about sp->state == SPLICE_INIT; that state
  is not possible here.

Differential Revision: https://reviews.freebsd.org/D54157
Reviewed by: markj
Sponsored by: Netflix
Fixes: https://cgit.freebsd.org/src/commit/?id=c0c5d01e5374 ("so_splice: Synchronize so_unsplice() with so_splice()")
MFC after: 3 days
a837d1fe49e0255d81c670dc271ff245ae960097 Andrew Gallatin 2025-12-09 21:06:20

debug: classified in 04-filenames_plain2 by 'sys/'

Add sys/_align.h replacing machine/_align.h
Define _ALIGNBYTES using sizeof(void *) (no functional change on any
existing architecture) which will allow it to work with CHERI were we
must align things up to capability alignment.

In _ALIGN, replace integer manipulation which does not preserve pointer
provenance with a type and provenance preserving builtin.  This requires
modest changes in code which assumes _ALIGN returns an integer, but
those are relatively rare.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D53947
80203a27e964403d1d23907089f5c57c60a15c04 Brooks Davis 2025-12-10 10:55:28

debug: Commit manually moved from "unknown" to "kernel".

linuxkpi: clean up stray pctrie_iter_reset
This removes an extraneous pctrie_iter_reset before returning.
This is not needed as it simply clears a local variable that
will get cleaned up anyway as we immediately return from the
function.

MFC after:      1 week
Sponsored by:   NVIDIA
Reviewed by:    alc
Differential Revision:  https://reviews.freebsd.org/D54153
4ae02d9792272fa8c43f4982cf338123d9bcaed2 Austin Shafer 2025-12-09 15:33:17

debug: classified in 04-filenames_plain2 by 'sys/'

cam: Expand the parts of the sense buffer we report
Decode the descriptors we put into devd.

Sponsored by:           Netflix
b19e5e7ce4c7749a3dc8780feb7efcafcf0dca0b Warner Losh 2025-03-08 01:34:35

debug: classified in 04-filenames_plain2 by 'sys/'

cam: decode and print direct accecss block device sense data
A more efficient way to include multiple bits of data in a sense
decriptor was defined in SBC4 in 2020. Decode and print it.

Sponsored by:           Netflix
d3e79182960ae56f52b5b3fbbfa6f4c2bbc53246 Warner Losh 2025-12-07 11:07:21

debug: classified in 04-filenames_plain2 by 'sys/'

sendfile: if sendfile_getobj() fails jump to the function epilogue
The functional change here is that *sent would be zeroed.  Note that some
portable applications, e.g. OpenSSL, use a wrapper around our sendfile(2)
to make it more Linux-like.  These wrappers are usually written in a
manner that expects *sbytes to always be initialized regardless of the
error code returned.
a8d8bf4affa95d3939442a65ea5c8f73785903e5 Gleb Smirnoff 2025-12-10 21:56:14

debug: classified in 04-filenames_plain2 by 'sys/'

nvme: Only attach to storage NVMe devices
Only attach CAM to the nvme storage devices.

Sponsored by:           Netflix
0a19464bf7afa35ce2aa7649152bc3a7629faa98 Warner Losh 2025-12-10 22:53:12

debug: classified in 04-filenames_plain2 by 'sys/'

LinuxKPI: 802.11: lock down the "txq_scheduled" tailq
For consistency rename the "scheduled_txqs" tailq to
"txq_scheduled" and add a lock per txq ("txq_scheduled_lock[]").
We use the "_bh" locking as this called from the device driver.

This fixes panics due to concurrent access to the tailq, especially
in between "first" and "remove" on the out-direction and between
"insert" and "elem_init" on the in-direction.

This was easily reproducible just running iperf3 at basic rates for
a few seconds to minutes with multiple chipsets, not only rtw89.

Sponsored by:   The FreeBSD Foundation
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290636
Reported by:    arved, and others before
MFC after:      3 days
567a097c8ab60d9fcd68a87c3c5ad605fe8715cc Bjoern A. Zeeb 2025-12-10 20:29:23

debug: classified in 04-filenames_plain2 by 'sys/'

sockets: remove compat shim for divert(4)
All known software in ports had been addressed three years ago and the
shim stays in stable/14 and stable/15 for another couple years with its
printf(), so all ourliers are expected to conform before 16.0-RELEASE.
See 8624f4347e8133911b0554e816f6bedb56dc5fb3 for details.
e967a2a03677f67d46b458d233a6e93c40d173c9 Gleb Smirnoff 2025-12-11 02:03:35

debug: classified in 04-filenames_plain2 by 'sys/'

vm: Fix kstack alignment assertion
The expectation that the allocation will be aligned to the kstack size
only applies when allocating from a kstack arena, not when allocating a
non-standard size from the kernel arena.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Fixes:          https://cgit.freebsd.org/src/commit/?id=7a79d0669761 ("vm: improve kstack_object pindex calculation to avoid pindex holes")
Reviewed by:    bnovkov, siderop1_netapp.com
Differential Revision:  https://reviews.freebsd.org/D54171
a35545ee02680cee04c354b50182dd94d4489666 Dag-Erling Smørgrav 2025-12-11 09:01:47

debug: classified in 04-filenames_plain2 by 'sys/'

make_dtb.sh: add include path
The device tree include file for TI TPS65* is in a
relative path to the source for example:
device-tree/src/arm/ti/omap/am335x-bone-common.dtsi#n305
device-tree/src/arm/rockchip/rk3066a-marsboard.dts#n183

This patch gets the dts path and adds that as an include path
for the device tree compiler.

Approved by: manu (mentor)
Differential revision: https://reviews.freebsd.org/D53887
95d8576d8cc725ce2536d85335523c350b0bf69c Oskar Holmlund 2025-12-11 17:19:44

debug: classified in 04-filenames_plain2 by 'sys/'

linux: Add support for kcmp(2) system call
Signed-off-by: Ricardo Branco <rbranco@suse.de>
Reviewed by:    kib
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1920
dbac191956f9b51069617b09fd0a24ca0e7bfc12 Ricardo Branco 2025-12-08 21:27:07

debug: classified in 04-filenames_plain2 by 'sys/'

linux: Implement F_DUPFD_QUERY fcntl with kcmp(2) KCMP_FILE
Signed-off-by: Ricardo Branco <rbranco@suse.de>
Reviewed by:    kib
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1920
fe21dbf70aa8c6dfd2010f30dd2d09f7b743e77d Ricardo Branco 2025-12-08 22:30:31

debug: classified in 04-filenames_plain2 by 'sys/'

sys/dts: Remove i.MX5 device tree
IMX51 is already EOL and IMX53 is going to be EOL in Feb 2026.
See NXP product longevity site

Remove
Digi ConnectCore Wi-i.MX53
Genesi Efika MX
FreeBSD own DTSI for imx51 and imx53
sys/modules/dtb/imx5 for i.MX53 quick start board.

Approved by: manu (mentor)
Differential revision: https://reviews.freebsd.org/D53888
b9915c27a70f6ab2215006d8ac0906f6206dc40d Oskar Holmlund 2025-12-11 17:59:50

debug: classified in 04-filenames_plain2 by 'sys/'

Commit group #62: cam: Reduce overly long timeout values for initial device probing
cam: Reduce overly long timeout values for initial device probing

Currently, we have very long timeouts for the initial probing
commands. However, these are not appropriate for modern (post 2010) SCSI
disks. Sandards since SPC3 state that these commands should not wait for
media access. Since we retry them several times during the initial bus
scan, these delays can delay the boot by minutes (5 minutes per errant
disk in our expereince). These delays don't help and only hurt, so
reduce the TESTUNITREADY, INQUIRY and MODESENSE commands (during the
initial probe). Provide sysctl/tuneables to change the time for these
and also the REPORTLUNS commands for people that might need to adjust
them for devices that violate this belief but none-the-less work with
longer timeouts.
        kern.cam.tur_timeout            (default was 60s, now 1s)
        kern.cam.inquiry_timeout        (default was 60s, now 1s)
        kern.cam.reportluns_timeout     (default is 60s)
        kern.cam.modesense_timeout      (default was 60s, now 1s)
This can be partially merged: the sysctls can, but the new defaults likely
shouldn't.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D52427
8ac7a3801c6a780edf6166c14915d7ac6e36e816 Warner Losh 2025-12-11 19:05:32

debug: classified in 04-filenames_plain2 by 'sys/'


cam: Also reduce timeout for wlun probing

wlun probing was added after my initial work on this and was overlooked
in merging forward. Add the timeout here too, for the same reasons as
for REPORT LUNS. This doesn't change the default.

Fixes: https://cgit.freebsd.org/src/commit/?id=8ac7a3801c6a cam: Reduce overly long timeout values for initial device probing
Sponsored by:           Netflix
Reviewed by:            jaeyoon
Differential Revision:  https://reviews.freebsd.org/D54184
478ac7dc2afde987e2f2087e5a13fa98a7cae4f9 Warner Losh 2025-12-12 04:21:51

debug: classified in 04-filenames_plain2 by 'sys/'

vnode_if.src: fix function name in locking annotation
getwritevnode->getlowvnode

Reviewed by:    kib, olce
Tested by:      pho
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53988
38d60d453caad0f7377946d69d05d9421323f23f Jason A. Harmening 2025-11-28 07:34:47

debug: classified in 04-filenames_plain2 by 'sys/'

unionfs: Implement VOP_GETLOWVNODE
This function returns the vnode that will be used to resolve the
access type specified in the 'flags' argument, and is useful for
optimal behavior of vn_copy_file_range(). While most filesystems
can simply use the default implementation which returns the passed-
in vnode, unionfs (like nullfs) ideally should resolve the access
request to whichever base layer vnode will be used for the I/O.

For unionfs, write accesses must be resolved through the upper vnode,
while read accesses will be resolved through the upper vnode if
present or the lower vnode otherwise.  Provide a simple
unionfs_getlowvnode() implementation that reflects this policy.

Reviewed by:    kib, olce
Tested by:      pho
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53988
5c025978fc3649730329994eecc56ada119e6717 Jason A. Harmening 2025-11-28 07:36:24

debug: classified in 04-filenames_plain2 by 'sys/'

Remove: sys/dts/arm/overlays/spigen-rpi-b.dtso
Remove SPIGEN device tree overlay used with rpi-b (BCM2835/armv6)

Approved by: manu (mentor)
Differential revision: https://reviews.freebsd.org/D54188
f2cb6206e10a6d82c5cbb5bc372382efe50a7b3e Oskar Holmlund 2025-12-12 11:44:44

debug: classified in 04-filenames_plain2 by 'sys/'

vfs: Let prison_enforce_statfs zero the fsid
Currently, we unconditionally zero the fsid before returning a struct
statfs to a jailed process.  Move this into prison_enforce_statfs() so
it only happens if enforce_statfs is greater than 1, or enforce_statfs
is 1 but the mountpoint is outside the jail.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291301
MFC after:      1 week
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D54214
d4f25d0c7957f0f1960028eec82625c2d6405537 Dag-Erling Smørgrav 2025-12-14 13:16:16

debug: classified in 04-filenames_plain2 by 'sys/'

proc: Fix proc_init / proc_dtor ordering issues
* Move the initialization of p_ktr into proc_init() and make the check
  in proc_dtor() unconditional.  Prior to this, it was possible to fail
  and invoke proc_dtor() after the first thread had been created (which
  was the condition for checking p_ktr in proc_dtor()) but before p_ktr
  had been initialized.

* Move the p_klist initialization in fork1() past the last possible
  failure point so we don't have to free it on failure.  We didn't,
  which meant we were leaking a knlist every time we failed to fork
  due to hitting the resource limit.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291470
MFC after:      1 week
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D54215
026d962ef14dafe19fa73361bea6dcc95f141dfa Dag-Erling Smørgrav 2025-12-14 13:16:22

debug: classified in 04-filenames_plain2 by 'sys/'

socket: Fix the name of a parameter in a comment
Reported by:  des
Fixes:          https://cgit.freebsd.org/src/commit/?id=0a68f644dca1 ("socket: Split up soreceive_generic()")
MFC after:      1 week
a0d607957533c7fbefaac5cd81d34c037cc27344 Mark Johnston 2025-12-14 15:47:38

debug: classified in 04-filenames_plain2 by 'sys/'

LinuxKPI: 802.11: rework MC/configure_filter
(*prepare_multicast)(), for the drivers we support, is iwlwifi(4)-specific.
If it is not available do not let us stop from calling (*configure_filter)()
at least as well.
In addition to the interface setting mc_all_multi, if we have no way to
prepare the multicast filter list this way, set FIF_ALLMULTI for now.
This seems to help some with rtw89 but does not help me with other drivers
yet to get IPv6 link-local (e.g., ff02::1%wlan0) going.
This should also help in case we are scanning and are setting
FIF_BCN_PRBRESP_PROMISC .  We should go and review the full FIF_ list and
start adding conditional support for the other options too.

Sponsored by:   The FreeBSD Foundation
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281982
MFC after:      3 days
f943454bfbd98ce49516c6ede8626b5f2602edc1 Bjoern A. Zeeb 2025-12-14 20:07:13

debug: classified in 04-filenames_plain2 by 'sys/'

remove sys/dts/arm/socfpga_*_sdmmc.dts
These two files are broken due to Linux 6.5 DTS import.
Both of these boards have support in Linux DTS tree,
please use these DTS instead.

Removed and not fixed because of commit 949efdaa1db8

Approved by: br, manu (mentor)
Differential revision: https://reviews.freebsd.org/D54216
9d56f84df5a60e012c79e694284de7d58ad0b029 Oskar Holmlund 2025-12-15 17:47:17

debug: classified in 04-filenames_plain2 by 'sys/'

Build system

Commit group #63: virtual_oss: Do not build if WITHOUT_CUSE is set
rc.d: Fix package for virtual_oss

There is no virtual_oss package.  Install the virtual_oss script in
rc, since there's currently no specific package for sound utilities.
This fixes the pkgbase build.

Fixes:  https://cgit.freebsd.org/src/commit/?id=f040ee6e4078 ("virtual_oss: Do not build if WITHOUT_CUSE is set")
bce8cdaf4cb184db577a5633e82bdabe24239af1 Lexi Winter 2025-10-01 10:04:19

debug: classified in 02-filenames_wildcards by '.*Makefile'

.github: Update to use llvm 15
This is the latest supported version in Ubuntu 22.04

Reviewed by:    vexeduxr, imp, emaste
Sponsored by:   Arm Ltd
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1862
cf583997282f962d9e8bf478667d5087f7c1f2da Andrew Turner 2025-09-11 07:22:38

debug: classified in 03-filenames_plain1 by '.github/workflows/'

diff3: Move to own package
diff3 is the last remaining GPL-licensed userland component.  Move it
to its own package, so that it may be excluded if desired.

Reviewed by:    ivy
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52810
e7258c42520c18c034f644b97377d8d2a0ad8b7c Ed Maste 2025-10-01 09:28:56

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

Makefile.inc1: Force NO_ROOT for distribute* and package*
These targets are used to produce legacy dist sets for install media and
now always use NO_ROOT mode.  Extend existing logic that forces NO_ROOT
mode to these cases to ensure they do not run in the wrong mode.

Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50551
300aa267efaa08564337797e89590737a7cc6af0 Ed Maste 2024-12-11 13:50:55

debug: classified in 02-filenames_wildcards by '.*Makefile'

etc, ypserv: Fix symlink creation for pkgbase
The Makefile logic for /etc/aliases, /var/yp/Makefile and /etc/unbound
tries to avoid creating the symlink if it already exists in the target,
but this breaks with pkgbase since the symlink won't be installed (and
therefore won't be added to METALOG) if building with an existing
worldstage, meaning it's missing from the generated package.

Change the logic to forcibly install the symlink if NO_ROOT is defined,
but keep the existing logic for non-package builds to avoid trashing
the user's custom symlinks on non-pkgbase installworld.

MFC after:      3 seconds
Reported by:    cperciva
Reviewed by:    cperciva, emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52834
09cd3decf0fae4b769b04c1e900ed5935c40957e Lexi Winter 2025-10-02 01:10:28

debug: classified in 02-filenames_wildcards by '.*Makefile'

libexec: Move blacklistd-helper to the blocklist package
Reviewed by:  emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52830
63ce00f5d0b5dc34d57fb8d3969b875732c93eb2 Lexi Winter 2025-10-02 01:12:01

debug: classified in 02-filenames_wildcards by '.*Makefile'

packages: Add a sound package
Put virtual_oss, /etc/devd/snd.conf and the other audio-related tools
into a new "sound" package.  Don't create a separate -lib package,
since it's unlikely someone will want mixer(3) without mixer(8).

Put the sound package in the optional set rather than minimal, since
it's not actually required for audio hardware support, and many systems
(including nearly all servers) won't want it installed.

MFC after:      3 seconds
Reviewed by:    christos
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52823
1b806e607f52285f973fb1106491668fd28da6a4 Lexi Winter 2025-10-02 01:16:11

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

release: Install pkg(8) from the release repo on bootonly
Although bootonly doesn't contain an offline package repository, we
still want pkg installed so the user can use it to repair an existing
system.  Installing it from the release repository ensures it's always
available without depending on pkg.freebsd.org.

While here, fix a typo in PKGBASE_REPO_ARGS.

MFC after:      3 seconds
Reviewed by:    cperciva
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52848
3b9d89e1c90fd3b2667c07d5a0bfd300bf635bb3 Lexi Winter 2025-10-02 11:45:09

debug: classified in 02-filenames_wildcards by '.*Makefile'

Commit group #64: thunderbolt.4: Initial manual for HW Relnotes
thunderbolt.4: Initial manual for HW Relnotes

This manual contains nothing and is only suitable for the HW Relnotes,
but lets get it in so we have something and then can iterate on it.

MFC after:              3 minutes
Fixes:                  https://cgit.freebsd.org/src/commit/?id=2ed9833791f2 (thunderbolt: Import USB4 code)
Discussed with:         obiwac
Differential Revision:  https://reviews.freebsd.org/D52847
2f7a796b590e67c5d123f2b00b3aaf7ba7a32a13 Alexander Ziaee 2025-10-02 12:05:25

debug: classified in 02-filenames_wildcards by '.*Makefile'


thunderbolt.4: Mention Thunderbolt 3

MFC after:      1 hr
Reported by:    emaste
Fixes:          https://cgit.freebsd.org/src/commit/?id=2f7a796b590e (thunderbolt.4: Initial manual)
e4e412e45a17d2f63f6693d41b274379d108c82f Alexander Ziaee 2025-10-02 15:27:43

debug: classified in 02-filenames_wildcards by '.*\.[1-9]'

debug: moved to build because 'Need to be grouped with 2f7a796b590e67c5d123f2b00b3aaf7ba7a32a13'

Cirrus-CI: Use nproc instead of sysctl -n hw.ncpu
It is available on all supproted FreeBSD versions.

Sponsored by:   The FreeBSD Foundation
5bba547a678beb280bf4080375f45b04ceb44fc5 Ed Maste 2025-10-02 14:37:19

debug: classified in 03-filenames_plain1 by '.cirrus.yml'

Cirrus-CI: Build packages in parallel
Reviewed by:  ivy
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52857
e2796f0359afad522113c25d720fa30677a044ab Ed Maste 2025-10-02 14:39:11

debug: classified in 03-filenames_plain1 by '.cirrus.yml'

release: Fix NO_ROOT cross-building VM images
Pass PKG_ABI to virtual machine image builds.

Reviewed by:    cperciva
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52874
5c5c0571c2984669024dca5356f973ffc18a3e02 Ed Maste 2025-10-02 22:07:04

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

vmimage.subr: Fix NO_ROOT build in ..._rmcache
When doing a NO_ROOT build we can't run pkg inside a chroot, for
multiple reasons including not having /dev mounted.

MFC after:      6 hours
Sponsored by:   https://www.patreon.com/cperciva
86221f965c06efa1cd5b2da640ae23edded7c8b9 Colin Percival 2025-10-03 01:06:44

debug: classified in 02-filenames_wildcards by 'release/.*'

create-sets.sh: Add missing copyright header
I wrote this file and am the only person who has modified it since
it was added.

MFC after:      3 days
a22f8bd45701ce1535147ddd71291fd1de769ecf Lexi Winter 2025-10-03 03:58:06

debug: classified in 02-filenames_wildcards by 'release/.*'

Makefile: Fix ordering for (update-)packages
The (update-)packages targets require buildworld and buildkernel to
run first.  Add some .ORDER statements to ensure this happens.

This fixes 'make -j8 buildworld buildkernel packages'.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289969
Reported by:    yasu
MFC after:      3 days
Reviewed by:    yasu, emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52877
dfc9da6248491072e31f924f5ae6b6238603089a Lexi Winter 2025-10-03 05:43:15

debug: classified in 02-filenames_wildcards by '.*Makefile'

Commit group #65: vmimage.subr: Support NO_ROOT pkgbase
vmimage.subr: Support NO_ROOT pkgbase

We need to tell pkg to record files in METALOG; otherwise when we
create the VM image it's almost empty.

MFC after:      6 hours
Sponsored by:   https://www.patreon.com/cperciva
08b497dc6c4da23be83f7cd51edff07f09d63fd6 Colin Percival 2025-10-03 07:23:43

debug: classified in 02-filenames_wildcards by 'release/.*'


vmimage.subr: fix typo in checking NO_ROOT var

Reviewed by: imp
Fixes: https://cgit.freebsd.org/src/commit/?id=08b497dc6c4d ("vmimage.subr: Support NO_ROOT pkgbase")
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Pull-request: https://github.com/freebsd/freebsd-src/pull/1867
Sponsored by: The FreeBSD Foundation
65e2ce55b662447fb4e87246262c07bf5a25efe9 Siva Mahadevan 2025-07-15 16:45:24

debug: classified in 01-style by '[tT]ypo'

debug: moved to build because 'Need to be grouped with 08b497dc6c4da23be83f7cd51edff07f09d63fd6'

release: Consolidate pkgbase-repo dependency
Use the same approach for pkgbase-repo-dir as for the packagesystem
dependency.

Reviewed by:    Isaac Freund <ifreund@freebsdfoundation.org>
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52884
ac1408bd1d2d3f2bb2d8c77e91420fe9e66926ca Ed Maste 2025-06-23 14:53:02

debug: classified in 02-filenames_wildcards by '.*Makefile'

Cirrus-CI: Switch back to tzst packages, but use level 1
We previously used `PKG_FORMAT: tar` to avoid spending a lot of time in
zstd compression.  Instead just set PKG_LEVEL to compression level 1,
which still produces packages that are much smaller than uncompressed
tarballs with only a small penalty in build time.

Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52858
ae5914c0e4478fd35ef9db3f32665b60e04d5a6f Ed Maste 2025-10-02 14:39:43

debug: classified in 03-filenames_plain1 by '.cirrus.yml'

man: Conditionally install ar.5 in toolchain package
Previously if WITHOUT_TOOLCHAIN was set we'd create a FreeBSD-clang
package that contained only ar.5.  As ar.5 describes the ar format
and doesn't come from Clang/LLVM move it to the FreeBSD-toolchain
package and make it conditional on MK_TOOLCHAIN.

Reviewed by:    ivy
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52886
a8d774d9708c100a52f231065d9d5f1b4c3aceb7 Ed Maste 2025-10-03 16:02:20

debug: classified in 02-filenames_wildcards by '.*Makefile'

*/*: remove recallocarray() compat shims following import into libc
libopenbsd retains recallocarray() during bootstrapping for now
as it is needed for mandoc.

Reviewed by:    kib
Differential Revision: https://reviews.freebsd.org/D52864
acd546f01e58354af049455472980c6c4a52e18b Robert Clausecker 2025-10-02 14:36:13

debug: classified in 02-filenames_wildcards by '.*Makefile'

Commit group #66: release
release: Check for empty NODISTSETS

Treat an empty NODISTSETS the same as if it is not defined; this avoids
problems if a script calls 'make release NODISTSETS=${NODISTSETS}'.

MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
4b8b4c7dbf0fd4f946195dd7e8e4ddf10505beea Colin Percival 2025-10-03 23:55:44

debug: classified in 02-filenames_wildcards by '.*Makefile'


release: Respect NODISTSETS

In addition to not putting distribution sets onto ISO images, if
NODISTSETS is set then we should not build the distribution sets
or put them onto the "FTP" site (aka download.freebsd.org).

MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
e64eb9ea0f4c88a9fa32ae3ae517cbe15a193a08 Colin Percival 2025-10-03 23:56:53

debug: classified in 02-filenames_wildcards by '.*Makefile'


release: Publish pkgbase-repo.tar

This is a tarball containing the pkgbase repository for the release.

Note: This is an uncompressed tarball, because all of its constituent
.pkg files are already compressed; there's no point adding another
layer of compression.

Reviewed by:    ivy
MFC after:      1 minute
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D52899
d0ff67db2908a56b2f146963bb79f1a8e6283131 Colin Percival 2025-10-03 23:57:33

debug: classified in 02-filenames_wildcards by '.*Makefile'


release: GCE builds depend on ftp

GCE images are required by Google to include their source code; we do
this by extracting {src,ports}.txz into the images, from the (legacy)
distribution sets.

Make sure those distribution sets actually exist.

Reviewed by:    ivy
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53567
7f536b1c1146c4bc5cde336e1fe7a083f2874f11 Colin Percival 2025-11-03 21:41:14

debug: classified in 02-filenames_wildcards by '.*Makefile'


release: Don't try to fetch distfiles for pkgbase

In order to comply with the require that GCE images must include their
source code, we fetch distfiles for all of the packages installed into
GCE images.  This fails for obvious reasons for packages with an origin
of base/*; filter those out to generate the list to fetch.

Reviewed by:    ivy
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53568
05b3a45cd065c93cc1262d31675e3e102784400a Colin Percival 2025-11-03 21:42:56

debug: classified in 02-filenames_wildcards by 'release/.*'


release: Make fetch happen in GCE images

We want to fetch distfiles, regardless of whether they contain known
vulnerabilities or we're building images for a different version of
FreeBSD.

Reviewed by:    ivy
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53569
8234c1899b305bcd23323a5870e459028b91bfe4 Colin Percival 2025-11-03 21:44:46

debug: classified in 02-filenames_wildcards by 'release/.*'

release: Complete NO_ROOTification of Vagrant builds
- Don't clean pkg files, they won't be recorded in the manifest anyway.
- Use pw's new metalog mode to create the vagrant user.  Note that we do
  not need to manually create the home directory, pw will do it, so just
  remove that.
- Write metalog entries for the vagrant user's ssh key dir and
  authorized keys file

Note, this depends on an updated pw being installed on the host.

Reviewed by:    emaste
MFC after:      1 day
Sponsored by:   Klara, Inc.
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52631
02dfca2458081587d8224c5ebf8bde99fa360f94 Mark Johnston 2025-09-19 21:01:52

debug: classified in 02-filenames_wildcards by 'release/.*'

Cirrus-CI: Bump to FreeBSD 14.3 image
Sponsored by: The FreeBSD Foundation
cca9295dd6adc4245fbeeefbe05c13c52d089bd7 Ed Maste 2025-10-04 13:10:09

debug: classified in 03-filenames_plain1 by '.cirrus.yml'

release: Don't publish pkgbase.repo for embedded
The embedded "SD card" images build very differently from regular
releases, and don't use pkgbase yet.

MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
026707768f673518c2fe9bcd9020d53a0d02fc7e Colin Percival 2025-10-04 16:52:42

debug: classified in 02-filenames_wildcards by '.*Makefile'

Makefile.inc1: Fix package-pkg with CROSS_TOOLCHAIN
CROSS_TOOLCHAIN is used to build src with a different toolchain than
the bundled one.  Ports also has a CROSS_TOOLCHAIN option, but it has
a different meaning.  When building ports-mgmt/pkg from ports for the
package-pkg target, unset CROSS_TOOLCHAIN to prevent ports from being
confused.

This fixes 'make CROSS_TOOLCHAIN=llvm19 package-pkg' for the native
target, but cross-building (e.g., targetting powerpc from amd64) is
still broken due to an issue in pkg itself.

MFC after:      3 seconds
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52902
b09dd586518aaa0ac24b70ca522f4054165c8031 Lexi Winter 2025-10-04 16:50:56

debug: classified in 02-filenames_wildcards by 'release/.*'

Makefile.inc1: Remove svn support
We don't need this, and we don't use this. It's left over from the svn
days. We stopped supporting svn as a project entirely when 12.x went
EOL. And VCS_REVSION isn't in any current ucl file or anywhere else in
the tree.

Sponsored by:           Netflix
Reviewed by     :       kevans, brd
Differential Revision:  https://reviews.freebsd.org/D52912
28b858f5059c8b25fa08be494699997000fce58c Warner Losh 2025-10-05 14:25:06

debug: classified in 02-filenames_wildcards by '.*Makefile'

Makefile.inc1: Add back missing if
The .if defined(_MKSHOWCONFIG) covered an unusually large area, so it
should have not been removed in the last commit. I must have tested in
the wrong tree before pushing...

FixeS: 28b858f5059c
Sponsored by:           Netflix
106951f09fe39dc693fd7130ab4bc751e1438631 Warner Losh 2025-10-05 15:11:29

debug: classified in 02-filenames_wildcards by '.*Makefile'

zfs: install missing openzfs-2.4 files in /usr/share/zfs/compatibility.d
MFC after: 3 days
4dc4a512e0659c9155db7412d2821bef409b48af Martin Matuska 2025-10-05 21:21:51

debug: classified in 02-filenames_wildcards by '.*Makefile'

release: Set INSTALL_AS_USER=yes when running pkg clean in NO_ROOT mode
Otherwise pkg complains about unexpected ownership of the root
directory.

MFC after:      1 day
Fixes:          https://cgit.freebsd.org/src/commit/?id=86221f965c06 ("vmimage.subr: Fix NO_ROOT build in ..._rmcache")
5fda4690b4a1b471331ff819c372ac2476b60ab2 Mark Johnston 2025-10-04 12:48:46

debug: classified in 02-filenames_wildcards by 'release/.*'

release: packages: Fix grammar in pkg description
Reported by:  ivy
Approved by:    emaste (mentor)
MFC after:      1 hour
Differential Revision:  https://reviews.freebsd.org/D52917
893c3b857e6059f25865fefab93b323c8e345877 Jose Luis Duran 2025-10-06 12:48:00

debug: classified in 02-filenames_wildcards by 'release/.*'

build: don't create duplicate bootstrap-tools targets
The general problem is that we might have a somewhat complicated
dependency tree depending on bootstrap version requirements.  We could
document when multiple bootstrap tools might have a shared dependency
and be careful to add them only once to the list, but that is a little
more fragile- particularly if we purge some bootstrap tools and need to
re-work the logic a little bit.

Just avoid redefining the build commands as we're iterating over the
list so that we can keep the actual requirements intact.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289997
Reported by:    dhw, others
Reviewed by:    imp
Fixes:  https://cgit.freebsd.org/src/commit/?id=151bd3516b5 ("flua: support our flua modules in [...]")
Differential Revision:  https://reviews.freebsd.org/D52904
ab492c08fc3cbf4fb5d569663c0751bc2a41cb1f Kyle Evans 2025-10-06 17:50:22

debug: classified in 02-filenames_wildcards by '.*Makefile'

EC2: Include LLDB in small and builder AMIs
I excluded lldb from the "small" and "builder" flavours of EC2 AMIs
because on FreeBSD 14.x the lldb binary was 100 MB, as a result of
statically linking in lots of LLVM code; but we now have libprivatellvm
as a shared library and lldb is much smaller so there's no significant
benefit to excluding it.

Reviewed by:    ivy
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D52921
2b6c5f041f29523acd34c2a107772f04e3d1f6b3 Colin Percival 2025-10-06 05:11:34

debug: classified in 02-filenames_wildcards by 'release/.*'

Commit group #67: release: Rework VM package selection using sets
release: Rework VM package selection using sets

Filtering the list of packages broke with the introduction of package
sets, since we excluded FreeBSD-src.* but still included
FreeBSD-set-src, which transitively included the FreeBSD-src and
FreeBSD-src-sys packages.  This could be fixed by excluding package
sets, but that would be fragile, potentially breaking upgrades if
new packages are introduced.

Instead, start with an explicit set of package sets:
        base, base-dbg
        lib32, lib32-dbg
        kernels, kernels-dbg
        tests
and filter the package sets; the EC2 "small" and "builder" AMIs
filter out everything except "base" and "kernels".

Note that using FreeBSD-set-kernels may pose a problem in the future
if we start shipping packages for multiple differently-configured
kernels.  That will be addressed if and when that problem arises.

Reviewed by:    ivy
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D52922
2d184465e8bb77d4620f509b04f19ea22656f28e Colin Percival 2025-10-06 05:25:08

debug: classified in 02-filenames_wildcards by 'release/.*'


release: Don't install missing lib32 into VMs

There is no FreeBSD-set-lib32 on riscv64 or powerpc64le.

Reviewed by:    ivy, emaste
Fixes: https://cgit.freebsd.org/src/commit/?id=2d184465e8bb ("release: Rework VM package selection using sets")
MFC after:      6 hours
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D52987
0dc634d48fcca9e88c3fb12cdffab4ddbc657f99 Colin Percival 2025-10-09 06:13:03

debug: classified in 02-filenames_wildcards by 'release/.*'

release: Fix pkgbase tarball names on FTP site
These need to have names like
  FreeBSD-15.0-ALPHA5-amd64-pkgbase-repo.tar
not just "pkgbase-repo.tar".

Fixes: https://cgit.freebsd.org/src/commit/?id=d0ff67db2908 ("release: Publish pkgbase-repo.tar")
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
c943e6ff9ab0ce823e8ac51a6a17789a1945925f Colin Percival 2025-10-06 21:33:06

debug: classified in 02-filenames_wildcards by '.*Makefile'

ncurses: Move to the minimal set
MFC after:    1 day
Reviewed by:    bapt
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52950
ecaf90ee03bccc14f7628c1e87ac18e29064c079 Lexi Winter 2025-10-08 03:21:25

debug: classified in 02-filenames_wildcards by 'release/.*'

Makefile: Force DISTDIR=/ for (update-)packages
The make(1) variable DISTDIR is used by both ports and src with a
different meaning.  Some users may set DISTDIR in /etc/make.conf
for ports, which previously worked fine when building src since
the src targets which used this variable were not very commonly
used (mainly, make distributeworld).

Unfortunately, with pkgbase becoming the default, this is no longer
true since make (update-)packages invokes make stageworld, which is
sensitive to DISTDIR, and these users find that their build now fails.

A correct fix for this probably requires renaming one or both of
the DISTDIR variables, but for now, work around the problem by
setting DISTDIR=/ for the user-facing pkgbase targets, packages
and update-package.  Since setting DISTDIR doesn't work for these
targets anyway, this should not break any existing configurations.

MFC after:      1 week
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290010
Reported by:    Oleh Vinichenko <moonlapse81@gmail.com>
Reviewed by:    imp, bapt
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52929
f7dc7d7af3683836fcca68018a678b242d2e2620 Lexi Winter 2025-10-08 03:22:32

debug: classified in 02-filenames_wildcards by '.*Makefile'

libpkgecc: Remove -ffreestanding
This incorporates pkg(8) commit a31c8c3682a3 for consistency.

https://github.com/freebsd/pkg/commit/a31c8c3682a3

MFC after:      1 day
Reviewed by:    kevans
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52920
349f4fd3827e085c1aa8572e7e5276a642077c48 Lexi Winter 2025-10-08 03:23:32

debug: classified in 02-filenames_wildcards by '.*Makefile'

packages: Set dependency origin in generate-ucl.lua
Commit 822fd5606748 changed the origin of packages from "base"
to "base/<package name>", but the old origin was still used for
dependencies.

Aside from being wrong, this confuses pkg <= 2.3.1 and causes
"pkg info -d" to show the dependencies as "<pkgname>-(null)"
instead of the correct version string.

Remove the explicit origin from dependencies in the UCL files,
and instead populate this during the build in generate-ucl.lua.
In the (very unlikely) case that an explicit origin is still
needed, don't overwrite one if it's already present.

MFC after:      1 day
Fixes: https://cgit.freebsd.org/src/commit/?id=822fd5606748 ("pkgbase: set origin for each packages as base/FreeBSD-*")
Reported by:    bapt
Reviewed by:    cperciva, bapt
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52892
a507a7026c402a4c10902f3aadb3c6a70c442964 Lexi Winter 2025-10-08 03:24:25

debug: classified in 02-filenames_wildcards by 'release/.*'

generate-ucl.lua: Add missing copyright header
Add a standard BSD license with a copyright claim for everyone who has
modified this file since it was added, excluding users who explicitly
declined attribution.

MFC after:      3 days
Reviewed by:    ifreund_freebsdfoundation.org, imp, bapt, markj, emaste
Differential Revision:  https://reviews.freebsd.org/D52881
a6ac2c98c9cb22a4a2efc12cafce2d2ba82b3fdc Lexi Winter 2025-10-08 03:25:24

debug: classified in 02-filenames_wildcards by 'release/.*'

release: Fix dependency ordering
The 'make release' command triggers some sub-builds, in particular
'real-release' (which builds install images) and 'vm-release' (which
builds VM images).  These both now depend on pkgbase-repo.

Unfortunately for historical reasons 'make real-release' has used a
recursive make instead of proper make dependencies; this results in
the pkgbase-repo target being invoked twice since the recursive make
does not have any awareness of the targets being run by the parent
make command.  Since the pkgbase-repo target starts by creating the
pkgbase-repo directory, the second make command incorrectly assumes
that target has already been built; this showed up in 15.0-ALPHA5
builds with pkgbase-repo.tar being empty as it was created after the
pkgbase-repo directory was created by before that directory had been
populated.

Change
real-release:
        make obj
        make ${RELEASE_TARGETS}
to a single line
real-release: obj .WAIT ${RELEASE_TARGETS}
in order to handle dependency deduplication properly while keeping
the intended behaviour that "obj" completes before ${RELEASE_TARGETS}.

Diagnosed by:   jrtc27, emaste
Reviewed by:    emaste
MFC after:      1 day
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D52972
b6f69c39999bfb85af262363b4fe22edc80027d7 Colin Percival 2025-10-07 20:48:06

debug: classified in 02-filenames_wildcards by '.*Makefile'

bsd.confs.mk: Support CONFGROUPS.yes
Align CONFGROUPS with other options like SUBDIRS and FILESGROUPS by
supporting the CONFGROUPS.yes option.  This means logic like this:

.if ${MK_FOO} != "no"
CONFGROUPS+= FOO
.endif

can be replaced by:

CONFGROUPS.${MK_FOO}+= FOO

MFC after:      1 week
Reviewed by:    imp
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52923
0f5ed3c427fff845797c2af2aeceb5855f32a4f4 Lexi Winter 2025-10-08 06:07:10

debug: classified in 03-filenames_plain1 by 'share/mk/'

libexec/rc/rc.d/Makefile: Use CONFGROUPS.yes
Replace .if statements with CONFGROUPS.${MK_FOO} where possible,
and also sort and re-indent the file for readability.

A couple of more complicated sections don't work with CONFGROUPS.yes
yet, so leave those as they are for now.

MFC after:      1 week
Reviewed by:    imp
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52974
56f9879c3dd8fb9cd82fb7bc33e1acf5f8b578ff Lexi Winter 2025-10-08 06:08:31

debug: classified in 02-filenames_wildcards by '.*Makefile'

generate-set-ucl.lua: Add missing copyright header
This file was derived from generate-ucl.lua, so copy the existing
header.

MFC after:      3 days
c8f9a9abd8000a8514e0beee99ffcf48d05ce47b Lexi Winter 2025-10-08 06:50:03

debug: classified in 02-filenames_wildcards by 'release/.*'

tools/build: Bring in stdckdint.h if needed
This is needed when bootstrapping libc, reallocarray.c and
recallocarray.c include stdckdint.h now.

Reviewed by:    emaste
Fixes:  https://cgit.freebsd.org/src/commit/?id=7233893e9496 ("lib{c,openbsd}: use ckd_mul() for overflow checking in re(c)allocarray")
Differential Revision:  https://reviews.freebsd.org/D52932
687cb66411c7bc220ccb90cedc2f7486567d55b6 Mark Johnston 2025-10-07 13:53:54

debug: classified in 02-filenames_wildcards by '.*Makefile'

cross-build: Define __GNUC_PREREQ__ in cdefs.h
This is required when including stdckdint.h and doesn't seem to be
provided by older clang.

Reviewed by:    emaste
Fixes:  https://cgit.freebsd.org/src/commit/?id=7233893e9496 ("lib{c,openbsd}: use ckd_mul() for overflow checking in re(c)allocarray")
Differential Revision:  https://reviews.freebsd.org/D52933
53ab85a55408562690f58788ea8d01c18b79ef5d Mark Johnston 2025-10-08 12:49:28

debug: classified in 03-filenames_plain1 by 'tools/build/'

release: Avoid generating .pkgsave files in OCI images
This also installs the pkg key from the current source tree instead of
using the one currently installed on the host.

Reviewed by:            dch
MFC after:              1 day
Differential Revision:  https://reviews.freebsd.org/D52615
e21e6e96b662dcbb2f0e37ab356c9dded62a586e Doug Rabson 2025-05-28 13:32:36

debug: classified in 02-filenames_wildcards by 'release/.*'

release/RPI: Add RPI Zero 2W device tree blob dtb
Enable Pi 02W support on the release SD card images by including the
device tree.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278816
MFC after:      3 days
Approved by:    cperciva (re)
e41e099ef199de096abd9a93289bdacfd83a5f48 Yoshiro MIHIRA 2025-10-06 07:54:08

debug: classified in 02-filenames_wildcards by 'release/.*'

kern: Remove needless kern.opts.mk
We don't need kern.opts.mk in any of these places. None of these
Makefiles reference any MK_ options. Some don't even need SYSDIR,
but leave that defined in the ones that do.

Sponsored by:           Netflix
8e985774117d49eb968789aba8550c2a92992a9a Warner Losh 2025-10-08 04:17:18

debug: classified in 02-filenames_wildcards by '.*Makefile'

modules: Simplify some expressions
When we only use SYSDIR once or twice, expand it and don't define
it. Minor other consistency changes.

Sponsored by:           Netflix
498368529011086067ed48e40cbfd46a4d5ef2ca Warner Losh 2025-10-08 04:41:03

debug: classified in 02-filenames_wildcards by '.*Makefile'

release: switch OCI containers to use pkg sets
use minimal-jail in no-toolchain

MFC after:      1 hour

Reviewed by:    ivy
Sponsored by:   SkunkWerks, GmbH
Differential Revision:  https://reviews.freebsd.org/D53014
a5b19a0cb9c4321ef45f920a6fc0394449e64779 Dave Cottlehuber 2025-10-10 15:51:20

debug: classified in 02-filenames_wildcards by 'release/.*'

build: fix ordering of pkgbase targets to get a dtb package reliably
dtb.plist is generated by mtree-to-plist when it processes the kernel
metalog, so we shouldn't try to create dtb packages until that's been
done.  Add another level of indirection to the create-kernel-packages
target to organize all of the kernel flavors under a single target that
is ordered before the create-dtb-packages target.

Note that we may later refine these targets after further pkgbase
review; this is simply a maybe-final stop-gap that's been tested to
fix a known problem.

MFC after:      37 seconds (pkgbase fix for 15.0 builds)
Reviewed and tested by: cperciva
Differential Revision:  https://reviews.freebsd.org/D53017
a29cf898b09c4d4906f92fd2982410c9f5935f6c Kyle Evans 2025-10-10 17:37:51

debug: classified in 02-filenames_wildcards by '.*Makefile'

sockstat: Fix build reproducibility
Both usr.bin/sockstat and usr.bin/sockstat/tests build the file
src/usr.bin/sockstat/sockstat.c.  Unfortunately, they place the
resulting object file in the same place, but produce different
files due to paths appearing in the .debug files; this results
in different binaries depending on how the race between the two
builds ends.

Use .PATH to tell make to find sockstat.c in the parent directory
but place the object file in the current object directory, rather
than placing '..' into the name of the source file.

Suggested by:   bdrewery, emaste, jrtc27
MFC after:      5 minutes (15.0 build fix)
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53032
9934558460e4e73e5b55648c4b13a702f4f019d7 Colin Percival 2025-10-10 20:13:58

debug: classified in 02-filenames_wildcards by '.*Makefile'

vmimage.subr: metalog_add generated databases
The files /etc/login.conf.db, /etc/passwd, /etc/pwd.db, /etc/spwd.db,
and /var/db/services.db are generated at install time.  When VM images
are built using installworld, there is Makefile code which emits the
necessary METALOG lines; but the pkgbase triggers do not do this.  This
resulted in VM images which lacked these essential database files.

VM images are currently the only place where this matters, since this
issue is specific to non-root image builds uusing pkgbase.  (In some
point in the future we will start building release ISO iamges from
pkgbase, at which point it will be a problem there as well.)

The long-term solution for this is probably to teach the relevant
database-creating tools to emit METALOG lines; but for now, just log
the necessary files from vmimage.subr.

Reviewed by:    dch
MFC after:      5 minutes
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53034
6081365c27e68707ad25c98159e364ee90fcf5db Colin Percival 2025-10-10 22:01:38

debug: classified in 02-filenames_wildcards by 'release/.*'

Commit group #68: EC2: metalog_add missing files from packages
EC2: metalog_add missing files from packages

The files
        /usr/local/etc/dhclient.conf
        /usr/local/etc/ssl/cert.pem
are created in EC2 images by installed packages, but are not being
registered in METALOG.  The reason for this is not immediately clear,
but may be related to the handling of "sample" files.

Reviewed by:    dch
MFC after:      5 minutes
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53035
2b0ffc0ee48cf6c70506dc479e0fd2166f9de1ab Colin Percival 2025-10-10 22:08:32

debug: classified in 02-filenames_wildcards by 'release/.*'


EC2: Fix additional files on small+builder AMIs

The file /usr/local/etc/ssl/cert.pem is not present on "small" and
"builder" AMIs, so we don't need to add it to METALOG.

Fixes:  https://cgit.freebsd.org/src/commit/?id=2b0ffc0ee48c ("EC2: metalog_add missing files from packages")
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
8a7ac88aa3991e8c2c19007ac0c36a92fc94bc2d Colin Percival 2025-10-11 17:35:51

debug: classified in 02-filenames_wildcards by 'release/.*'

release: Remove errant .endfor
This didn't show up in testing on main or stable/15 because it only
applies for "release" (BETA and onwards) builds.

Fixes:  https://cgit.freebsd.org/src/commit/?id=afdc022deb91 ("release: Publish pkgbase-repo.tar")
MFC after:      30 seconds
Sponsored by:   https://www.patreon.com/cperciva
474ae083b1e19588c1bc2974082d2810ef9dc7f9 Colin Percival 2025-10-11 04:10:08

debug: classified in 02-filenames_wildcards by '.*Makefile'

mit-krb5.pc: Add missing -lkrb5profile
Fixes the ports that prefer static linking:
https://reviews.freebsd.org/D49277

Reviewed by:    ivy, dch, cy
Sponsored by:   SkunkWerks, GmbH
Differential Revision:  https://reviews.freebsd.org/D52910
2d9fd2c573c318754e3f36d2549e0e57ce199d60 Igor Ostapenko 2025-10-11 10:20:44

debug: Commit manually moved from "unknown" to "build".

libbluetooth: Move to the bluetooth-lib package
Move the library, but not any of the runtime.  This allows executables
to link against libbluetooth without having to pull in the entire BT
stack.

MFC after:      3 days
Reviewed by:    dch, emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53016
426891e0f8f1cfae0263ba81ea55f46c547d7762 Lexi Winter 2025-10-12 15:28:20

debug: classified in 02-filenames_wildcards by '.*Makefile'

virtual_oss: Move plugins to the sound package
This is the correct place for them, and also issues an incorrect
dependency from utilities to sound.

Fixes:  https://cgit.freebsd.org/src/commit/?id=1b806e607f52 ("packages: Add a sound package")
MFC after:      3 days
Reviewed by:    christos, dch
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53015
419dcdc2c981306b0ded44580977d2e053719b14 Lexi Winter 2025-10-12 15:29:17

debug: classified in 02-filenames_wildcards by '.*Makefile'

vmimage.subr: Sort METALOG before running makefs
When creating VM images from pkgbase, the METALOG may not be in order;
in particular, files may be listed before the directories which contain
them.  This causes makefs to create directories with 000 permissions.

Interestingly, such VM images boot just fine, since root ignores those
permissions; the first sign of trouble was sshd refusing logins with an
error message which said absolutely nothing about /etc/ having
incorrect permissions or being unable to read files inside it.

Immediately prior to running makefs, sort the METALOG file.  While
we're here, uniquify as well; this does not guarantee that we do not
have duplicate paths, but if there are duplicate paths with different
settings something else has gone wrong and we don't really have any
good way of solving the problem anyway.

Reviewed by:    ivy
Hint from:      imp
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53046
0cc81b375ea43c7e853b109d00c72c8c3b3df993 Colin Percival 2025-10-12 04:32:29

debug: classified in 02-filenames_wildcards by 'release/.*'

blacklist: Avoid duplicate manual pages in METALOG
Previously, blacklist man pages were just a symlink to their blocklist
counterpart, this in turn installed blocklist man pages twice, and
resulted in a duplicate error when running metalog_reader.lua -c.

Take advantage of the duplication to document nuances in blacklist, such
as the fact that it uses the new database and socket name (blocklist).
Also, note that it has been renamed to blocklist.  In the future, it
will help to document its deprecation.

Approved by:    emaste (mentor)
Fixes:  https://cgit.freebsd.org/src/commit/?id=7238317403b9 ("blocklist: Rename blacklist to blocklist")
MFC after:      2 days
c6240045536548c22ce40d9ef36c1dc52abcfc9c Jose Luis Duran 2025-10-13 00:53:50

debug: classified in 02-filenames_wildcards by '.*Makefile'

Makefile.inc1: Build source packages before sets
To build set-src, we first need to build the source packages.  Add a
.ORDER to ensure this happens.  Otherwise, in a parallel build, sets
might be built before the src-* packages have finished building, and
set-src will be mysteriously missing.

MFC after:      3 seconds
Reported by:    cperciva
Actually diagnosed by:  jrtc27
One-line fix by:        ivy
Reviewed by:    cperciva
Differential Revision:  https://reviews.freebsd.org/D53076
ea5685ba79fc9309698ef72cf48bc1f0c91ad3dd Lexi Winter 2025-10-13 18:30:31

debug: classified in 02-filenames_wildcards by '.*Makefile'

packages: Compress in parallel
The FreeBSD-base pkg repository is currrently dominated by a handful of
large packages: Out of a compressed repository size of ~960 MB, about
160 MB is taken up by the FreeBSD-src package, 128 MB (on amd64) is
used by the FreeBSD-kernel-generic-dbg package, and 91 MB is used by
the FreeBSD-src-sys package.  Consequently, running 'make packages -jN'
provides less benefit than one might hope, as most of the packages
finish building quickly, ultimately leaving the FreeBSD-src package
building by itself for a couple minutes while all the other CPUs are
idle.

Pass -T${PKG_CTHREADS} to the 'pkg create' commands (with a default
of -T0) in order to instruct pkg's zstd compression to use multiple
threads.

Testing on an EC2 r7i.48xlarge instance with -j192, this reduces the
time taken by 'make packages' from 6m17s to 1m39s; package creation
time itself (excluding the initial process of installing into world
and kernel staging directories) dropped from 5m37s to 59s.

Reviewed by:    ivy
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53053
16155cccc4bf42a5a76806128e7ef637f9ae61fe Colin Percival 2025-10-12 21:44:14

debug: classified in 02-filenames_wildcards by '.*Makefile'

Ping: Make build reproducible
As recently fixed in sockstat (9934558460e4), having tests/Makefile
include files from the parent directory with SRCS= ../foo.c results
in a race condition as the parent build and the tests build try to
produce the same object file but contain different paths.

Use .PATH to tell make to find sockstat.c in the parent directory
but place the object file in the current object directory.

Reviewed by:    emaste, jrtc27, kevans
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53075
3c9a2f383fc25cdffa80c1348cb5388290e0f283 Colin Percival 2025-10-13 15:58:10

debug: classified in 02-filenames_wildcards by '.*Makefile'

packages: Rename unbound to local-unbound
This more accurately reflects its purpose, and its contents, since
everything in the package is prefixed with "local-".

While here, add a message on upgrade about regenerating the config.

MFC after:      3 seconds
Requested by:   des
Reviewed by:    des
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53056
bf84861460f9287fe9cf66b2cd22fefe8e242a28 Lexi Winter 2025-10-15 11:00:35

debug: classified in 05-summary-prefix by 'packages:'

ncurses: Add an ncurses-lib package
Set LIB_PACKAGE= in lib/ncurses/Makefile.inc so the ncurses libraries
go into the ncurses-lib subpackage rather than the base package. This
means applications that depend on ncurses can be installed without
needing to install the various utilities and manpages.

This removes a dependency from runtime to ncurses (it now depends on
ncurses-lib instead).

MFC after:      3 seconds
Reviewed by:    kevans
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53060
bde703e8b6ab3acc73bbb20f1ebe26221f33e9f1 Lexi Winter 2025-10-15 12:28:43

debug: classified in 02-filenames_wildcards by '.*Makefile'

pkg-stage: Correct /packages permissions
Include /packages in the METALOG used to create dvd1.iso.  Previously
we used an expression ^./packages/ (with a trailing /) which did not
match /packages itself, and then with no METALOG entry /packages on
dvd1.iso ended up with mode d---------.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290222
Reviewed by:    cperciva
MFC after:      1 minute
Sponsored by:   The FreeBSD Foundation
2db11dda840c4889aeb719761cdafa62730083a2 Ed Maste 2025-10-15 13:04:58

debug: classified in 02-filenames_wildcards by 'release/.*'

stand/i386: quiet gcc -Warray-bounds
GCC has started to warn about memory accesses under address 0x1000.
Tweak it to 0x400 for stand/i386 to avoid warnings for access to BIOS
data area memory and above but still retain most of the warning value.

Reviewed by:    dab, imp
Differential Revision:  https://reviews.freebsd.org/D53036
c2fa94ad0868378c420237d842308156d9133519 Ryan Libby 2025-10-17 06:49:22

debug: classified in 02-filenames_wildcards by '.*Makefile'

bsd.man.mk: Support MANGROUPS.yes
Similar to SUBDIR and CONFGROUPS, this allows the use of
MANGROUPS.${MK_FOO}, simplifying Makefile logic for optional
manpages.

MFC after:      3 seconds
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53126
e757a92282fcd064c82cf2685dde4730743fc425 Lexi Winter 2025-10-17 10:40:39

debug: classified in 03-filenames_plain1 by 'share/mk/'

tar: Move to the utilities package
tar(1) is not a core runtime utility; in particular, nothing in
/etc/rc.d/* requires it.  Move it to utilities, which is also
where cpio(1) lives.

This removes the dependency from runtime to libarchive.

MFC after:      3 days
Reviewed by:    manu, emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53059
c0f17d637a4ab1e5dcae6b931623b7b0ee5bece2 Lexi Winter 2025-10-17 10:42:03

debug: classified in 02-filenames_wildcards by '.*Makefile'

igc(4): also build module on aarch64
igc(4) seems to work fine on arm64 for as much as I could test with
a 2.5Gbit/s interface on a mPCIe card.
Enable the module build so it is available.

MFC after:      3 days
51fbeadac4ccce6aafe51be9377d4114321295e5 Bjoern A. Zeeb 2025-10-17 12:56:43

debug: classified in 02-filenames_wildcards by '.*Makefile'

vmimage.subr: Add missing directories to METALOG
Theoretically METALOG should include everything which needs to go
into disk images; unfortunately there are still a few bugs which
are resulting in directories not being listed -- and if METALOG
has files in unrecorded directories, the directories end up being
created with 000 permissions.

Oddly enough, systems where / has 000 permissions are not very
usable.

As a temporary hack, compare the staging tree against METALOG and
add entries for any unrecorded directories.  This will hopefully
be reverted before 15.0-RELEASE.

Reviewed by:    bapt, emaste, ivy
Sponsored by:   https://www.patreon.com/cperciva
MFC after:      5 minutes
Differential Revision:  https://reviews.freebsd.org/D53153
71b2f9853529b1d1a160eaaa202e93a14f91eed1 Colin Percival 2025-10-17 07:01:33

debug: classified in 02-filenames_wildcards by 'release/.*'

ncurses: Move utilities to the ncurses package
MFC after:    3 days
Reviewed by:    manu, kevans
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53163
09a49cd49b4fecfb31b2b6677a938ef847289055 Lexi Winter 2025-10-17 18:41:09

debug: classified in 02-filenames_wildcards by '.*Makefile'

Makefile: Don't allow install{world,kernel} with pkgbase
Using these targets on a pkgbase system will cause the installed system
to become out of sync with the package database, which is almost certain
to cause issues the next time pkg(8) is used.

To prevent users doing this accidentally, disallow install* if we detect
that FreeBSD-runtime is installed in the target.  The check can be
overridden with DESTDIR=/ for users who are sure they want to do this.

MFC after:      3 days
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52879
74a6bb524e5b9ad654a9acc5da5c195f406717b5 Lexi Winter 2025-10-17 19:06:17

debug: classified in 02-filenames_wildcards by '.*Makefile'

vmimage.subr: Fix when/where we fix up METALOG
We only need to check for unMETALOGed directories and sort the METALOG
file if we're using it, i.e. if we're doing a NO_ROOT build.  This
non-NO_ROOT builds by no longer bogusly writing to /METALOG*.

We only need to add databases (spwd.db etc) to METALOG if we're doing
a pkgbase-enabled NO_ROOT build; but we should always do this before
creating the filesystem, not only if we installed extra packages (in
vm_extra_install_packages, where that code was erroneously placed).
This fixes non-cloud VM images, which in 15.0-BETA2 shipped without
password databases.

Reviewed by:    ivy
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53194
012014403bdcb2b3aa7ed3895079a0059204c35f Colin Percival 2025-10-19 00:27:07

debug: classified in 02-filenames_wildcards by 'release/.*'

release: split up Oracle Cloudware tools
Sometimes one or the other but not both tools are present; this ensures
that all cases are correctly handled.

Reported by:    cperciva
Approved by:    cperciva (re)
Sponsored by:   SkunkWerks, GmbH

Reviewed by:    cperciva
Differential Revision:  https://reviews.freebsd.org/D53186

MFC after:      2 days
81d807a90611a4980cae843b404d99c27edc1893 Dave Cottlehuber 2025-10-20 09:35:37

debug: classified in 02-filenames_wildcards by '.*Makefile'

bsdinstall: Use pkgbase release URL for BETA/RC
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290238
Reviewed by:    ivy
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53214
b0c64ce0ea51dc9774ddb972d28a5cfaeb34465d Ed Maste 2025-10-20 12:38:03

debug: classified in 02-filenames_wildcards by '.*Makefile'

release: Add pkg .conf to METALOG on dvd
We're correctly recording all of the packages in the dvd METALOG file,
but if we don't record ./packages/repos/FreeBSD_install_cdrom.conf then
users won't be able to install them very easily.

Reviewed by:    markj
Reported by:    Lars Tunkrans
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53199
2b5c62494df95cdb844b5f6f852412f2178f66dd Colin Percival 2025-10-19 16:59:08

debug: classified in 02-filenames_wildcards by '.*Makefile'

modules: fix some riscv module logic
The change which enabled the sdhci_fdt module build on riscv
inadvertently enabled the neta module as well. This driver is not needed
on this platform.

Move each entry to a respective identical conditional blocks.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Fixes:  https://cgit.freebsd.org/src/commit/?id=e9dd9f95f82f ("riscv: Add the sdhci_fdt driver to the build")
ddc1d4b0722bd63934f503c43a5ee35d871355ee Mitchell Horne 2025-10-20 23:11:53

debug: classified in 02-filenames_wildcards by '.*Makefile'

man4: move allwinner pages and logic to a standard place
They are shared by arm, arm64, and now riscv. Note that they are
always installed by default, where MAN_ARCH=all.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52585
15c79c6fa60809a9dc627e5051704cf2a556c6db Mitchell Horne 2025-07-11 20:24:42

debug: classified in 02-filenames_wildcards by '.*Makefile'

man9: Provide SYSCTL_BOOL & SYSCTL_ADD_BOOL man pages
Updates: 84e717c4c & 9a593520
d78da1ea01b21f3be6011bea174f9ee3ece623ed David E. O'Brien 2025-10-21 18:18:18

debug: classified in 02-filenames_wildcards by '.*Makefile'

src.opts.mk: Enable LLDB for 32-bit arm
It was previously disabled when we built for older 32-bit arm targets
which lack 64-bit atomics.  As we now support armv7 at a minimum there
is no need to disable LLDB.

Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52668
69415879e9e493cba78b3a4afb1a78d813a2eb8a Ed Maste 2025-09-21 14:31:05

debug: classified in 03-filenames_plain1 by 'share/mk/'

packages: Update the METALOG when (un)installing the caroot package
There may be other issues here but this change certainly seems to
be necessary.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290394
Reviewed by:    cperciva
Differential Revision:  https://reviews.freebsd.org/D53263
fa240b7ff081a49d44e0941b2090e5dc5838fe60 Mark Johnston 2025-10-22 23:14:35

debug: classified in 02-filenames_wildcards by 'release/.*'

share/mk: Add opencsd to the list of private libs
Reported by:  Sarah Walker <Sarah.Walker2@arm.com>
Reviewed by:    emaste
Fixes:  https://cgit.freebsd.org/src/commit/?id=1c52229528e7 ("lib: Move libopencsd to /usr/lib and make private")
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53217
82778970eeb24f1249945612d05923725f9baa4f Andrew Turner 2025-10-20 17:37:41

debug: classified in 03-filenames_plain1 by 'share/mk/'

release: Use PKG_CMD when installing pkgbase packages in vmimage.subr
This defaults to plain "pkg", but being able to override it is useful
when testing pkg itself.

Reviewed by:    cperciva
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53307
bbe65c5e8c0e89ec14cb5d00153691850dadb859 Mark Johnston 2025-10-23 22:21:11

debug: classified in 02-filenames_wildcards by 'release/.*'

deadfs.9: Document
Reviewed by:  kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53334
daa6660f899309f832bba0c7ac72dada125cfed5 Mateusz Piotrowski 2025-10-24 18:08:31

debug: classified in 02-filenames_wildcards by '.*Makefile'

packages: Remove the /boot hack from mtree-to-plist.awk
Currently, files in /boot (other than /boot/kernel) are assigned to the
bootloader package using a filename match in mtree-to-plist.awk.  This
causes some problems, most notably that debug info for userboot ends up
in the utilities-dbg package instead of bootloader-dbg.

Remove the path handling from mtree-to-plist and instead set PACKAGE
in the appropriate Makefiles to put these in the correct package.

While here, move userboot*.so from bootloader-dev to bootloader.

MFC after:      3 days
Reviewed by:    cperciva
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53179
842942be28b21354e3f547e39fc75bf18ee5b6f7 Lexi Winter 2025-10-25 17:18:46

debug: classified in 05-summary-prefix by 'packages:'

flua: Move to a new flua package
flua is a standalone third-party component that deserves its own
package.  In particular, this means things can use flua without
having to depend on FreeBSD-utilities, which will be useful as
more base utilities use flua.

This saves ~500kB in FreeBSD-utilities for systems which don't
need flua.

MFC after:      3 days
Reviewed by:    kevans
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53161
957715f877b57a17545ead94d27ea8fd3ff4932a Lexi Winter 2025-10-25 17:21:37

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

packages: Put dhclient in the minimal-jail set
This is somewhat widely used in VNET jails, it's fairly small (150kB on
amd64) and it's enough of a core system component that it's reasonable
to include, even if many jails don't require it.

MFC after:      3 days
Reviewed by:    dch
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53154
8a9d29bedab597df6bfd4fab1b1bb023f8375a1f Lexi Winter 2025-10-25 17:26:20

debug: classified in 02-filenames_wildcards by 'release/.*'

share/man/man5: Use MANGROUPS.yes
Simplify the Makefile logic by using MANGROUPS.yes for optional
packages.  Also, move bluetooth manpages to the correct package,
add the correct conditional for OpenSSH (MK_OPENSSH), and properly
alphabetise the file.

MFC after:      3 days
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53127
82f96b2bc983163a890f1782d3091701498b78a2 Lexi Winter 2025-10-25 17:27:23

debug: classified in 02-filenames_wildcards by '.*Makefile'

packages: dhclient, local-unbound require resolvconf
Both of these packages use resolvconf for various things.  Add a
dependency to make this work.

MFC after:      3 days
Reviewed by:    des
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53115
bf28c98f14b439796b395eb4bf9070e4f7cffd68 Lexi Winter 2025-10-25 17:28:28

debug: classified in 02-filenames_wildcards by 'release/.*'

packages: Install development manpages in the -dev package
Add a new per-group SUBPACKAGE option to bsd.man.mk.  When MANSPLITPKG
is enabled, this is forced to "-man", otherwise it defaults to empty
but can be overridden by the caller.

Use this in bsd.lib.mk to install library manpages in the -dev package
instead of the base package.  This is nearly always preferable, since
library manpages are usually in section 2 or 3 and are only relevant
to people with development packages installed.

For manpages which should be installed in the base package even for
libraries, add a new MANNODEV group in bsd.lib.mk.  Update existing
Makefiles to use this where appropriate.

MFC after:      3 days
Discussed with: olce
Reviewed by:    olce
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D52832
031e711647c3edc3021c1029496d6798a632697e Lexi Winter 2025-10-25 17:33:04

debug: classified in 05-summary-prefix by 'packages:'

thunderbolt: Fix stale symlink for opt_acpi_wmi.h
Reported by:  wosch
Sponsored by:   The FreeBSD Foundation
ee363e1bab6ffcf196afbf870e92a1e9abdd8f11 Aymeric Wibo 2025-10-26 10:43:47

debug: classified in 02-filenames_wildcards by '.*Makefile'

pkgbase: fix kyua package
All its shared data should be installed in the FreeBSD-kyua package
74dfef71d8c0f55ebe09337eabd797e03dc0ef1a Baptiste Daroussin 2025-10-17 14:58:41

debug: classified in 02-filenames_wildcards by '.*Makefile'

zlib: Move to a new zlib package
zlib is a standalone third-party component, and deserves its own
package rather than living in runtime.  For example, this will make
future security updates less invasive.  This also means there's no
dependency on runtime for ports that just require zlib, which is
useful for service jails.

MFC after:      3 days
Reviewed by:    bapt, emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53058
924c0c60d4aeaa474fb028118ca82d505166b4ab Lexi Winter 2025-10-28 18:15:44

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

padlock.4: only install on i386
88a53301e198b043e9b046b1c824eae5a24064f9 David E. O'Brien 2025-10-29 00:26:00

debug: classified in 02-filenames_wildcards by '.*Makefile'

release: Only check no-root/no-qemu when building
Building VMs as non-root requires no-QEMU code paths (installing
packages from outside the VM image rather than inside it) and vice
versa; we have a check for broken combinations.

Unfortunately that check was breaking
make -C src/usr.sbin/pkg NO_ROOT=YES -V PKGCONFBRANCH
because that code reaches into src/release to determine the branch
name (which is then used to determine which /etc/pkg/FreeBSD.conf to
install).

Wrap the no-root/no-qemu check in an .if to only run when we've
asked for VM and/or CLOUD building to be enabled.

Reviewed by:    ivy
MFC after:      5 minutes
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53486
b485322d6b5846fe4fb5aff6c4a07221b09946fc Colin Percival 2025-10-30 19:14:25

debug: classified in 02-filenames_wildcards by '.*Makefile'

pkg: Die if make -V BRANCH fails
If build logic breaks such that we can't figure out which branch we're
on, we should error out rather than shipping a default (and probably
wrong) /etc/pkg/FreeBSD.conf

Reviewed by:    ivy
MFC after:      5 minutes
Suggested by:   ivy
Differential Revision:  https://reviews.freebsd.org/D53487
0837b2ebd570ea092353aa3c46e374f7a1533a1d Colin Percival 2025-10-30 20:46:12

debug: classified in 02-filenames_wildcards by '.*Makefile'

depend-cleanup.sh: clean up after riscv64 enhanced string function patch set
This ensures an incremental build succeeds after import of
D47275, D46023, D45730, D45693, D46139, D46230, D46047, and D53248.

Approved by:    markj (mentor)
MFC after:      1 month
MFC to:         stable/15
Differential Revision:  https://reviews.freebsd.org/D53485
d59e924d2969ce2c8bec0fc4500989865fbece75 Robert Clausecker 2025-10-30 18:57:23

debug: classified in 03-filenames_plain1 by 'tools/build/'

bsd.prog.mk: Skip warnings if compiler.mk was not included
We emit a warning if src.conf options WITH_RETPOLINE or INIT_ALL are
in use, and the compiler or linker does not support the feature.

For targets like `cleandir` we skip including bsd.compiler.mk, which
leaves COMPILER_FEATURES unset and spurious warnings were emitted in
early buildworld stages, if these options are in use.

Commit 0837b2ebd570 ("pkg: Die if make -V BRANCH fails") added -W to
usr.sbin/pkg's make flags, causing it to exit on warnings.  As a result
buildworld failed when these src.conf options were in use.

Clean this up by omitting the warning if the magic
_NO_INCLUDE_COMPILERMK flag is set, which indicates that
COMPILER_FEATURES is not set.

Reviewed by:    imp
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53501
e4f2a350955406ffd58dd3f0bb7610df0f36d647 Ed Maste 2025-10-31 15:53:42

debug: classified in 03-filenames_plain1 by 'share/mk/'

static_libpam: Don't install pam.d.5 twice
static_libpam's Makefile includes libpam's Makefile after setting some
variables (like MAN) to empty to avoid installing the manpages twice.
After commit 031e711647c3, it neglected to do this for MANNODEVLINKS,
causing pam.d.5.gz to be installed twice.  This is harmless for
installworld, but breaks some things that rely on METALOG (NO_ROOT
installs) since it causes two METALOG entries to be generated for
the same file.

Fixes:  https://cgit.freebsd.org/src/commit/?id=031e711647c3 ("packages: Install development manpages in the -dev package")
MFC after:      3 days
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290708
Reported by:    emaste
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53512
a1806e6ff37a606277ab9657b951e918164e9f63 Lexi Winter 2025-11-01 13:38:26

debug: classified in 02-filenames_wildcards by '.*Makefile'

release: Spell metalog_add_data conventionally
Reviewed by:  markj
MFC after:      3 days
Fixes: https://cgit.freebsd.org/src/commit/?id=f1995d6fc13f ("release: Prepare GCE cloudware images for building as non-root")
Differential Revision:  https://reviews.freebsd.org/D53530
c3a3af1346684eedf836fb62f874092ce602697e Colin Percival 2025-11-02 00:16:35

debug: classified in 02-filenames_wildcards by 'release/.*'

Makefile.incl1: .WAIT before distribute in etc
In order to make sure that man pages are all installed before we run
makewhatis to generate mandoc.db files, we have long placed etc at the
end of the list of subdirectories being recursed into by the build.
In order to support installworld -jN, a .WAIT was more recently added
here.

With the recent adoption by the release engineering team of parallel
*release* builds (aka 'make release -jN') it is now also necessary to
add the same .WAIT before recursing for the 'distribute' target, as we
otherwise end up with distribution sets containing incomplete mandoc.db
files.

Reviewed by:    bdrewery
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289683
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53533
dcb6706ba494f34e2a2ce97e5c5f2867b9e1f5ef Colin Percival 2025-11-02 04:22:26

debug: classified in 02-filenames_wildcards by '.*Makefile'

dtrace_vfs.4: Document the DTrace vfs provider
Reviewed by:  bcr
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D51317
2020e76450e2705d33d673a3d183c8f0a3910e28 Mateusz Piotrowski 2025-11-03 15:54:10

debug: classified in 02-filenames_wildcards by '.*Makefile'

vmimage.subr: pkg autoremove after pkg install
A bug in pkg, which somehow only surfaced as a consequence of pkgbase,
results in pkg install sometimes pulling in false dependencies.  This
problem might be limited to cases when the lib32 pkgbase packages are
not installed.  In the case of EC2 "small" images, installing the
ebsnvme-id package results in binutils, gcc12-devel, gmp, indexinfo,
liblz4, mpc, mpfr, and zstd packages being installed.

These false dependencies are however not recorded as dependencies --
at some level pkg does understand that they're not needed -- so running
pkg autoremove immediately after pkg install cleans them up.

Note: This does not remove lines from METALOG corresponding to these
packages, and makefs emits an error when it attempts to create the
filesystem but cannot find the files listed in METALOG -- but makefs
does seem to complete normally despite the error messages.

This change should be reverted once the pkg issue has been located and
fixed.

Reviewed by:    ivy
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53543
6a13aeac3c1f98db7cf156f24a4d6bc8d3c321f6 Colin Percival 2025-11-03 01:16:19

debug: classified in 02-filenames_wildcards by 'release/.*'

dtrace_callout_execute.4: Document the DTrace callout_execute provider
MFC after:    2 weeks
Fixes:          https://cgit.freebsd.org/src/commit/?id=91dd9aae1ab8 Add explicit static DTrace tracing to the callout mechanism
Differential Revision:  https://reviews.freebsd.org/D51397
3ccb2d9513e6a2e046e635c186da68acf8f8498b Mateusz Piotrowski 2025-11-04 11:10:55

debug: classified in 02-filenames_wildcards by '.*Makefile'

kexec: Add basic kexec_load man page
Also add kexec reboot flag to the reboot man page.
a935c2a63f9270500cddab1d9868c6183c25d5a8 Justin Hibbits 2025-10-06 21:11:02

debug: classified in 02-filenames_wildcards by '.*Makefile'

packages: Make set-base-dbg depend on set-optional-dbg
As set-base depends on set-optional, so should set-base-dbg depend on
set-optional-dbg.  Otherwise, people who install set-base-dbg will be
missing a bunch of debug packages.

MFC after:      1 day
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53575
3bcb2977704556ebf5c8847eaa7a46692b0bc1d0 Lexi Winter 2025-11-04 23:51:34

debug: classified in 02-filenames_wildcards by 'release/.*'

libkadm5clnt: Fix library symlink install
libkadm5clnt_mit installs a symlink from libkadm5clnt.so for backward
compatibility, but it neglected to include the package tags, so the
symlink was missing from pkgbase builds.  Add ${DEV_TAG_ARGS} to the
install command.

Reported by:    Mark Millard <marklmi@yahoo.com>
MFC after:      1 day
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53574
707507c27f69f16de0ce3efee21b20d4f76328f8 Lexi Winter 2025-11-04 23:53:21

debug: classified in 02-filenames_wildcards by '.*Makefile'

libcasper: Move everything to the libcasper package
The libcasper package exists to contain libcasper, but for some reason
only the libcap_net service was in the package, with libcasper itself
and the rest of the services being in runtime.  Move everything to the
libcasper package, except tests which stay in the tests package.

MFC after:      1 day
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53576
b8697ac70ebfce2d8e3df6c67bbf37910793b199 Lexi Winter 2025-11-05 00:26:54

debug: classified in 02-filenames_wildcards by '.*Makefile'

atf: Move the tests back to the tests package
Commit 9065390ddc7b moved atf to its own package, but mistakenly moved
the tests as well.  Put the tests back into the test package.

Fixes:  https://cgit.freebsd.org/src/commit/?id=9065390ddc7b ("packages: Remove the tests-dev package")
MFC after:      1 day
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53594
4b342830abd39cdc20b67a215e15309293673e75 Lexi Winter 2025-11-05 21:16:32

debug: classified in 02-filenames_wildcards by '.*Makefile'

libcrypto: Install tests in the tests package
libcrypto's Makefile.inc used PACKAGE=openssl, which overrides the
PACKAGE=tests in libcrypto/tests/Makefile.  Use PACKAGE?=openssl
instead to avoid this.  This puts the OpenSSL tests in the tests
package where they belong.

MFC after:      1 day
Reviewed by:    manu, ngie
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53595
c3b853fe522ead976863af086557be8863327eb0 Lexi Winter 2025-11-05 21:17:31

debug: classified in 02-filenames_wildcards by '.*Makefile'

periodic: Move 320.whatis to the mandoc package
This periodic script only makes sense if mandoc is installed, so move
it to the mandoc package like other periodic scripts.

/usr/libexec/makewhatis.local only exists for the enjoyment of this
script, and doesn't work without mandoc installed, so move that as
well.

This change moves files between packages so, until we have a proper
policy on how to handle this in release/stable branches, it should
not be MFC'd.

MFC after:      never
Reviewed by:    ziaee, manu
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53609
87121747de001666a42bb2e7ba824331280d226a Lexi Winter 2025-11-06 14:31:58

debug: classified in 02-filenames_wildcards by '.*Makefile'

lib/googletest: Move to a new googletest package
gtest/gmock are not normally used by users unless running the tests,
so they shouldn't be in the utilities package.  Move them to a new
googletest package, to match what we did with ATF/Kyua.

While here, move tests dependencies from tests-all.ucl to tests.ucl,
which is the canonical place for that.

This change adds a new package to the system so, until we have a proper
policy on how to handle this in release/stable branches, it should not
be MFC'd.

MFC after:      never
Reported by:    emaste
Reviewed by:    manu
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53607
0c90c9ad4649789feec86c776674491c35cc7e27 Lexi Winter 2025-11-06 14:34:41

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

lib/ofed: Move to the rdma package
We have an existing rdma package for IB/rdma-related files, but most
of ofed isn't in that package, making it rather useless.  Move all of
lib/ofed to the rdma package.

Add a separate rdma-lib package using LIB_PACKAGE, since utilities
depends on the rdma libraries and we don't want that to pull in all
of rdma.

This change moves files between packages so, until we have a proper
policy on how to handle this in release/stable branches, it should
not be MFC'd.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263227
MFC after:      never
Reviewed by:    manu
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53604
c55f179fa773acd7b2ece09a7ac6fa440996a09c Lexi Winter 2025-11-06 14:39:26

debug: classified in 02-filenames_wildcards by '.*Makefile'

iwlwifi: fix the gcc build
- Only apply the previously added CWARNFLAGS to `drv.c` instead of the
  whole module.
- Only apply `-Wno-initializer-overrides` to CWARNFLAGS in the clang
  scenario as it's not supported with gcc.

This fixes building the module with gcc and avoids accidentally
introducing tech debt with the module, in the event other issues are
accidentally introduced.

MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=6b627f8858 ("iwlwifi: update Intel's mvm/mld drivers")
Differential Revision:  https://reviews.freebsd.org/D53591
2ec6a2e5f01120ea8d4e667e7773d8b140e40c75 Enji Cooper 2025-11-04 22:52:41

debug: classified in 02-filenames_wildcards by '.*Makefile'

dtrace_pid.4: Document the DTrace PID provider
MFC after:    2 weeks
Differential Revision:  https://reviews.freebsd.org/D51287
9fe88e5503239cb65e503e3b2b7344933a888644 Mateusz Piotrowski 2025-11-06 22:40:41

debug: classified in 02-filenames_wildcards by '.*Makefile'

libsys: install manpage links for jail_attach_jd/jail_remove_jd
This was a minor oversight from their introduction.

Commit message by kevans@.

Fixes:  https://cgit.freebsd.org/src/commit/?id=851dc7f859c23 ("jail: add jail descriptors")
Reviewed by:    kevans
51c5e2b60247b3deb204a1d78ea6edc91a8ac652 Christian S.J. Peron 2025-11-07 01:08:17

debug: classified in 02-filenames_wildcards by '.*Makefile'

release: Comply with Azure Marketplace requirements for aarch64
Azure requires the first 1 MB (2,048 sectors) of the OS disk to remain
empty for VM images:

  https://learn.microsoft.com/partner-center/marketplace-offers/azure-vm-certification-faq#vm-images-must-have-1-mb-of-free-space

Also append the BOOTPARTSOFFSET suffix for aarch64 images, which only
has an ESP partition for booting.

Co-authored-by: Brad Davis <brd@FreeBSD.org>
Approved by:    cperciva
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53628
36095c942031f7f1613eec554f1c7615cbd891fd Li-Wen Hsu 2025-11-07 05:10:44

debug: classified in 02-filenames_wildcards by 'release/.*'

release: Add WITHOUT_QEMU to IMAKE
We have NO_ROOT here, so we need WITHOUT_QEMU to avoid problems.

15.0 candidate.

Reviewed by:    emaste, markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53637
f89aa18848ae9924fbae48ba36e7b6b38bddce4c Colin Percival 2025-11-07 19:56:14

debug: classified in 02-filenames_wildcards by '.*Makefile'

multicast tests: Run in VNET jails
The tests themselves create identically named jails, resulting in
spurious failures when the tests are run in parallel.

MFC after:      1 week
b3b279b801d571919c8bbd5de4325d8819ffd59a Mark Johnston 2025-11-09 13:00:19

debug: classified in 02-filenames_wildcards by '.*Makefile'

geom_zero.4: Document
PR:   https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250593
Reviewed by:    bcr, ziaee
Thanks to:      imp, markj
MFC after:      1 week
Fixes:  https://cgit.freebsd.org/src/commit/?id=3843eba85d98 Add unmapped BIO support to GEOM ZERO
Fixes:  https://cgit.freebsd.org/src/commit/?id=24e1fdcd1a69 Allow to specify the byte which will be used for filling read buffer
Fixes:  https://cgit.freebsd.org/src/commit/?id=565bc101112c Add a very simple and small GEOM class - ZERO
39acb7fd86eda721df402c2f1368b78cede161c3 Mateusz Piotrowski 2025-11-09 14:46:40

debug: classified in 02-filenames_wildcards by '.*Makefile'

libpam: Don't put man8 in the dev package
These are user-facing manpages, but were installed in the runtime-dev
package since the PAM modules use bsd.lib.mk.  Use MANNODEV instead of
MAN to put them in the base runtime package instead.

Fixes:  https://cgit.freebsd.org/src/commit/?id=031e711647c3 ("packages: Install development manpages in the -dev package")
MFC after:      3 days
Reviewed by:    bapt
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53601
9cf02c38e492dd16b70bfd8203b3f1bc6436e574 Lexi Winter 2025-11-10 10:14:42

debug: classified in 02-filenames_wildcards by '.*Makefile'

libpam: Move to a new "pam" package
OpenPAM is a discrete, largely self-contained system component.
Users may not need PAM for many use-cases (e.g. jails, containers),
so move it to its own package.

Use LIB_PACKAGE to create a separate pam-lib package for libpam,
so that applications that support PAM don't need to bring in all
the PAM modules if PAM isn't actually in use.

Add pam to the minimal sets, since this is a core system component that
people expect to be installed.  This means all supported installation
methods will install the PAM modules by default, so don't add explicit
dependencies on the PAM modules from things that use PAM (e.g. runtime),
allowing custom/embedded systems to omit these easily.

This change adds a new package to the system so, until we have a proper
policy on how to handle this in release/stable branches, it should not
be MFC'd.

MFC after:      never
Reviewed by:    des, bapt
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53602
560af6b43e2a86e591e94bea99777630cd5f84fd Lexi Winter 2025-11-10 10:20:33

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

Azure: Fix image names
We need to specify the correct image names -- *.vhdf, not *.vhd -- in
order for them to upload.

15.0 candidate

Reviewed by:    lwhsu
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53684
df84867e8af49437bdc76a0df41d78f5a362cd24 Colin Percival 2025-11-11 02:33:54

debug: classified in 02-filenames_wildcards by '.*Makefile'

dtrace_priv.4: Document the DTrace priv provider
Fixes:        https://cgit.freebsd.org/src/commit/?id=6efcc2f26ab0 Add static tracing for privilege checking
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53630
7bcd3a04c8695d797665289ed48ff2d84afb8ac4 Mateusz Piotrowski 2025-11-06 23:43:19

debug: classified in 02-filenames_wildcards by '.*Makefile'

Commit group #69: pcic.4: Remove stale manual
pcic.4: Remove stale manual

MFC after:      2 days
Reviewed by:    ziaee
Fixes:          https://cgit.freebsd.org/src/commit/?id=31b35400c (pccard: Remove more of the PC Card)
Discussed with: bsdimp, emaste, jhb
Extracted from: https://reviews.freebsd.org/D53434
1d9f2db7c0b981bf5d45e3ef17dda13b953e1c97 Muhammad Moinur Rahman 2025-11-12 17:33:05

debug: classified in 02-filenames_wildcards by '.*Makefile'


pcic.4: Really remove

MFC after:      2 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=1d9f2db7c (pcic.4: Remove stale manual)
Fixes:          https://cgit.freebsd.org/src/commit/?id=31b35400c (pccard: Remove more of the PC Card)
Reported by:    emaste
6aaf184dc4e294779db7133629b7ae953b4da285 Alexander Ziaee 2025-11-12 18:38:10

debug: classified in 03-filenames_plain1 by 'ObsoleteFiles.inc'

debug: moved to build because 'Need to be grouped with 1d9f2db7c0b981bf5d45e3ef17dda13b953e1c97'

queue.3: Add MLINKs for *_EMPTY_ATOMIC
MFC after:    1 week
Fixes:          https://cgit.freebsd.org/src/commit/?id=d2870b8666f2 ("queue: Add atomic variants for *_EMPTY")
1563da200d4d3d56799267f1bbc58933a6c21331 Mark Johnston 2025-11-10 15:30:50

debug: classified in 02-filenames_wildcards by '.*Makefile'

exterror.9 man page
With help from:       mckusick
Reviewed by:    emaste, pauamma_gundo.com
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53589
0eca7fa1c96f779039dd70eeeb0585ac12d153da Konstantin Belousov 2025-11-04 21:45:55

debug: classified in 02-filenames_wildcards by '.*Makefile'

GitHub: Enclose list of commit hashes in parens
Rather than superscript <sup>, for a nicer looking list.

Reviewed by:    vexeduxr
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53000
73a4459f6fc76482ea55c5aacb66136c49fb0892 Ed Maste 2025-07-16 14:55:28

debug: classified in 03-filenames_plain1 by '.github/workflows/'

tpm: fix the conditional for the arm64 build
The intention was clearly that these ACPI bits would be included for
arm64, but MACHINE_ARCH there is aarch64 -- correct the minor typo to
build everything that should be there.

Fixes:  https://cgit.freebsd.org/src/commit/?id=c2e9c5bbf0229 ("tpm: Refactor TIS and add a SPI attachment")
c490bc73eb68556bc44da9893af9be48a360de8c Kyle Evans 2025-11-15 02:22:11

debug: classified in 02-filenames_wildcards by '.*Makefile'

Use install instead of cp to copy bootstrap tools
We need to preserve modification times on bootstrap tools, but `cp -p`
also tries to preserve flags, which fails if OBJROOT is on NFS.  A -N
option was added to cp for this purpose, but trying to use that would
break cross-building on hosts that don't have that option.  The best
remaining option is `install -p`, which we already assume is present.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275030
Reviewed by:    imp, emaste
Differential Revision:  https://reviews.freebsd.org/D53751
f3cf4c0af5af6ce95065a615f998117ec1cd63aa Dag-Erling Smørgrav 2025-11-15 03:18:35

debug: classified in 02-filenames_wildcards by '.*Makefile'

GCE: Add TARGET and FS to image family
GCE image family is meant to be unique per set of image characteristics
so that a user can create instances using the image family instead of the
image name to reliably get a similar image with updated software, but no
other changes.

Without this change, the instances create API would select the most recent
non-deprecated image matching the name, regardless of architecture or
filesystem.
fc83e6c5e1f20087314dc52b63e485db87a98b86 Andrew Jorgensen 2025-11-14 18:06:16

debug: classified in 02-filenames_wildcards by '.*Makefile'

Commit group #70: GCE: Specify the architecture of images
GCE: Specify the architecture of images

Without a specified architecture, a user can attempt to create an
arm64 instance with an amd64 image or vice versa. With the change
the API will prevent that mismatch.
0a8ecca4e3156bcd4ebbfcb24d968e67a3a09434 Andrew Jorgensen 2025-11-14 18:06:52

debug: classified in 02-filenames_wildcards by '.*Makefile'


GCE: Don't .error on unsupported targets

We ingest Makefile.gce even when we're not trying to create GCE images
so we don't want to .error here.  Instead, set GCE_ARCH to a dummy
value which should make the problem clear to anyone who attempts to
create GCE images on an unsupported architecture.

Reported by:    Jenkins
Fixes:          https://cgit.freebsd.org/src/commit/?id=0a8ecca4e315 ("GCE: Specify the architecture of images")
787d09753f70bb382a7cbfba742a612fa54069e6 Colin Percival 2025-11-15 15:02:27

debug: classified in 02-filenames_wildcards by '.*Makefile'

vmimage.subr: Log pkg/local.sqlite if pkgbase
We were doing this in vm_extra_install_packages but VM images without
any extra packages installed would not get this installed.  This
results in a pkgbase system which thinks it doesn't have any packages
installed (even though all the files are right there).

Add a "metalog_add_data ./var/db/pkg/local.sqlite" call to the pkgbase
install code path, and make the call from vm_extra_install_packages
conditional on !PKGBASE.

Reported by:    Michael Dexter
MFC after:      immediately (needed for 15.0-RC1)
10a4f2d016dccb5cfa03800bebc09a9b421c4df7 Colin Percival 2025-11-15 21:29:25

debug: classified in 02-filenames_wildcards by 'release/.*'

Commit group #71: vmimage.subr
vmimage.subr: Enable FreeBSD-base repo if pkgbase

When creating a VM image using pkgbase, create a configuration file in
/usr/local/etc/pkg/repos/FreeBSD.conf which enables the FreeBSD-base
repository.  (This repository is defined in /etc/pkg/FreeBSD.conf as
being disabled by default.)

Reported by:    Mark Millard
MFC after:      immediately (needed for 15.0-RC1)
e0c41af9256b5c5a6c97c85d468ff734e29f1bd5 Colin Percival 2025-11-15 22:00:16

debug: classified in 02-filenames_wildcards by 'release/.*'


vmimage.subr: autoremove -y

Running 'pkg autoremove' without -y results in VM image builds failing
when (bogusly installed) packages are removed.

Fixes:  https://cgit.freebsd.org/src/commit/?id=6a13aeac3c1f ("vmimage.subr: pkg autoremove after pkg install")
MFC after:      immediately (needed for 15.0-RC1)
509dfd369046ee45b724d119c9eed43228fbb894 Colin Percival 2025-11-16 00:39:58

debug: classified in 02-filenames_wildcards by 'release/.*'


vmimage.subr: Don't log missing files from pkgs

When installing "extra" packages (aka those built from the ports tree),
we record everything being installed in METALOG.pkg; the contents of
that file is appended to METALOG before we generate the filesystem.

There are two cases when files recorded in METALOG.pkg will no longer
exist by the time we create the final disk image:
1. If a pkg bug results in false dependencies being installed which
are later removed by "pkg autoremove", and
2. If the pkg we build and install from /usr/ports is older than the
pkg on pkg.freebsd.org, and pkg gets upgraded automatically as part of
installing extra packages.

The ultimate issue in both cases is that there's no mechanism for
removing entries from METALOG when we run 'pkg delete'.

Address this build breakage by checking, line by line, if filesystem
objects mentioned in METALOG.pkg exist before appending them to METALOG.

Fixes:  https://cgit.freebsd.org/src/commit/?id=6a13aeac3c1f ("vmimage.subr: pkg autoremove after pkg install")
MFC after:      immediately (needed for 15.0-RC1)
78fa6965e91ec52c24f602250a9d7ec465b9a6ba Colin Percival 2025-11-16 01:19:50

debug: classified in 02-filenames_wildcards by 'release/.*'


vmimage.subr: Log correct paths into METALOG

Paths all need to start with "./" because that's what newfs wants.

Fixes:  https://cgit.freebsd.org/src/commit/?id=e0c41af9256b ("vmimage.subr: Enable FreeBSD-base repo if pkgbase")
MFC after:      immediately
aa33b6b820e6889a9eb11aa8aec498cb890c589a Colin Percival 2025-11-16 17:12:00

debug: classified in 02-filenames_wildcards by 'release/.*'

depend-cleanup.sh: Remove everything before the last build epoch.
We were deleting the .a files for llvm when it was build in bootstrap,
but this caused us to rebuild all the bootstrap things since the
bootstrap compiler changed, making the build time 25 minutes instead of
77 seconds on one of my systems. Items before the last rebuild from
scratch epoch are no longer relevant because you have to rebuild
entirely, so the incremental conditions that lead up to them being
needed are no longer true.

Sponsored by:           Netflix
Reviewed by:            jrtc27, emaste
Differential Revision:  https://reviews.freebsd.org/D53693
07e6bfeae5a1cf3266d3859e7a10f426b5d301aa Warner Losh 2025-11-16 04:10:07

debug: classified in 03-filenames_plain1 by 'tools/build/'

depend-cleanup.sh: Add commented example and remove one more entry
Although the epoch is 20250805, the push for that wasn't until 20250814,
so we can remove the 20250813 entry for tcopy, per jrtc27. Also, include
an example of changing a shell script to a binary, since that's
deceptively tricky, though the code looks simple, per emaste.

There should be no functional changes here.

Sponsored by:           Netflix
474d4707e607eedb966685a6e8a2471342c0f23c Warner Losh 2025-11-16 17:28:06

debug: classified in 03-filenames_plain1 by 'tools/build/'

zfs: fix aarch64 build after openzfs/zfs@e63d026b9
fb709935d64d5fd4ad21cf8c69faf580760999e4 Martin Matuska 2025-11-17 19:15:33

debug: classified in 02-filenames_wildcards by '.*Makefile'

zfs: unbreak gcc builds after openzfs/zfs@e63d026b9
1b9254f4d4738a90f2a408acfff619818c9493f2 Martin Matuska 2025-11-17 21:17:19

debug: classified in 02-filenames_wildcards by '.*Makefile'

release: Add /boot/loader.conf to some cloudware
These were forgotten during the METALOGization process earlier.

Reviewed by:    markj
MFC after:      immediately (for 15.0-RC2)
Differential Revision:  https://reviews.freebsd.org/D53795
86c63597f2dc7f89268d13a00c0dc7a74cca51d0 Colin Percival 2025-11-18 01:01:30

debug: classified in 02-filenames_wildcards by 'release/.*'

GCE: Add /usr/src and /usr/ports to METALOG
We ship these in order to comply with GCE Marketplace rules about
providing source code and licenses for all the software we ship as
part of images.

Reviewed by:    markj
MFC after:      immediately (15.0-RC2)
Differential Revision:  https://reviews.freebsd.org/D53796
0dbb00733c4a177a9a22d61a627d377d0876ea16 Colin Percival 2025-11-18 01:02:47

debug: classified in 02-filenames_wildcards by 'release/.*'

release: Add a MISSING_METALOGS hack to VMs
The packages for 15.0-RELEASE built without the bug fix needed to make
files created via @sample get properly listed in METALOG.  Fix the
cloudware which contain @sample-using packages by adding the necessary
files to METALOG manually.

This should be reverted after the next full package build, and live on
only in releng/15.0.

Reviewed by:    markj
MFC after:      immediately (15.0-RC2)
Differential Revision:  https://reviews.freebsd.org/D53797
f6e9474ebdd53de5cf487c7bc9e0fa6743881c23 Colin Percival 2025-11-18 01:04:55

debug: classified in 02-filenames_wildcards by 'release/.*'

Commit group #72: release: Remove KDE from dvd1.iso
release: Remove KDE from dvd1.iso

Prior to this commit, we were shipping 2155 MB of packages (from the
ports tree, not counting pkgbase) on dvd1.iso.  Due to the amount of
space required by shipping pkgbase packages *and* distribution sets
on the DVD images, we only have 1696 MB available if we want to fit
into the 4.7 GB limit for DVDs.  Many users have indicated that this
is indeed important.

It is practically impossible to hit this target without removing KDE;
while KDE and its dependencies narrowly fit (1550 MB), we exceed the
limit as soon as we include either of freebsd-doc-all or gnome.  While
we would pick KDE over GNOME (surveys regularly indicate that KDE is
the more widely used of the two), we believe that documentation is the
most important thing to include.

Since removing KDE leaves a bit of extra space, add editors/emacs and
editors/vim.  This takes the 15.0 amd64 dvd1.iso up to 4.689 GB. [1]

Requested by:   adamw [1]
MFC after:      immediately (for 15.0-RC3)
Differential Revision:  https://reviews.freebsd.org/D53800
6cc6beb4c889a049170d0aeaa9c88b9093776d6e Colin Percival 2025-11-18 05:41:47

debug: classified in 02-filenames_wildcards by 'release/.*'


release: Ship DVD with only emacs@nox flavour

Contrary to the claim made in a previous commit, removing KDE and
adding all of vim and emacs results in an image which does not fit
into 4.7 GB; to be specific, it lands at 4.722 GB rather than the
claimed 4.689 GB.  (This descrepancy resulted from doing test DVD
image builds using an out-of-date tree, and became visible when the
15.0-RC3 images were built.)

Limit the emacs packages shipped on the DVD to the "nox" flavor;
this brings the disk image down to 4.407 GB, aka under the 4.7 GB
limit for standard DVDs.

Fixes:  https://cgit.freebsd.org/src/commit/?id=6cc6beb4c889 ("release: Remove KDE from dvd1.iso")
MFC after:      1 day (for 15.0-RC4)
c8cf5a99f82bc52849960e689442421ad5a6d412 Colin Percival 2025-11-23 06:03:03

debug: classified in 02-filenames_wildcards by 'release/.*'

krb5: Use sh to run mk_cmds
Otherwise etcupdate apparently can fail if its private object directory
under /var/db is in a filesystem mounted noexec.  We shouldn't be
building this target at all, but for now, just apply this workaround.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291043
Reviewed by:    ivy, cy, des
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53861
673924122470463dfb9089e12b1b4496783a77b8 Mark Johnston 2025-11-21 17:54:38

debug: classified in 02-filenames_wildcards by '.*Makefile'

Centralize definition of ZFSTOP
Define this helper variable in one place and make it available while
building the entire base system.

Reviewed by:    sjg
Obtained from:  CheriBSD (mostly)
Differential Revision:  https://reviews.freebsd.org/D53790
7980cf5d6f71adef3ca38825f4aa8aa38a59e43c John Baldwin 2025-11-24 15:46:56

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'share/mk/src.sys.mk']'

Use ZFSTOP more broadly
Reviewed by:  brooks
Obtained from:  CheriBSD
Differential Revision:  https://reviews.freebsd.org/D53791
e928afc531e68b7a142ee49d8f7e5c8426d54033 John Baldwin 2025-11-24 15:47:10

debug: classified in 02-filenames_wildcards by '.*Makefile'

agp: Export intel_gtt_read_pte, required by i915kms
This isn't used by modern cards, but is needed for i915kms to load
on a system that has agp as a module not compiled into the kernel.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291214
Reviewed by:    cy
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53906
a87c1e2dd8fc997d6ee603c252c543afe8a4d2a4 Ed Maste 2025-11-25 18:40:35

debug: classified in 02-filenames_wildcards by '.*Makefile'

Commit group #73: mqueue: Export kern_kmq_* symbols from kernel module
mqueue: Export kern_kmq_* symbols from kernel module

linux.ko supports POSIX message queues using these symbols, so they need
to be exported rather than relying on the kernel linker's misfeature of
linking against debug or local symbols (which will soon be disabled by
default).

Reported by:    mav
Reviewed by:    zlei
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53907
e00a781c216cb12603a0a71c9ca293dde3e06250 Ed Maste 2025-11-25 19:06:25

debug: classified in 02-filenames_wildcards by '.*Makefile'


mqueuefs: Export another symbol required by linux.ko

Fixes: https://cgit.freebsd.org/src/commit/?id=e00a781c216c ("mqueue: Export kern_kmq_* symbols from kernel module")
Sponsored by:   The FreeBSD Foundation
eb90470f5f2a0e5c820c47be329423f5c60ca247 Ed Maste 2025-11-26 23:35:35

debug: classified in 02-filenames_wildcards by '.*Makefile'

bsdinstall: Ignore -p[0-9]+ in determining BRANCH
The patch level is not part of the branch per se and should not be
used in constructing the FreeBSD-base.conf file used by bsdinstall.

MFC after:      1 day
d45816f369eb0099fd274fee23a3bf137ee794b1 Colin Percival 2025-11-26 03:33:22

debug: classified in 02-filenames_wildcards by '.*Makefile'

bsd.lib.mk: document INTERNALLIB and PRIVATELIB
Reviewed by:  des, dim, emaste
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D53948
e60861eb41ca9d141a0d967db3ecbe2b2909c300 Konstantin Belousov 2025-11-27 16:41:29

debug: classified in 03-filenames_plain1 by 'share/mk/'

Export t4_tom's symbols for other offload modules
This allows iw_cxgbe.ko, cxgbei.ko, nvmf_che.ko, etc. to be loaded when
debug.link_elf_leak_locals and debug.link_elf_obj_leak_locals are
disabled.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291250
MFC after:      1 week
Sponsored by:   Chelsio Communications
dcab3c4f496414309371c4d671b35b3528419600 Navdeep Parhar 2025-11-27 19:48:50

debug: classified in 02-filenames_wildcards by '.*Makefile'

cxgbe(4): Delete leftovers from $FreeBSD$ removal
No functional change.

MFC after:      1 week
Sponsored by:   Chelsio Communications
34d66b0c96d50cfa3e33316a0c0ffab152385461 Navdeep Parhar 2025-11-27 19:50:25

debug: classified in 02-filenames_wildcards by '.*Makefile'

Remove TableGen objects from libllvm, fixing bad option registrations
In 986e05bc2a18 I revamped the build for all the llvm subprojects. Among
others I added objects under contrib/llvm-project/llvm/lib/TableGen, but
I missed that upstream explicitly removes these when building the shared
llvm library:

https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm/tools/llvm-shlib/CMakeLists.txt#L23

In 2e47f35be5dc I converted libllvm to a shared library. From that point
onwards, some of the global command line option objects registered in
llvm/lib/TableGen/Main.cpp conflict with similar objects in tools like
llvm-cov, llvm-as, etc.

This results in an error when running these tools: "CommandLine Error:
Option 'o' registered more than once!", followed by a fatal exit.

Fix this by removing the TableGen objects from libllvm. Note that we no
longer install any of the tblgen binaries, these are only used during
buildworld, and then in a statically linked form.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291233
MFC after:      3 days
9978553d0199e7ec0bdd1c44fc7f6c7b0c11e43b Dimitry Andric 2025-11-28 18:12:01

debug: classified in 02-filenames_wildcards by '.*Makefile'

tools: remove WITH_LIBSOFT option
This is only used for armv6, which as been removed since FreeBSD 15.

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
37c650b4ee2e098b7c8b3be117c8bb555baf9f2e Minsoo Choo 2025-11-29 00:13:42

debug: classified in 03-filenames_plain1 by 'tools/build/'

release: match comment for if statement
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
96265d5ea907d75709f419b01b44c60337ae7fcc Minsoo Choo 2025-11-29 00:17:34

debug: classified in 02-filenames_wildcards by '.*Makefile'

man/man3: add stdbit.3
This is the overview man page for the <stdbit.h> functions.

Reviewed by:    pauamma@gundo.com, adrian
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53658
d39e310c7d6a42b459aa7919310e3c99cc478d50 Robert Clausecker 2025-11-18 17:33:04

debug: classified in 02-filenames_wildcards by '.*Makefile'

libc/stdbit: add man pages for stdbit functions
This adds man pages for each group of functions in <stdbit.h>.
The man pages have cross references to one-another.
Cross references from external man pages to these will be added
in a later commit.

Reviewed by:    pauamma@gundo.com, kib
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53659
d790b16bbf0c3055ef00200d01659dfb3c0e5e5e Robert Clausecker 2025-11-18 17:31:07

debug: classified in 02-filenames_wildcards by '.*Makefile'

libc: Fix TESTSDIR for new stdbit tests
Otherwise the directory created by etc/mtree/BSD.tests.dist, which is
where these belong, and referred to by the generated Kyuafile for
/usr/tests/lib/libc (via stdbit's existence in TESTS_SUBDIRS), ends up
empty with no Kyuafile, which is an error for kyua.

Reported by:    kp
Fixes:          https://cgit.freebsd.org/src/commit/?id=2fb8cbc6ef1b ("libc/tests: add stdbit test framework and unit tests")
5f529f9e292a30c065c316ed5fd0d23e07b26e5c Jessica Clarke 2025-12-01 14:06:21

debug: classified in 02-filenames_wildcards by '.*Makefile'

libuvmem: provide man page mostly as a pointer to vmem(9)
Reviewed by:  bnovkov, markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D27220
7295aeaf5f5cbbbb16d4992b13b08bce09f03609 Konstantin Belousov 2025-10-15 22:10:16

debug: classified in 02-filenames_wildcards by '.*Makefile'

Commit group #74: share/mk: Include libbnxtre entry in bsd.libnames.mk
share/mk: Include libbnxtre entry in bsd.libnames.mk

Add libbnxtre entry in bsd.libnames.mk file.

MFC-After:      3 days
Reviewed-by:    sumit.saxena@broadcom.com
Differential-Revision: https://reviews.freebsd.org/D49603
b42fda6be3fde001cdbe1623cc89b1dc9faf1b93 Sumit Saxena 2025-12-03 11:21:10

debug: Commit manually moved from "unknown" to "build".


ofed: Define SUBDIR_DEPEND_libbnxtre

Fixes:  https://cgit.freebsd.org/src/commit/?id=b42fda6be3fd ("share/mk: Include libbnxtre entry in bsd.libnames.mk")
962ad7c1984decda1f16b079cd09ca9310e7f7ce Mark Johnston 2025-12-03 14:21:07

debug: classified in 02-filenames_wildcards by '.*Makefile'

mt76: set appropriate CONFIG options for the module build
Always set CONFIG_ARCH_DMA_ADDR_T_64BIT as it is true for all
architectures we support.  Add an option for CONFIG_NET_MEDIATEK_SOC_WED,
which we currently do not yet support.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
87aa494dfca73204516799033821ab1db184933f Bjoern A. Zeeb 2025-11-25 17:16:49

debug: classified in 02-filenames_wildcards by '.*Makefile'

Update path for TI Am335x device trees
Since Linux DTS has been starting to using vendor subdirs we need
to update this aswell.

Approved by: manu (mentor)
Differential revision: https://reviews.freebsd.org/D53890
8f0b21089483b2caa99e41211ef55a59e67a709e Oskar Holmlund 2025-12-05 18:32:50

debug: classified in 02-filenames_wildcards by '.*Makefile'

release: Include comms/usbmuxd to DVD to ensure ipheth(4) works
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291370
Reviewed by:    emaste, aokblast, dch
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54074
90eda629964cbe4c2472aa3f1b8a427e60e78834 Li-Wen Hsu 2025-12-05 23:57:48

debug: classified in 02-filenames_wildcards by 'release/.*'

ath11k: add new files to module Makefile
Add the new files to the module Makefile as well, so they do not get lost.
c68126ec2594a80ac095e5ce9e6138709db75519 Bjoern A. Zeeb 2025-12-06 10:24:29

debug: classified in 02-filenames_wildcards by '.*Makefile'

locale: make install
Reviewed by:  bapt
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53962
36cfa8093d25f8a5b598bd8ae74d7cbaafdc1879 Jose Luis Duran 2025-12-06 12:20:18

debug: classified in 02-filenames_wildcards by '.*Makefile'

locale: Update to UCD 17.0.0
Starting with Unicode 17.0.0, the zipped versions of the data files are
only published in https://www.unicode.org/Public/<version>/ucd/

https://www.unicode.org/Public/zipped/ReadMe.txt

Reviewed by:    bapt
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53982
13ae4904ad7d4677a8d894c91362f2d2479965b6 Jose Luis Duran 2025-12-06 12:20:19

debug: classified in 02-filenames_wildcards by '.*Makefile'

locale: Update Unicode to CLDR 48
Reviewed by:  bapt
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53983
d20da5c9736c3d93fc96e5e1c4dc40bed47bc419 Jose Luis Duran 2025-12-06 12:20:20

debug: classified in 02-filenames_wildcards by '.*Makefile'

libsysdecode: Use consistent include path
mkioctls should look at the same set of headers as mktables does.

MFC after:      1 week
Fixes:          https://cgit.freebsd.org/src/commit/?id=139d114acc7b ("libsysdecode use MKTABLES_INCLUDEDIR")
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    sjg
Differential Revision:  https://reviews.freebsd.org/D54106
c51876a107310984ba3a31b088caebcfd86a9844 Dag-Erling Smørgrav 2025-12-07 13:06:41

debug: classified in 02-filenames_wildcards by '.*Makefile'

zfs: unbreak build after 89f729dcc merge
Link zfsd against spl and pthread
2f6c77cd6f08b9bb646e038e3211b0ad21a2c012 Martin Matuska 2025-12-08 12:21:26

debug: classified in 02-filenames_wildcards by '.*Makefile'

libc/string: put source files list one item per line
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54066
98b7cca0186dddfc775582a32b39052d05840858 Konstantin Belousov 2025-12-03 23:51:15

debug: classified in 02-filenames_wildcards by '.*Makefile'

nvmf_che: Add a manual page for the Chelsio NVMe/TCP PDU offload driver
Sponsored by: Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D53764
e2b8be511e9064de29a847e7c1cfc9200e69394b John Baldwin 2025-12-09 15:57:44

debug: classified in 02-filenames_wildcards by '.*Makefile'

zfs: Reuse ZINCDIR variable from kmod.mk
Reviewed by:  brooks, imp
Differential Revision:  https://reviews.freebsd.org/D54147
701e4b36b4510c8cf26155ec3ab5aca9b7ba9406 John Baldwin 2025-12-09 16:00:20

debug: classified in 02-filenames_wildcards by '.*Makefile'

Update share/mk files from bmake
Update to the latest makefiles etc from bmake.
Mostly this just replaces sjg license with an SPDX tag.

There are also some improvements to meta2deps* and optimizations
to leverage POSIX shell features in some target scripts.
Default isPOSIX_SHELL to ':' in sys.mk to enable these.

Use :sh1 in M_type if possible.

bsd.progs.mk has diverged too much to touch beyond making the
SPDX tag update.

Reviewed by:    stevek
Differential Revision:  https://reviews.freebsd.org/D54150
9bbb08f9055d03d41597abc9312620d0ab50444c Simon J. Gerraty 2025-12-10 05:06:31

debug: classified in 03-filenames_plain1 by 'share/mk/'

Cross-reference all of uart(4), tty(4) and termios(4)
Add a BUGS subsection about why, in the vain hope that somebody
improves the situation.
edd982b95372bee56de4bfe3a61873a8fed254ae Poul-Henning Kamp 2025-12-14 22:09:48

debug: classified in 02-filenames_wildcards by '.*Makefile'

options: describe WITH_IPFILTER_IPFS
Add a description for WITH_IPFILTER_IPFS.

Fixes:          https://cgit.freebsd.org/src/commit/?id=0ff0c19e7f70 ("ipfilter: Disable ipfs(8) by default")
c112ad75605ccdfcb8bbce2f57b0e7a077f057f8 Brooks Davis 2025-12-15 13:50:56

debug: classified in 03-filenames_plain1 by 'tools/build/'

dtb: build Radxa Cubie A5E DTB
Reviewed by:  mhorne
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1916
1291523fde5f953f1c12b7ab4e15bc8b4cd4c3d2 Martin Filla 2025-12-11 20:40:10

debug: classified in 02-filenames_wildcards by '.*Makefile'

Internal organizational stuff

mfc-candidates: Improve branch detection and repository handling
- Use git to detect the latest stable branch rather than hardcoding it.
- Handle the case where the script is run outside a src or ports repository.
- Fix a pattern to match .git instead of *git.

Reviewed by:    andrew, releng (emaste)
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52681
e57d72a7f35c3fc80dc9ac744056b2354b1be741 Joseph Mingrone 2025-09-22 18:18:20

debug: classified in 03-filenames_plain1 by 'tools/tools/git/'

calendar.freebsd: Update calendar for tiga@
da25573ee07f7f36bd0bd90820f1c5e359cd9d5a Tiago Gasiba 2025-09-30 20:42:08

debug: classified in 03-filenames_plain1 by 'usr.bin/calendar/calendars/calendar.freebsd'

mailmap: Normalize jlduran author data
Reported by:  emaste (srcmgr)
194dadb5fcf436b5719db4c82653474313206ac0 Jose Luis Duran 2025-10-17 16:35:42

debug: classified in 03-filenames_plain1 by '.mailmap'

calendar: Add myself (jlduran) to calendar.freebsd
The bank no longer uses this information as a security question.
6812958929245d7226b75aae4541d39d53948f3c Jose Luis Duran 2025-03-19 19:00:49

debug: classified in 03-filenames_plain1 by 'usr.bin/calendar/calendars/calendar.freebsd'

mfc-candidates.lua: add -F fmt option
Add -F fmt option to give a free format string to git show --pretty=.
It can be used, for example, as:
  ./tools/tools/git/mfc-candidates.lua -F "%h %cD %s"
to see which commits have passed the minimum 3 days of waiting before
MFCing, or to see which group of commits belong together.

MFC after:      3 days
Reviewed by:    emaste
Differential Revision: https://reviews.freebsd.org/D53172
af445e1dd95d43c011f377ea6e6618637fecc61c Bjoern A. Zeeb 2025-10-17 16:57:41

debug: classified in 03-filenames_plain1 by 'tools/tools/git/'

bsd-family-tree: add OpenBSD 7.8 release
cdc1990393084fb00a85abc7557f9a92a2059ea2 Maxim Konovalov 2025-10-22 03:05:23

debug: classified in 03-filenames_plain1 by 'share/misc/bsd-family-tree'

committers-src: add self
With big thanks to Mark Johnston for mentoring me!

Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D53258
5f2df8f83128adbd2cf22050ca078f2e46bbb227 Robert Clausecker 2025-10-22 12:41:36

debug: classified in 03-filenames_plain1 by 'share/misc/committers-src.dot'

MAINTAINERS: Add myself to ufshci
Sponsored by:           Samsung Electronics
Reviewed By:            imp (mentor)
Differential Revision:  https://reviews.freebsd.org/D53253
131dc2b7ad1b147b3b2775090f9eb55a7c2112ba Jaeyoon Choi 2025-10-23 03:09:38

debug: classified in 03-filenames_plain1 by 'MAINTAINERS'

git-arc: Fix quoting of review titles
This really only matters if a commit title has multiple consecutive
spaces, which itself is probably an accident.

Reported by:    des
be27c64b3a0150534252a66263703283a79c39a0 Mark Johnston 2025-10-29 16:48:18

debug: classified in 03-filenames_plain1 by 'tools/tools/git/'

bsd-family-tree: add macOS 26
Sponsored by: tipi.work
c6e02892bbca1237546e3943c0971768822e1745 Sergey A. Osokin 2025-10-31 20:25:11

debug: classified in 03-filenames_plain1 by 'share/misc/bsd-family-tree'

share/doc/llvm: Move to the clang package
This change moves files between packages so, until we have a proper
policy on how to handle this in release/stable branches, it should
not be MFC'd.

MFC after:      never
Reviewed by:    manu, dim
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53608
6a12f58434e0f008aa9a1a8f8e4e1f78a15f13fc Lexi Winter 2025-11-06 14:33:05

debug: Commit manually moved from "unknown" to "internal".

BSD family tree: reduce OpenBSD-NetBSD crowding
OpenBSD was nearly against the NetBSD entries, especially in their
earlier lineages.  Now line up "OpenBSD" with | at the 'e'.

Reviewed by:    gordon (in person)
Differential Revision:  https://reviews.freebsd.org/D53509
09aeca28dd7583bb0b9b9d3a38dcc40cdbd870e3 David E. O'Brien 2025-10-31 22:10:20

debug: classified in 03-filenames_plain1 by 'share/misc/bsd-family-tree'

bsd-family-tree: Re-center OpenBSD line
Commit 09aeca28dd75 ("BSD family tree: reduce OpenBSD-NetBSD crowding")
moved OpenBSD releases over 2 spaces.  Move the line through OpenBSD
releases over as well.

Reviewed by:    obrien
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53635
1821cf482ff128b08bd65807e1f7aad7eb873e0b Ed Maste 2025-11-07 14:58:50

debug: classified in 03-filenames_plain1 by 'share/misc/bsd-family-tree'

hifn.4: Really remove
3cf85a69ae7dd909de30ca2b6c95bd2434dc3ce6 Alexander Ziaee 2025-11-12 18:16:25

debug: classified in 03-filenames_plain1 by 'ObsoleteFiles.inc'

Add pkgbase signing keys for FreeBSD 15
These keys were generated by cperciva@ using the AWS Key Management
Service.  They will not be used for signing anything other than
FreeBSD 15.x pkgbase repositories.

Keys will be generated for FreeBSD 16 at a later date, and likely in
a different way.

With hat:       re
MFC after:      8 hours (needed in 15.0-RC1)
Differential Revision:  https://reviews.freebsd.org/D53768
b05f38262b58c1e82ad5f076f2b0b9fe08ddc98b Colin Percival 2025-11-15 00:54:17

debug: Commit manually moved from "unknown" to "internal".

Add backup pkgbase signing key held by security-officer.
This key was generated by gordon@ (aka security-officer@) on an offline
system as a backup key should anything happen to the AWS Key
Management Service that is currently in use for signing pkgbase
repositories for FreeBSD 15.x.

Reviewed by:    cperciva
With hat:       so
12ec49d8fac2eacd40ad235bf73cc585736ee77a Gordon Tetlow 2025-11-22 08:35:52

debug: classified in 03-filenames_plain1 by 'share/keys/'

Commit group #75: git-arc: Don't require devel/arcanist
git-arc: Don't require devel/arcanist

Instead of invoking just “arc”, which requires devel/arcanist, which
conflicts with archivers/arc, invoke the underlying script installed by
devel/arcanist-lib.

Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53942
b3e53f9fff11e2e6289f5c69ad08f5acd727abd6 Dag-Erling Smørgrav 2025-11-27 18:07:15

debug: classified in 03-filenames_plain1 by 'tools/tools/git/'


git-arc: Fix existence check

Fixes:          https://cgit.freebsd.org/src/commit/?id=b3e53f9fff11 ("git-arc: Don't require devel/arcanist")
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53942
257da67d2808b7abf6c53569532ccf26db3008b0 Dag-Erling Smørgrav 2025-11-27 19:48:31

debug: classified in 03-filenames_plain1 by 'tools/tools/git/'


git-arc: Fix failure to call arc() function

As of b3e53f9fff11, git-arc attempted to call the internal shell
function, arc(), using env(1).  However, because env(1) does not call
shell functions, it actually attempted to run the arc utility.  This led
to errors:

    % git arc create -r xxx HEAD
    env: arc: No such file or directory
    git-arc: could not create Phabricator diff

This change removes the unnecessary use of env(1), so the arc() function
is correctly called.

Reviewed by:    markj
Fixes:          https://cgit.freebsd.org/src/commit/?id=b3e53f9fff11 ("git-arc: Don't require devel/arcanist")
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53972
6049f1bc210653b126974961b29d6eb71a6c6709 Joseph Mingrone 2025-11-27 22:46:43

debug: classified in 03-filenames_plain1 by 'tools/tools/git/'

bsd-family-tree: add FreeBSD 15.0
7b44ab1c6abe106a44604a8504edca0e57ec1c42 Maxim Konovalov 2025-12-02 03:44:42

debug: classified in 03-filenames_plain1 by 'share/misc/bsd-family-tree'

committers-src: add myself (tpearson@)
Add myself (tpearson@) as a new src committer with jhibbits@ as my mentor.

Approved by: jhibbits(mentor)
84fd37f309585742e142d3e82f8b9067ad2eb2b1 Timothy Pearson 2025-12-02 23:36:04

debug: classified in 03-filenames_plain1 by 'share/misc/committers-src.dot'

mailmap: add my Raptor Engineering address
Approved by: jhibbits(mentor)
812bcb7cabbb245b2d4496ad55bdfa70f9c587db Timothy Pearson 2025-12-02 23:32:53

debug: classified in 03-filenames_plain1 by '.mailmap'

git-arc: Add patch -b option
With the new patch -b option, switch to a new branch before applying
changes from Differential revisions.

While here, do some minor clean-up:
- Fix a check to determine whether `arc patch` ran successfully.
- Always ensure at least one argument is supplied to `git arc patch`.

Sponsored by:   The FreeBSD Foundation

Reviewed by:    imp, markj
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D54024
97939604f447de0d06e6cc2c15f19c6f7be30cd2 Joseph Mingrone 2025-12-01 23:23:37

debug: classified in 03-filenames_plain1 by 'tools/tools/git/'

misc: retire tcberner from portmgr
Hat:  portmgr
8102307c7bf76b94dd452e479670210d53331b3a Rene Ladan 2025-12-04 21:26:06

debug: classified in 03-filenames_plain1 by 'share/misc/organization.dot'

prepare-commit-msg: Add missing tabs to Fixes: and Event:
Although these line up when prefixed with "# ", once the comment prefix
is deleted they no longer do. Add an extra tab to each to compensate,
just like "Obtained from:".
97a24b350c4b9400749e5b199d563e2ed3dfbe6d Jessica Clarke 2025-12-08 13:26:00

debug: classified in 03-filenames_plain1 by 'tools/tools/git/'

committers-src: add myself (jrhall@)
Add jrhall@ (myself) as new src committer with imp@ as
mentor.

Reviewed By:    imp (mentor)
Approved by:    imp (mentor)
Differential Revision: https://reviews.freebsd.org/D53934
2059040493fb3f76cd1f06350fd4534a71a1f83c John Hall 2025-11-26 16:50:09

debug: classified in 03-filenames_plain1 by 'share/misc/committers-src.dot'

Testing

tests/netinet: rename and extend sendto-IP_MULTICAST_IF.c
Rename this test helper app to multicast-send.c.  Extend it to send
from/to arbitrary addresses and arbitrary payload so that it can be used
in more test scenarios.
36f2eda251713d4d38f41cf269876b069e3897ff Gleb Smirnoff 2025-09-30 02:34:13

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

Commit group #76: tests/netinet: extend IPv4 multicast testing framework
tests/netinet: extend IPv4 multicast testing framework

Provide a helper program multicast-receive.c that joins arbitrary group on
arbitrary specified interface and receives a single datagram and prints it
out.

In multicast.sh provide a template with two jails connected by two
interface pairs, so that we can check sends/receives in presence of
multiple interfaces.

Compose a few basic tests to check legacy and new IP_ADD_MEMBERSHIP and
MCAST_JOIN_GROUP.
d0c8a0b3e6fc5372428eb4fddcd4f8c65b5b0ee0 Gleb Smirnoff 2025-09-29 23:23:28

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


tests/netinet: add a few missing atf_checks in multicast.sh

Fixes:  https://cgit.freebsd.org/src/commit/?id=d0c8a0b3e6fc5372428eb4fddcd4f8c65b5b0ee0
a733ea831a00d4c0ee4b67824c9ac4e5ba82be08 Gleb Smirnoff 2025-10-02 13:22:43

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

netinet6 tests: accept an RA on an interface without /64 address
Excercise the code introduced in 9e792f7ef729
("sys/netinet6: Fix SLAAC for interfaces with no /64 LL address").

Sponsored by:   Rubicon Communications, LLC ("Netgate")
c23b64fba9fb9715397a9e6ecbae670ee791dce9 Kristof Provost 2025-10-02 11:47:33

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

bitstring_test: fix bit_nclear/bit_nset tests for last iteration
Also convert nearby ATF_REQUIRE_MSG to ATF_REQUIRE_INTEQ_MSG.

Reported by:    GCC -Wint-in-bool-context
Reviewed by:    asomers, des
Differential Revision:  https://reviews.freebsd.org/D45893
54b24b9da8be70192b7baaeae8fc26fda6581222 Ryan Libby 2025-10-02 16:40:16

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

tests/ipfw: Update regression tests to match new 32-bit size rule numbers
Commit 4a77657cbc01 increased the size of several opcodes to ipfw_insn_u32.

Approved by:    ae
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D52876
01d5a6f30ce8f5006bd9d5528a487ef4d79c48c3 Olivier Cochard 2025-10-03 10:56:27

debug: classified in 02b-filenames_wildcards2 by '['sbin/.*/tests/.*', 'tests\\/.*']'

fcntlflags_test: Port to atf-c(3)
Reviewed by:  kib
Differential Revision:  https://reviews.freebsd.org/D52720
5c331f449e9ca549d03ae1a3f50ac0e5306b488e John Baldwin 2025-10-03 16:43:18

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

stress2: Add syzkaller reproducers
257a750c60f14f83dff7bf5d2189089b1e74870b Peter Holm 2025-10-04 08:20:37

debug: classified in 03-filenames_plain1 by 'tools/test/'

stress2: Do not try to open a fifo
c16f53782c8b8fc8f1452f797b96743386079f1f Peter Holm 2025-10-04 08:21:02

debug: classified in 03-filenames_plain1 by 'tools/test/'

tail: Tweak follow_rename test case
Add a brief sleep to give tail time to start following the file before
we rename it.

MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D52887
a9c72543d287afa8dd30bec0f49873e88057c192 Dag-Erling Smørgrav 2025-10-07 16:23:18

debug: classified in 02b-filenames_wildcards2 by 'usr.bin/.*/tests/.*'

cp: Simplify sameness checks
Sponsored by: Klara, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D52926
95de78614a57733807c28c05125ed0636309d88b Dag-Erling Smørgrav 2025-10-07 16:23:39

debug: classified in 02b-filenames_wildcards2 by 'bin/.*/tests/.*'

ln: Simplify sameness checks
Sponsored by: Klara, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D52927
18997fb9eca651a7ef13e6755a4d2cdd3ddede10 Dag-Erling Smørgrav 2025-10-07 16:23:43

debug: classified in 02b-filenames_wildcards2 by 'bin/.*/tests/.*'

tarfs: Simplify sameness checks
Sponsored by: Klara, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D52928
1b0fce2944e3ff570b11de05c6a03977ee5b95e6 Dag-Erling Smørgrav 2025-10-07 16:23:48

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

tests/netinet: fix so_reuseport_lb_test flakyness
Stop the threads before exiting test body.  Otherwise there is a chance
threads would use the softc that is stored on the main thread stack after
it is destroyed and the test would fail.  Stop the threads in the reverse
order, so that listener is stopped after all connectors are stopped.

Tested by:      olivier
d9c94e5eefc0d1ed772cc3af15d92f1960ba73a6 Gleb Smirnoff 2025-10-07 21:02:29

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

tests/aio: Add support for larger max_buf_aio to vectored_big_iovcnt test
Fix a test failure that occurs when max_buf_aio exceeds 31, as the
calculated buffer size exceeds the 16 KB memory disk device. Increase
the MD device size to 1 MB to prevent truncation.

Rename MD_LEN to DEVICE_IO_LEN for clarity and add a more
descriptive error message.

Reviewed by:    asomers
Approved by:    asomers
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D52914
2e09ec72417c6c2927185f4d63faea9ac7926c2b Olivier Cochard 2025-10-07 21:45:35

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

tests/mac_portacl: restore sysctls after modification
While here, use 'required_kmods' instead of ad-hoc
checks.

Signed-off-by: Siva Mahadevan <me@svmhdvn.name>

Reviewed by:    markj
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1855
170aac93479467334062813c1175a80200400b79 Siva Mahadevan 2025-07-15 16:45:24

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

tests/mac_ipacl: restore sysctls after modification
While here, use 'required_kmods' instead of ad-hoc
checks.

Signed-off-by: Siva Mahadevan <me@svmhdvn.name>

Reviewed by:    markj
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Pull request:   https://github.com/freebsd/freebsd-src/pull/1856
79042fd7ed4187d2a74e37618f6fd77f448ca353 Siva Mahadevan 2025-07-15 16:45:24

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

cryptocheck: Be friendlier when testing software crypto backends
- Fail loudly if we can't change the kern.crypto.allow_soft sysctl.
- Add more drivers to the list.

MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D52490
e63bf6aa523eb9a865b7ce34d01e75a13818b367 Mark Johnston 2025-10-08 15:24:12

debug: classified in 03-filenames_plain1 by 'tools/tools/crypto/cryptocheck.c'

Commit group #77: pf tests
pf tests: make syncookie:loopback more robust

Give the background nc process a bit of time to start before we attempt to
connect to it.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
98c1bf371c5dd613646f53fdc4796c366104f844 Kristof Provost 2025-10-08 07:56:24

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


pf tests: give inetd some time to start

Give inetd time to start rather than immediately trying to connect to it.
Make the tests a little more robust.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
c700393934285ea84696a17bd951b20e439edfc3 Kristof Provost 2025-10-09 07:28:28

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


pf tests: give rules_counter:4G more time

Sponsored by:   Rubicon Communications, LLC ("Netgate")
8217075f9ecb12fa9a4cf746541b9d3e1dc57e79 Kristof Provost 2025-10-09 07:29:14

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


pf tests: fix killstate:v6

Allow neighbor discovery/advertisement packets, but don't create state
for them. This ensures that the destination jail can respond to our
echo requests, and that we don't create extra states that would confuse
the test.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
a82347584ba708c4d20b25b2ed13794905ff639f Kristof Provost 2025-11-26 16:08:15

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


pf tests: fix syncookie:loopback_v6

Use 'no_dad' when assigning a v6 address, because otherwise we may try
to use it before it becomes usable.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
8cf099b4fcb803d995192851f02294e0ef329073 Kristof Provost 2025-11-26 16:26:28

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


pf tests: explicitly set the source address in killstate:v6

We've seen failures due to pft_ping.py selecting the wrong source address.
Explicitly use 2001:db8::1 as source, to match the tests's expectations.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
685d5860aceac1c01bc34ec1ca5d726b88cb6e27 Kristof Provost 2025-11-19 13:35:59

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


pf tests: pflog:{rdr_action,state_max} disable IPv6

Turn off IPv6 on all interfaces to avoid having multicast listener
reports generated that might turn up in out pflog output, disrupting
the test.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
39cbfc78b50c2b940d131834c8a5fb72442358c0 Kristof Provost 2025-11-26 17:20:24

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

pf tests: add missing atf_test_case lines for nat tests
The lack of these lines means we don't call the cleanup function.
That's not as bad as it could be, because these tests are nested in a jail by
Kyua, so most of the cleanup work (destroying jails and interfaces) is done when
the parent jail goes away, but it's still better to have these lines.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
8a6bfa0455bfd4b77cb71d229b9dfca031b6703f Kristof Provost 2025-10-10 15:12:36

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

pf tests: verify checksum offload handling
Disable epair's checksum offload on one interface in a nat test, to ensure
that pf does the right thing in scenarios where one interface offloads checksum
handling and one does not.

We trust the TCP (or ICMP) checksum verification code to drop the packet if pf
does it wrong, which will cause the test case to fail.

Suggested by:   tuexen
Sponsored by:   Rubicon Communications, LLC ("Netgate")
1735d66a9c5b08b59a0323d3825d2e7dacd13064 Kristof Provost 2025-10-10 15:43:28

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

realpath: Additional test cases
* Passing NULL should result in EINVAL
* Passing an empty path should result in ENOENT
* Failure with a non-null buffer should leave a partial result.  As
  pointed out in a comment in the test case, this reveals a discrepancy
  between the documentation and reality.

Sponsored by:   Klara, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53024
f3386dfeb429faaa30a915a4a422a25e07c8bf39 Dag-Erling Smørgrav 2025-10-13 11:53:04

debug: classified in 03-filenames_plain1 by 'lib/libc/tests/'

mdconfig_test: determine page size at run time rather than assuming 4k
Sponsored by: Netflix
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D52736
24458c243162db4170ba9404d7cb5411af09ab31 Chuck Silvers 2025-10-13 16:07:43

debug: classified in 02b-filenames_wildcards2 by 'sbin/.*/tests/.*'

mmap_test: determine page size at run time rather than compile time
Sponsored by: Netflix
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D52735
d5cfca008d63b3b9220ecbb152a36efa80423c31 Chuck Silvers 2025-10-13 16:13:22

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

fusefs: fix intermittency in the BadServer.ShortWrite test
This test implicitly depended on the order in which two threads
completed.  If the test thread finished first, the test would pass.  But
if the mock file system thread did, it would attempt to read from an
unmounted file system, and fail.  As a result, the test would randomly
fail once out of every several thousand executions.  Fix it by telling
the mock file system's event loop to exit without attempting to read any
more events.

Reported by:    Siva Mahadevan <me@svmhdvn.name>
MFC after:      1 week
Reviewed by:    Siva Mahadevan <me@svmhdvn.name>
Differential Revision: https://reviews.freebsd.org/D53080
d1bd541b385d49d2ae3a8bad9df72779b606e208 Alan Somers 2025-10-14 02:18:48

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

tests/multicast: fix test flakyness
The receiver is run as a background job, so we need a wait loop to
make sure it has been fully functional before launching sender.

Reported by:    Siva Mahadevan <me svmhdvn.name>
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290210
c8359b327104325af6dc97202e21d6131acb0573 Gleb Smirnoff 2025-10-14 23:43:15

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

tests/carp: kill routed(8) before destroying interfaces
Otherwise routed logs a warning:

"MCAST_LEAVE_GROUP ALLROUTERS: Can't assign requested address"

that may be misinterpreted as a problem.
8596810d02a1e361e0312d116339aa106aca4b19 Gleb Smirnoff 2025-10-15 18:44:54

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

openssl: add a simple smoke test for the legacy provider
This change adds a simple smoke test for the legacy provider to ensure
that the provider doesn't break in the future when performing updates.

This is not a functional or system test; the OpenSSL test suite does a
much better job at doing this than we can.

MFC after:              1 week
Differential Revision:  https://reviews.freebsd.org/D53045
3b6442370a17c57c4c290b9a8e1e8328da820705 Enji Cooper 2025-10-11 20:45:20

debug: Commit manually moved from "unknown" to "tests".

stress2: Added a regression test
86db3c735dd999f75eab54d848fb8402e6689c80 Peter Holm 2025-10-17 08:04:48

debug: classified in 03-filenames_plain1 by 'tools/test/'

quot: Add tests
To facilitate the task, we change the comparison function so that users
with equal filesystem usage are sorted by UID, and add an undocumented
option that prevents quot from replacing numerical UIDs with names.  We
also switch from getfsfile(3) to getmntpoint(3) so the first line is
identical regardless of whether we pass quot a mountpoint or a device.

Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53133
aa870a1935bccb66e02c4c31630706768a3e7d74 Dag-Erling Smørgrav 2025-10-17 11:55:12

debug: Commit manually moved from "unknown" to "tests".

Commit group #78: glabel: add a basic test
glabel: add a basic test

Reviewed by:    asomers
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D53178
e868a2026635c0e083bd6201645add811a7005ba Brad Davis 2025-10-17 19:55:10

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


Add glabel tests to mtree

Fixes:          https://cgit.freebsd.org/src/commit/?id=e868a2026635: glabel: add a basic test.
Submitted by:   Siva Mahadevan
Pointy hat to:  brd
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1877
f66068d937e6f278099f583447e9e305e620d5d1 Siva Mahadevan 2025-10-18 02:50:55

debug: classified in 03-filenames_plain1 by 'etc/'

debug: moved to tests because 'Need to be grouped with e868a2026635c0e083bd6201645add811a7005ba'

stress2: Added kqueuex(KQUEUE_CPONFORK) test scenarios
d7ff2ded474871d69f19b0d03deed5f66d78435e Peter Holm 2025-10-18 07:58:50

debug: classified in 03-filenames_plain1 by 'tools/test/'

inet_net_test: Use int to hold expected return values from inet_net_pton
GCC warns about the sign mismatch in comparisons:

lib/libc/tests/net/inet_net_test.cc: In member function 'virtual void {anonymous}::atfu_tc_inet_net_inet4::body() const':
lib/libc/tests/net/inet_net_test.cc:86:17: error: comparison of integer expressions of different signedness: 'int' and 'const unsigned int' [-Werror=sign-compare]
   86 |                 ATF_REQUIRE_EQ(bits, addr.bits);
      |                 ^~~~~~~~~~~~~~
lib/libc/tests/net/inet_net_test.cc: In member function 'virtual void {anonymous}::atfu_tc_inet_net_inet6::body() const':
lib/libc/tests/net/inet_net_test.cc:205:17: error: comparison of integer expressions of different signedness: 'int' and 'const unsigned int' [-Werror=sign-compare]
  205 |                 ATF_REQUIRE_EQ(bits, addr.bits);
      |                 ^~~~~~~~~~~~~~

Fixes:          https://cgit.freebsd.org/src/commit/?id=8f4a0d2f7b96 ("libc: Import OpenBSD's inet_net_{ntop,pton}")
e1aeb58cbbc3839db93ec38ce491b7b9383d5649 John Baldwin 2025-10-20 18:31:41

debug: classified in 03-filenames_plain1 by 'lib/libc/tests/'

inet_net_test: Compare pointers against nullptr
GCC does not like passing NULL (__null) to std::ostringstream::operator<<
inside of ATF_REQUIRE_EQ:

lib/libc/tests/net/inet_net_test.cc: In member function 'virtual void {anonymous}::atfu_tc_inet_net_ntop_invalid::body() const':
lib/libc/tests/net/inet_net_test.cc:306:9: error: passing NULL to non-pointer argument 1 of 'std::__1::basic_ostream<_CharT, _Traits>& std::__1::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::__1::char_traits<char>]' [-Werror=conversion-null]
  306 |         ATF_REQUIRE_EQ(ret, NULL);
      |         ^~~~~~~~~~~~~~
In file included from /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/sstream:317,
                 from /usr/obj/.../amd64.amd64/tmp/usr/include/atf-c++/macros.hpp:29,
                 from /usr/obj/.../amd64.amd64/tmp/usr/include/atf-c++.hpp:29,
                 from lib/libc/tests/net/inet_net_test.cc:33:
/usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/__ostream/basic_ostream.h:338:81: note:   declared here
  338 | basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>::operator<<(long __n) {
      |                                                                            ~~~~~^~~
...

Fixes:          https://cgit.freebsd.org/src/commit/?id=8f4a0d2f7b96 ("libc: Import OpenBSD's inet_net_{ntop,pton}")
aa358ce3ca8e1fcfb305025fd00beb2a119c7c77 John Baldwin 2025-10-20 18:31:41

debug: classified in 03-filenames_plain1 by 'lib/libc/tests/'

tests/sys/netpfil/pf/sctp: make use of required.kmods
This greatly speeds up skipping a test that can't be run.

MFC after:      2 weeks
Sponsored by:   ConnectWise
Reviewed by:    kp
Differential Revision: https://reviews.freebsd.org/D53215
7648d2ebda22fe21ed385cc7d76813a1a9c17c99 Alan Somers 2025-10-20 13:52:41

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

so_reuseport_lb_test: Add a test case for connected UDP sockets
Approved by:  so
1dd66c6ac2c146f540b2ff825fbee442354aeee5 Mark Johnston 2025-10-22 14:53:28

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

fusefs: add a regression test for a cluster_read bug
VOP_BMAP is purely advisory.  If VOP_BMAP returns an error during
readahead, cluster_read should still succeed, because the actual data
was still read just fine.

Add a regression test for PR 264196, wherein cluster_read would fail if
VOP_BMAP did.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264196
MFC with:       62aef3f73f38db9fb68bffc12cc8900fecd58f0e
Reported by:    danfe
Reviewed by:    arrowd
Differential Revision: https://reviews.freebsd.org/D51316
6d408ac490730614b3ed0ebd3caffcd23f303fb4 Alan Somers 2025-10-23 13:40:56

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

closefrom_test: Fix the first test
The first test is supposed to close the new fd, but was instead not
closing anything.

Reviewed by:    ngie, markj
Fixes:          https://cgit.freebsd.org/src/commit/?id=3cedbec3ee08 ("Integrate tools/regression/fifo into ...")
Differential Revision:  https://reviews.freebsd.org/D52799
b307799b5141331effbb93d7f87dd00e9b991982 John Baldwin 2025-10-23 19:59:32

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

closefrom_test: Convert to atf-c(3)
Reviewed by:  ngie, markj
Differential Revision:  https://reviews.freebsd.org/D52800
2fbb6e213ac2075594da5f68a72d41074fd85b69 John Baldwin 2025-10-27 17:36:06

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

fusefs: Fix intermittency in the BadServer.ShortWrite test case
We were using the m_quit bit for two similar but distinct uses:

* To instruct the server to quit
* To cope with the kernel forcibly unmounting the fs

Fix the intermittent test failure by adding a separate bit,
m_expect_unmount, to handle cases like the latter.

Reported by:    Siva Mahadevan <me@svmhdvn.name>
MFC after:      1 week
Revied by:      Siva Mahadevan <me@svmhdvn.name>
Differential Revision: https://reviews.freebsd.org/D53357
d86025c1d49c84c4dc8c3635c83c078ad56e5a53 Alan Somers 2025-10-25 22:38:30

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

pf tests: tftp-proxy test case
Sponsored by: Rubicon Communications, LLC ("Netgate")
db0d002a217b1171ca85e8c17706de744ab6635d Kristof Provost 2025-10-28 13:13:56

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

pf tests: pfctl -T replace test
Sponsored by: Rubicon Communications, LLC ("Netgate")
56d5ec30e8e135f716e10b5bf2c0cc1ba18933f9 Kristof Provost 2025-10-31 09:44:00

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

sh tests: Fix racy test11.0
This was sometimes exiting while the child fifo was created resulting in
[ENOTEMPTY] from rm.  The child fifo isn't needed, just sleep.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290837
Fixes:  https://cgit.freebsd.org/src/commit/?id=e31fb97148f ("read builtin: Empty variables on timeout")
MFC after:      3 days
5d55553e160a93788372785300f5bd07c2451f93 Bryan Drewery 2025-11-07 17:28:37

debug: classified in 02b-filenames_wildcards2 by 'bin/.*/tests/.*'

Commit group #79: sound tests: Test polling
sound tests: Test polling

Co-authored by: meka@tilda.center
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53188
dd81b19ef23622d03d7c75935e11c2b2af3f4cb8 Christos Margiolis 2025-11-11 12:04:54

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


sound tests: Fix select(2) arguments

Fixes:          https://cgit.freebsd.org/src/commit/?id=dd81b19ef236 ("sound tests: Test polling")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
41f2ec3be93a2981e5afcc2569e6abcc64414437 Christos Margiolis 2025-11-11 12:22:13

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


sound tests: Fix format specified for kevent.data

Reported by:    CI
Fixes:          https://cgit.freebsd.org/src/commit/?id=dd81b19ef236 ("sound tests: Test polling")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
eb95b990f8ebfb85ce6e4d7d16305746b5eddcde Christos Margiolis 2025-11-11 13:21:22

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'


sound tests: Actually fix format strings

Fixes:          https://cgit.freebsd.org/src/commit/?id=eb95b990f8eb ("sound tests: Fix format specified for kevent.data")
fb99c0ba60dc464aab2102c4395791e151d438c6 Dag-Erling Smørgrav 2025-11-11 15:25:41

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

stress2: Added a syzkaller reproducer
539726e86d69efdb3003128ff1e0e739aba5f36e Peter Holm 2025-11-12 08:33:15

debug: classified in 03-filenames_plain1 by 'tools/test/'

Commit group #80: stress2
stress2: Added more robust test termination
51e0c428749c0bd6ed90191a6a9fbfed28a0f98e Peter Holm 2025-11-21 08:48:02

debug: classified in 03-filenames_plain1 by 'tools/test/'


stress2: No not rely on unset variables when using 'set -u'
c149db04aecc013cc98e921ee1b0deb54a5c34a6 Peter Holm 2025-11-21 08:49:47

debug: classified in 03-filenames_plain1 by 'tools/test/'


stress2: Update the exclude list
d941fde3508d7e63d0270649c0c61016f19e23ac Peter Holm 2025-11-21 08:50:30

debug: classified in 03-filenames_plain1 by 'tools/test/'

tests/net: add some bpf(4) tests
A test helper program pcap-test allows to capture, inject and compare.
Build a simple test case on top of it.  More test cases can be easily
constructed.
1ea3eda3d016e62434eb9cc3576faa911fd88034 Gleb Smirnoff 2025-11-21 22:43:47

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

stress2: Added a regression test
c75ce77a26d4e7febc7abcf2623e9ca4c914de7c Peter Holm 2025-11-22 09:19:28

debug: classified in 03-filenames_plain1 by 'tools/test/'

stress2: syzkaller87 fixed by ebc17879f0885ca87644980f6275b9759b311eb3
aa2468493e359ff72c6fb73b1ab6ba9ea4005e01 Peter Holm 2025-11-22 09:20:05

debug: classified in 03-filenames_plain1 by 'tools/test/'

tests: detect built-in modules
When checking vnet test prerequisites we check if if_epair and if_bridge are
available, but we only checked for loadable modules. It's possible for these to
be built into the kernel instead.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
23af364630b133b09821757d33f253702606d4cf Kristof Provost 2025-11-26 10:27:47

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

strfmon: Add tests for Austin Group Defect 1199
Add tests for The Open Group Base Specifications Issue 8[1], Austin
Group Defect 1199[2].

Items marked with XXX represent an invalid output.  These items will be
fixed in subsequent commits.

Notice that an existing test is now considered invalid.

Our locale definitions do not include int_p_sep_by_space nor
int_n_sep_by_space[3].  Those will be addressed in a subsequent commit.
However, the CLDR project defines them as "0", which causes the output
to appear as "USD123.45".  If our locale definitions were to set the
international {n,p}_sep_by_space to "1", the output would display as the
expected "USD 123.45".

While here, use the SPDX license identifier and add my name to the
file.

[1]: https://pubs.opengroup.org/onlinepubs/9799919799/functions/strfmon.html
[2]: https://www.austingroupbugs.net/view.php?id=1199
[3]: https://unicode-org.atlassian.net/browse/CLDR-237

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53911
19e153004fb63c32eba0ef40249f5ede61a93170 Jose Luis Duran 2025-11-26 20:34:55

debug: classified in 03-filenames_plain1 by 'lib/libc/tests/'

libc/tests: add test for *_MAX, *_MIN, and *_WIDTH
This file checks the correctness of the various _MAX, _MIN, and
_WIDTH macros defined for the libc types.  It assumes that none
of the types have padding bits.

Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53831
4a1c7529c96ff54657ef701fa89b92230ee6bac2 Robert Clausecker 2025-11-19 19:26:11

debug: classified in 03-filenames_plain1 by 'lib/libc/tests/'

tests/carp: make sleep interval in the wait loop smaller
Makes tests to finish slightly faster.
e353cbffd600ae3c00c8584dddcabf9d0ae1202a Gleb Smirnoff 2025-12-04 18:40:34

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

tests/carp: make a 0.2 second pause before configuring second jail
for all scenarios where both jails have same priority/advskew.  There is a
tiny chance that on both sides carp_master_down() will be executed in
parallel and advertisements will also fly through the bridge(4) in
parallel, thus both sides will switch to MASTER before receiving the
announcement from peer.  This makes the test to fail.  So far this
flakyness was observed for carp:vrrp_v4 only, but in theory it is possible
for any of the patched scenarios.

Note that this sleep does not prolong execution of the tests, as the first
jail is already configured, and if we slept before configuring the second,
we would sleep less in wait_for_carp().
27ff90cd3d8d2ac8198f30cbebeefb15a49d41bc Gleb Smirnoff 2025-12-04 18:41:19

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

libc/limits_test: add no-op testcase to satisfy kyua
This test suite is purely tested with compile-time assertions, so
it needs a dummy runtime test to ensure that kyua reports the
file as passing.

Pull Request:   https://github.com/freebsd/freebsd-src/pull/1915
Sponsored by:   The FreeBSD Foundation
Reviewed by:    fuz
Approved by:    markj (mentor)
MFC after:      1 month
Signed-off-by:  Siva Mahadevan <me@svmhdvn.name>
27ff0bbcfd27df588d3f486cb21180a26031b889 Siva Mahadevan 2025-10-23 13:17:25

debug: classified in 03-filenames_plain1 by 'lib/libc/tests/'

tests/if_bridge: mark several tests as requring vlan(4) or gif(4)
This makes them "skip" instead of "fail" if the module is not present.
bc14dcd113ae49b778b14d7bc446d57e96f40365 Gleb Smirnoff 2025-12-05 19:29:43

debug: classified in 02b-filenames_wildcards2 by 'tests\/.*'

stress2: Added a regression test
f88300a7b56e32808e91fc893e7f1afc67ce72fd Peter Holm 2025-12-09 10:33:09

debug: classified in 03-filenames_plain1 by 'tools/test/'

stress2: Fix looping at exit and fix the cleanup
9d2981f20d64b727cedd47ceeecd3b5c123ab5f2 Peter Holm 2025-12-12 09:19:23

debug: classified in 03-filenames_plain1 by 'tools/test/'

Commit group #81: libc/tests/string: improve stpncpy() "bounds" unit test
libc/tests/string: improve stpncpy() "bounds" unit test

The test is extended the same way I previously extended the memccpy()
test to fix what is probably the same kind of bug.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291359
Reported by:    Collin Funk <collin.funk1@gmail.com>
Reviewed by:    ngie
Approved by:    markj (mentor)
Fixes:          https://cgit.freebsd.org/src/commit/?id=6fa9e7d8737548ef93c573387ce62402c368d486 (https://cgit.freebsd.org/src/commit/?id=D42519)
See also:       61ed5748e4e9c7397fcb2638b442f46ac5c9e7c5 (D46051)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54169

lib/libc/tests/string/stpncpy_test.c: apply ngie's fixes
123c086200491819595abc271d360e605288fd18 Robert Clausecker 2025-12-04 16:34:59

debug: classified in 03-filenames_plain1 by 'lib/libc/tests/'


libc/test: fix typo

I misapplied ngie's recommended correction.

Fixes:  https://cgit.freebsd.org/src/commit/?id=123c086200491819595abc271d360e605288fd18
Differential Revision:  https://reviews.freebsd.org/D54169
8be8642826099368208efb2c1222f2a102cc5b08 Robert Clausecker 2025-12-14 17:05:07

debug: classified in 01-style by '[tT]ypo'

debug: moved to tests because 'Need to be grouped with 123c086200491819595abc271d360e605288fd18'

Style, typos, and comments

These could go in other categories, but it's more clear if they're here instead.

libucl: Fix bugs in C-style comment parser
When an asterisk is encountered inside a C-style comment, we first check
if there is at least one more character left in the buffer, and if that
character is a slash, which would terminate the comment.  If that is not
the case, the next two characters are consumed without being inspected.
If one of those is a double quote, or the initial asterisk of an
asterisk-slash pair, we end up misparsing the comment.

MFC after:      3 days
Reviewed by:    kevans, bofh
Differential Revision:  https://reviews.freebsd.org/D52808
b5e2bd5ef38181ce4a445ec19f1fa5cb6c8ea692 Dag-Erling Smørgrav 2025-10-01 09:28:30

debug: classified in 01-style by '[sS]tyle'

nss_tacplus: Fix typo in Makefile
Reported by:  ivy@
MFC after:      3 days
e98d3416916cdb6285d4d1807582baf6faa3ddcc Dag-Erling Smørgrav 2025-10-02 07:24:52

debug: classified in 01-style by '[tT]ypo'

bsd.cpu.mk: Fix whitespace appending to MACHINE_ABI
No functional change.

Effort:         CHERI upstreaming
Reviewed by:    imp
Fixes:          https://cgit.freebsd.org/src/commit/?id=426fc376afaf ("bsd.cpu.mk: Introduce MACHINE_ABI")
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D52833
90d2aedbb964bb39ecc23e736dc26ff45603562f Brooks Davis 2025-10-02 09:23:38

debug: classified in 01-style by '[wW]hitespace'

release: packages: Fix typos
Reviewed by:  cperciva
Approved by:    emaste (mentor)
MFC after:      1 day
Differential Revision:  https://reviews.freebsd.org/D52917
9e6cea12abdadb9f81dc13c2d3eb4ff8f0a19e99 Jose Luis Duran 2025-10-05 20:16:15

debug: classified in 01-style by '[tT]ypo'

nss_tacplus: Fix typo MK_INSTALLIB -> MK_INSTALLLIB
Reviewed by:  des
Approved by:    emaste (mentor)
Fixes:  https://cgit.freebsd.org/src/commit/?id=6c5cdba1bafe ("Add nss_tacplus, a TACACS+ NSS module.")
MFC after:      1 day
Differential Revision:  https://reviews.freebsd.org/D52882
75f7e003b79d4a1d1cad77cc7bbe2ccb96435cd5 Jose Luis Duran 2025-10-06 12:54:05

debug: classified in 01-style by '[tT]ypo'

tcp: remove stray ;
No functional change intended.

MFC after:              3 days
Sponsored by:           Netflix, Inc.
941b8ecdc08749eeec1b88aac0442dad8cb8fb09 Michael Tuexen 2025-10-06 14:32:08

debug: classified in 01-style by '[rR]emove stray'

nullfs: Fix some style after recent changes
In 'nullfs_subr.c':
- Sort the headers.
- Use '__func__' in preference to the function's name in an assertion.

This applies comments from D38761, one of which was missed and the other
added too late.

Reviewed by:    kib
MFC with:       249ec85352b5 ("nullfs: smr-protected hash lookup")
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52935
c8141e273a3eaf2f3fa05e9e5c2407c9538dd8f8 Olivier Certner 2025-10-06 12:48:24

debug: classified in 01-style by '[sS]tyle'

tcp: remove stray ;
MFC after:    3 days
Sponsored by:   Netflix, Inc.
0faa9ca827a5e91273ba757bd87bd9e8179a0862 Michael Tuexen 2025-10-06 21:34:38

debug: classified in 01-style by '[rR]emove stray'

release/packages/ucl: Fix typos
MFC after:    3 days
Sponsored by:   https://www.patreon.com/bsdivy
039eba16f969a3ebc6c169fa61880a33d2a95090 Lexi Winter 2025-10-12 15:53:43

debug: classified in 01-style by '[tT]ypo'

UPDATING: Fix typo objump should be objdump
Approved by:  emaste (mentor)
Fixes:          https://cgit.freebsd.org/src/commit/?id=86edb11e7491 ("Always install llvm-objdump as objdump")
MFC after:      1 day
376508ef2f794a57606a791166f1ce7f20d3ccaf Jose Luis Duran 2025-10-13 14:50:30

debug: classified in 01-style by '[tT]ypo'

RELNOTES: Fix a typo in the 5000d023a446 entry
Reported by:  matteo
4fc1e7546f1289183ec5d0b80653cab090c60399 Rick Macklem 2025-10-13 22:04:24

debug: classified in 01-style by '[tT]ypo'

sys/rpc: UNIX auth: Style: Remove unnecessary headers, minor changes
MFC after:      2 days
Sponsored by:   The FreeBSD Foundation
a4105a5d4e179aa1ef661ee45d6008e83fefd2a7 Olivier Certner 2025-10-07 17:10:12

debug: classified in 01-style by '[sS]tyle'

style(9): white space after ; and around binary operators
in for() loops.  Also, use 'while', where only the
conditional test of 'for' was used.

Reviewed by: sjg
0050289464fa56ec79e060b8d8378b9ff7145a0e David E. O'Brien 2025-10-15 05:22:00

debug: classified in 01-style by '[wW]hite space'

rc.conf: Fix typo interferring -> interfering
Reviewed by:  emaste
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53168
982d70ca2e6333b7e8ccf828b004ccf20a9cc550 Jose Luis Duran 2025-10-17 14:15:46

debug: classified in 01-style by '[tT]ypo'

bsdinstall: Fix typos
Reviewed by:  emaste
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53170
4ee348e27143b857445fd261cbe6695d6d57c836 Jose Luis Duran 2025-10-17 15:16:32

debug: classified in 01-style by '[tT]ypo'

Match style in 3613896
Reviewed by:  kib
Differential Revision:  https://reviews.freebsd.org/D53193
7d6221ff14478ce70fab24c58e0326ff5c4baf52 David E. O'Brien 2025-10-18 23:23:31

debug: classified in 01-style by '[sS]tyle'

tcp: fix typo in comment
Reviewed by:  tuexen
MFC after:      3 days
Sponsored by:   Netflix, Inc.
daac364e611532c7bfd4bb20f9fea8d365496aa1 Peter Lei 2025-10-21 09:18:32

debug: classified in 01-style by '[tT]ypo'

kdb: Fix a typo in a source code comment
- s/th/the/

MFC after:      3 days
0a53e6d8bc0b3a6332e228993d040fbf38f652fb Gordon Bergling 2025-10-22 11:57:57

debug: classified in 01-style by '[tT]ypo'

pmcstat(8): Fix a typo in a source code comment
- s/th/the/

MFC after:      3 days
2b2a4f02e0872065c63baec8bf0069e3b677def7 Gordon Bergling 2025-10-22 11:59:13

debug: classified in 01-style by '[tT]ypo'

sound: Improve dsp_cdevsw style
Sponsored by: The FreeBSD Foundation
MFC after:      4 days
4bab868a122b9c853865c8d89886d9354d0f242b Christos Margiolis 2025-10-22 12:31:16

debug: classified in 01-style by '[sS]tyle'

mtree: Remove stray atm directory
ATM support for netgraph was removed in af0cc0b22362 ("NgATM: Remove
netgraph ATM support")

Remove the directory from the mtree specification.

Reviewed by:    emaste
Fixes:  https://cgit.freebsd.org/src/commit/?id=21735dfaebdf ("include: Remove no longer existing netgraph/atm")
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D53260
8e8ee8bbe2a112f7d1cc1b005dbdb8868522b640 Jose Luis Duran 2025-10-22 15:34:30

debug: classified in 01-style by '[rR]emove stray'

mtree: Remove stray wi directory
Reviewed by:  imp, emaste
Fixes:  https://cgit.freebsd.org/src/commit/?id=a21def4d568f ("pccard: Remove wi(4) driver")
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D53264
f942a7465469008f7538436a70f15a44cabecbb0 Jose Luis Duran 2025-10-22 22:41:03

debug: classified in 01-style by '[rR]emove stray'

mtree: Remove stray an (Aironet) directory
Reviewed by:  imp
Fixes:  https://cgit.freebsd.org/src/commit/?id=663b174b5b53 ("an: Remove driver")
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D53265
f7ccf051016fe3989ef6fbf10adea3ce4131f91b Jose Luis Duran 2025-10-22 22:41:53

debug: classified in 01-style by '[rR]emove stray'

w: Trim whitespace and commas from time and uptime
When producing formatted output, trim leading whitespace and trailing
commas from the human-readable time and uptime before emitting them.
The text output remains unchanged.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290089
Fixes:          https://cgit.freebsd.org/src/commit/?id=6e6febb54da9 ("w: Fix idle time in json output, add login/idle times to json output")
Reviewed by:    marius.h_lden.org
Differential Revision:  https://reviews.freebsd.org/D53167
4d5789532a940144c869d66505e756ce816f8a50 Dag-Erling Smørgrav 2025-10-23 10:28:44

debug: classified in 01-style by '[wW]hitespace'

style.mdoc.5: Point readers to style(9) regarding copyright headers
While here, fix the ordering of the elements in the copyright header per
style(9) and remove the text of the license as we already have the SPDX
tag here.

MFC after:      3 days
3cc7d67155dad57e0d10f02a584fda6c8f2ea0b2 Mateusz Piotrowski 2025-10-24 19:22:32

debug: classified in 01-style by '[sS]tyle'

queue.3: Fix a typo in the manual page
- s/overriden/overridden/

MFC after:      5 days
f5a3d790c78682506888b2bb4e67fa08cf5d8bd4 Gordon Bergling 2025-10-26 13:03:44

debug: classified in 01-style by '[tT]ypo'

siginfo.3: Fix a typo in the manual page
- s/Sychronous/Synchronous/

MFC after:      5 days
1447a221338c070130d7e990733486ed142267a1 Gordon Bergling 2025-10-26 13:04:43

debug: classified in 01-style by '[tT]ypo'

debug.sh.8: Fix a typo in the manual page
- s/noticable/noticeable/
- s/compatability/compatibility/

MFC after:      5 days
69fbd069d83784bf765471931542f53551501354 Gordon Bergling 2025-10-26 13:06:48

debug: classified in 01-style by '[tT]ypo'

rc.subr.8: Fix a typo in the manual page
- s/derrived/derived/

MFC after:      5 days
12584410c5dc3d17f6a07a743ca351f02434dc00 Gordon Bergling 2025-10-26 13:07:43

debug: classified in 01-style by '[tT]ypo'

pf.conf.5: Fix a typo in the manual page
- s/opion/option/

MFC after:      5 days
189cec2f0d6ceb258c754193cf03a26eb9d7b3fe Gordon Bergling 2025-10-26 13:09:01

debug: classified in 01-style by '[tT]ypo'

rc.conf.5: Fix a typo in the manual page
- s/overriden/overridden/
- s/explicitely/explicitly/

MFC after:      5 days
ca7deba74b2e5179c8fc2180d509632128b56bac Gordon Bergling 2025-10-26 13:10:16

debug: classified in 01-style by '[tT]ypo'

arch.7: Fix a typo in the manual page
- s/dereferencable/dereferenceable/

MFC after:      5 days
66923ac81ba8077d2eeb02e49c890a2bfa8ba39f Gordon Bergling 2025-10-26 13:11:46

debug: classified in 01-style by '[tT]ypo'

build.7 Fix a typo in the manual page
- s/envirnoment/environment/

While here fix a .Xr macro.

MFC after:      5 days
8c48902d41d887eed3490b2f274801aa6911f389 Gordon Bergling 2025-10-26 13:14:48

debug: classified in 01-style by '[tT]ypo'

acpi_battery.4: Fix a typo in the manual page
- s/rechargable/rechargeable/

MFC after:      5 days
e47c294d005c7789f120d80b566c25f90e431278 Gordon Bergling 2025-10-26 13:23:22

debug: classified in 01-style by '[tT]ypo'

ahc.4: Fix a typo in the manual page
- s/configued/configured/

MFC after:      5 days
76b44182c6c250a3307c4eecf24976c810e065c2 Gordon Bergling 2025-10-26 13:24:47

debug: classified in 01-style by '[tT]ypo'

bce.4: Fix a typo in the manual page
- s/activitiy/activity/

MFC after:      5 days
dc9fd0f379becb94cfa3adb3a53a8a42da336d52 Gordon Bergling 2025-10-26 13:25:49

debug: classified in 01-style by '[tT]ypo'

iwlwifi.4: Fix a typo in the manual page
- s/incosistent/inconsistent/

MFC after:      5 days
7c8c5ac82e27a4d4246574bc1a636b05b1d0937f Gordon Bergling 2025-10-26 13:26:52

debug: classified in 01-style by '[tT]ypo'

mac_do.4: Fix a typo in the manual page
- s/occurences/occurrences/

MFC after:      5 days
72a9bfcfab08da5a00e2ec3fba580157173c6a15 Gordon Bergling 2025-10-26 13:27:53

debug: classified in 01-style by '[tT]ypo'

p9fs.4: Fix a typo in the manual page
- s/recommented/recommended/

MFC after:      5 days
5a739b74650b0746334ddcd92ef73369f0c18c54 Gordon Bergling 2025-10-26 13:28:48

debug: classified in 01-style by '[tT]ypo'

nvmecontrol(8): Fix a typo in an error message
- s/speciifed/specified/

MFC after:      1 week
44004bcffabc3372d6812c2e0c4bf90386919e21 Gordon Bergling 2025-10-26 15:08:31

debug: classified in 01-style by '[tT]ypo'

pfctl(8): Fix a typo in an error message
- s/addresess/addresses/

MFC after:      1 week
a31d432264c461581231c08c00a5d0ad8c38bafd Gordon Bergling 2025-10-26 15:09:43

debug: classified in 01-style by '[tT]ypo'

rtlbtfw(8): Fix a typo in an error message
- s/Parseing/Parsing/

MFC after:      1 week
39d43543b306ac686aa684303ae972c386ccea12 Gordon Bergling 2025-10-26 15:26:21

debug: classified in 01-style by '[tT]ypo'

cxgbetool(8): Fix a typo in an error message
- s/MISCELANEOUS/MISCELLANEOUS/

MFC after:      1 week
8f1c946f1c42bdf9fabd870100b316af71c5e45e Gordon Bergling 2025-10-26 15:27:51

debug: classified in 01-style by '[tT]ypo'

pmcstat(8): Fix a typo in an error message
- s/evalation/evaluation/

MFC after:      1 week
780a50c729c7bc0ac1750947223feadd918b17e8 Gordon Bergling 2025-10-26 15:29:08

debug: classified in 01-style by '[tT]ypo'

fwcontrol(8): Fix a typo in a message
- s/verndor/vendor/

MFC after:      1 week
56a72214a35965197932b6366ffad0fe1e3fc398 Gordon Bergling 2025-10-26 15:30:48

debug: classified in 01-style by '[tT]ypo'

PCI_IOV_ADD_VF.9: Fix a typo in the manual page
- s/initializating/initializing/

MFC after:      5 days
d81fe0b206325b40e13625f5684ec8d19fdccf04 Gordon Bergling 2025-10-26 15:34:56

debug: classified in 01-style by '[tT]ypo'

atomic.9: Fix a typo in the manual page
- s/constrast/contrast/

MFC after:      5 days
2f263badccf842470323b64613eccb0c0b9a12c1 Gordon Bergling 2025-10-26 15:35:50

debug: classified in 01-style by '[tT]ypo'

bhnd.9: Fix a typo in the manual page
- s/devce/device/

MFC after:      5 days
3ceaf4d80401fab49895a5ac3bb1fe602f588da8 Gordon Bergling 2025-10-26 15:36:51

debug: classified in 01-style by '[tT]ypo'

bus_dma.9: Fix two typos in the manual page
- s/decribes/describes/
- s/Muliple/Multiple/

MFC after:      5 days
5215760811a5ce75d77f9017e392445014e6b1bb Gordon Bergling 2025-10-26 15:38:29

debug: classified in 01-style by '[tT]ypo'

copy.9: Fix a typo in the manual page
- s/heterogenous/heterogeneous/

MFC after:      5 days
ad7bbe691b453039980df729f32fffaf02ffd21c Gordon Bergling 2025-10-26 15:39:32

debug: classified in 01-style by '[tT]ypo'

crypto_request.9: Fix a typo in the manual page
- s/througput/throughput/

MFC after:      5 days
a1e76a3af8d64b400100d8ab595eeb32cd79d358 Gordon Bergling 2025-10-26 15:40:47

debug: classified in 01-style by '[tT]ypo'

domain.9: Fix a typo in the manual page
- s/exprimental/experimental/

MFC after:      5 days
e17c87d4a27509ed8324e69056b06dec878db064 Gordon Bergling 2025-10-26 15:41:37

debug: classified in 01-style by '[tT]ypo'

efirt.9: Fix a typo in the manual page
- s/retireved/retrieved/

MFC after:      5 days
1a28455cb5f59de98cd6085fce500b457eb80847 Gordon Bergling 2025-10-26 15:42:42

debug: classified in 01-style by '[tT]ypo'

g_geom.9: Fix a typo in the manual page
- s/strng/string/

MFC after:      5 days
187a0a85e15377405068663af743b78481e5564f Gordon Bergling 2025-10-26 15:43:35

debug: classified in 01-style by '[tT]ypo'

gone_in.9: Fix a typo in the manual page
- s/Initializaiton/Initialization/

MFC after:      5 days
576e735efb85cae5213621981ed33ced8878a352 Gordon Bergling 2025-10-26 15:44:30

debug: classified in 01-style by '[tT]ypo'

ifnet.9: Fix a typo in the manual page
- s/addess/address/

MFC after:      5 days
73a78c2dc99a3942d8e503c62537d2f3838a6954 Gordon Bergling 2025-10-26 15:45:28

debug: classified in 01-style by '[tT]ypo'

nvmem.9: Fix multiple typos in the manual page
- s/sucess/success/

MFC after:      5 days
005603cd3dee7610587f1193f9529eb2a42781d7 Gordon Bergling 2025-10-26 15:46:26

debug: classified in 01-style by '[tT]ypo'

ofw_bus_is_compatible.9: Fix a typo in the manual page
- s/compatibile/compatible/

MFC after:      5 days
b1f96b1c4c95df5c04e067c638e52c9652f86721 Gordon Bergling 2025-10-26 15:47:44

debug: classified in 01-style by '[tT]ypo'

pci.9: Fix a typo in the manual page
- s/maxmimum/maximum/

MFC after:      5 days
a859a5c6978de121efc7771351d32550ee430b7c Gordon Bergling 2025-10-26 15:48:36

debug: classified in 01-style by '[tT]ypo'

refcount.9: Fix a typo in the manual page
- s/sucessfully/successfully/

MFC after:      5 days
40fae644ba9a27227ca6f7c290e54fcef462b341 Gordon Bergling 2025-10-26 15:49:28

debug: classified in 01-style by '[tT]ypo'

seqc.9: Fix a typo in the manual page
- s/changees/changes/

MFC after:      5 days
fe45f7ddb53f16198a60cd015c20f5fc524aed89 Gordon Bergling 2025-10-26 15:50:26

debug: classified in 01-style by '[tT]ypo'

style.9: Fix two typos in the manual page
- s/signficant/significant/
- s/protoypes/prototypes/

MFC after:      5 days
8eedabfe9ac8b5841662d342c5ba8cbb0ac6e0c5 Gordon Bergling 2025-10-26 15:52:11

debug: classified in 01-style by '[tT]ypo'

vn_fullpath.9: Fix two typos in the manual page
- s/resulting/resulting/
- s/initally/initially/

MFC after:      5 days
3b79697040a7d3f9a4a21fb2e66d9031feb6af84 Gordon Bergling 2025-10-26 15:53:22

debug: classified in 01-style by '[tT]ypo'

ipfs: Fix typo in error message
MFC after:    3 days
5ae7b106cfd4801ef5e0f69b02ad9b3ae3ccfbec Cy Schubert 2025-10-28 03:43:14

debug: classified in 01-style by '[tT]ypo'

arm/nvidia/tegra: Fix a couple of typos in kernel messages
- s/intialization/initialization/
- s/Cannott/Cannot/
- s/ivalid/invalid/
- s/wating/waiting/

MFC after:      1 week
b87836e824ea40793317d551eb13a8e2814f83f9 Gordon Bergling 2025-10-28 08:04:33

debug: classified in 01-style by '[tT]ypo'

hyper-v: Fix a couple of typos in kernel messages
- s/tranparent/transparent/
- s/Unknow/Unknown/
- s/qury/query/

MFC after:      1 week
1ef6fef9d5c82a106ba8e42c1e087f9b5d1dfec6 Gordon Bergling 2025-10-28 08:07:28

debug: classified in 01-style by '[tT]ypo'

ocs_fc(4): Fix a couple of typos in kernel messages
- s/unexpectd/unexpected/
- s/Unexected/Unexpected/
- s/niether/neither/
- s/sucessfully/successfully/
- s/Inavlid/Invalid/
- s/toplogy/topology/

MFC after:      1 week
aa0cd9e5b4d21b11097e1c21a3c0eb23525c15c3 Gordon Bergling 2025-10-28 08:11:11

debug: classified in 01-style by '[tT]ypo'

virtio(4): Fix a couple of typos in kernel messages
- s/reponse/response/
- s/Cannnot/Cannot/

MFC after:      1 week
e9058e1444d8e5831a237934ca2316e22fc55f36 Gordon Bergling 2025-10-28 08:14:43

debug: classified in 01-style by '[tT]ypo'

fusefs(5): Fix a couple of typos in kernel messages
- s/intalled/installed/
- s/attributess/attributes/

MFC after:      1 week
b57198f620bcbf899a32c3de9526bd525ab8a39e Gordon Bergling 2025-10-28 08:16:35

debug: classified in 01-style by '[tT]ypo'

cam: Fix three typos in kernel messages
- s/maximun/maximum/
- s/queing/queueing/
- s/exhausing/exhausting/

MFC after:      1 week
adfe14dcc2747a20dff961044d6817c507087327 Gordon Bergling 2025-10-29 08:23:51

debug: classified in 01-style by '[tT]ypo'

nfsclient: Fix a typo in a panic message
- s/eroneous/erroneous/

MFC after:      1 week
08a6620093dc2786051bf6ae6f40ae048027021b Gordon Bergling 2025-10-29 08:26:23

debug: classified in 01-style by '[tT]ypo'

aic7xxx: Fix a couple of typos in device messages
- s/Reseting/Resetting/
- s/staus/status/
- s/referrenced/referenced/

MFC after:      1 week
d1e39f3d6e5fce1a30a5713d522f87d83654c4bd Gordon Bergling 2025-10-29 08:29:08

debug: classified in 01-style by '[tT]ypo'

audit(4): Fix a typo in an kernel error message
- s/Authenticateion/Authentication/

MFC after:      5 days
63af953e09ccd11f2f5b4d83b10cc231f691de46 Gordon Bergling 2025-10-29 15:05:43

debug: classified in 01-style by '[tT]ypo'

usb(4): Fix typos in upgt(4) and zyd(4)
- s/frequence/frequency/
- s/finsihed/finished/

MFC after:      5 days
679976d8162004f879a1a0d5ca0c5d2ade5fa1bd Gordon Bergling 2025-10-29 15:08:31

debug: classified in 01-style by '[tT]ypo'

geom(4): Fix typo in a kernel message
- s/supressing/suppressing/

MFC after:      5 days
57b78a557b3ce07b1589c9c21debe97d45599391 Gordon Bergling 2025-10-29 15:10:09

debug: classified in 01-style by '[tT]ypo'

arm/mv: Fix typo in a kernel error message
- s/Unkown/Unknown/

MFC after:      5 days
b074d146969d3097c1e144623360b36083d74927 Gordon Bergling 2025-10-29 15:12:52

debug: classified in 01-style by '[tT]ypo'

arm/ti: Fix typo in a KASSERT message
- s/patcket/packet/

MFC after:      5 days
862024c00f3126220ac425f9ec1f3d4286064688 Gordon Bergling 2025-10-29 15:14:23

debug: classified in 01-style by '[tT]ypo'

tegra210: Fix typo in a kernel message
- s/volatge/voltage/

MFC after:      5 days
6a02851a0e346cbff074dab87807c9ee9d1e8d94 Gordon Bergling 2025-10-29 15:16:41

debug: classified in 01-style by '[tT]ypo'

acpi(4): Fix typo in a panic message
- s/depenedent/dependent/

MFC after:      5 days
f51fb91d616d49e91f3c2c706263a38b98176911 Gordon Bergling 2025-10-29 15:17:32

debug: classified in 01-style by '[tT]ypo'

ale(4): Fix typo in a kernel message
- s/sequnce/sequence/

MFC after:      5 days
a675f3bb63774a63f668749c6c3c8dfbb6be1cd6 Gordon Bergling 2025-10-29 15:18:31

debug: classified in 01-style by '[tT]ypo'

style.Makefile: document the style for lists
Reviewed by:  sjg
Differential Revision:  https://reviews.freebsd.org/D53429
237cc7b408dd8d0c6eb4af6ab796b8d4b750c9ba David E. O'Brien 2025-10-29 07:59:18

debug: classified in 01-style by '[sS]tyle'

bus_attach_children.9: fix typo
s/DEVICE_ATTACH/DEVICE_DETACH

Reviewed by:    ziaee
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53449
9b9c726df1e214afa122873395a3ac32dd80ae6b Ahmad Khalifa 2025-10-30 13:14:42

debug: classified in 01-style by '[tT]ypo'

ddb: whitespace change
No functional change intended.

MFC after:      3 days
Sponsored by:   Netflix, Inc.
3adaacad117b23abaf93a5332d538037420e1daa Michael Tuexen 2025-10-31 18:01:50

debug: classified in 01-style by '[wW]hitespace'

amdtemp(4): Fix typo in a sysctl description
- s/temparature/temperature/

MFC after:      5 days
85d6c86f4b53e6ac2a9b163c553b48466638f394 Gordon Bergling 2025-10-29 15:21:25

debug: classified in 01-style by '[tT]ypo'

oce(4): Fix a couple of typos in a sysctl descriptions
- s/Fragements/Fragments/
- s/Recived/Received/
- s/Alignmnet/Alignment/

MFC after:      5 days
542f5985a8c2e7cccc9beb9801ec166082bb7e68 Gordon Bergling 2025-10-29 15:24:00

debug: classified in 01-style by '[tT]ypo'

vnic: Fix a typo in a device messsage
- s/interrups/interrupts/

MFC after:      5 days
74a44a0bc8ab965d28d1ce804d3f0aead035faf0 Gordon Bergling 2025-10-29 15:25:33

debug: classified in 01-style by '[tT]ypo'

ath(4): Fix a typo in a device messsage
- s/Orignal/Original/

MFC after:      5 days
3eaa2a852b475c7f063bbf677fa536e76514d309 Gordon Bergling 2025-10-29 15:26:59

debug: classified in 01-style by '[tT]ypo'

bwi(4): Fix a typo in a panic messsage
- s/unsupport/unsupported/

MFC after:      5 days
404af374b10ca56c6f82510a5bb23232a9f25c34 Gordon Bergling 2025-10-29 15:28:06

debug: classified in 01-style by '[tT]ypo'

cesa: Fix a typo in a device messsage
- s/exhaused/exhausted/

MFC after:      5 days
081aa26778f3facdd836c28b2e3fed5de2f8b7b4 Gordon Bergling 2025-10-29 15:35:35

debug: classified in 01-style by '[tT]ypo'

ciss(4): Fix a typo in a debug messsage
- s/unspported/unsupported/

MFC after:      5 days
84d75bb018e1800d610760191ff64c3eebcb46d7 Gordon Bergling 2025-10-29 15:36:50

debug: classified in 01-style by '[tT]ypo'

igc(4): Fix a typo in a sysctl description
- s/Recevied/Received/

MFC after:      5 days
defe77554d134964d7c197a2f3ca552778e8b41a Gordon Bergling 2025-10-29 15:38:03

debug: classified in 01-style by '[tT]ypo'

mfi(4): Fix a typo in a KASSERT message
- s/dissappeared/disappeared/

MFC after:      5 days
a25172844edaaa7e18c1dcecb6df8b8832456334 Gordon Bergling 2025-10-29 15:38:59

debug: classified in 01-style by '[tT]ypo'

isci(4): Fix two typos in a log messages
- s/suspeneded/suspended/

MFC after:      5 days
7b11940d4a66589069c21534dd0b969f79ae79df Gordon Bergling 2025-10-29 15:41:06

debug: classified in 01-style by '[tT]ypo'

geom_zero.4: typo
80ca573fc4e65db6f17cb476b6e857fe06b2e3d8 Maxim Konovalov 2025-11-10 01:35:20

debug: classified in 01-style by '[tT]ypo'

hgame.4: typo
8cd9c39195b5fa35ef126a0153d23fbfd60729cf Maxim Konovalov 2025-11-14 04:13:27

debug: classified in 01-style by '[tT]ypo'

setaudit: Bump WARNS and fix some style bugs
- Cast sockaddrs through void to silence warnings about expected
  alignment.
- Fix cast style.
- Sort includes.
- Make some global variables local.
- Sort options.

No functional change intended.

Reviewed by:    csjp
MFC after:      2 weeks
Sponsored by:   Modirum MDPay
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53670
a9be8f9968198600eefcd1b4423a29ea2016e020 Mark Johnston 2025-11-17 16:40:57

debug: classified in 01-style by '[sS]tyle'

mpool(3): Fix a typo in statistical message
- s/cacheing/caching/

MFC after:      5 days
d76ea20f99965e8f3b9dbfcb41ca148711d528bb Gordon Bergling 2025-11-19 14:16:33

debug: classified in 01-style by '[tT]ypo'

exit.3: Fix a typo in the manual page
- s/avaliable/available/

MFC after:      3 days
9334fa3ef5e19de7d3dcdbefdaa3f6b6b653475a Gordon Bergling 2025-11-19 14:17:40

debug: classified in 01-style by '[tT]ypo'

moused(8): Fix a couple of typos in the manual pages
- s/compatibiliy/compatibility/
- s/rewriten/rewritten/
- s/derrived/derived/
- s/suppported/supported/
- s/Horisontal/Horizontal/
- s/thesholds/thresholds/

MFC after:      3 days
64bbcff94459153ae6e118d7776e379271bdc0b9 Gordon Bergling 2025-11-19 14:21:09

debug: classified in 01-style by '[tT]ypo'

stand/lua: Fix two typos in the manual pages
- s/Additionnaly/Additionally/
- s/commmand/command/

MFC after:      3 days
6f14b6025a6f6475522697362aaf6c84514b85bf Gordon Bergling 2025-11-19 14:23:07

debug: classified in 01-style by '[tT]ypo'

libexec/lua: Fix two typos in the manual pages
- s/environnement/environment/
- s/interger/integer/

MFC after:      3 days
58b86e40ce76de649db19d9d1f8571d5c942d44b Gordon Bergling 2025-11-19 14:24:30

debug: classified in 01-style by '[tT]ypo'

cxgbetool(8): Fix a typo in the stats description
- s/addres/address/

MFC after:      3 days
16d8aecdf5a8eae201087116e8875706340617ed Gordon Bergling 2025-11-19 14:27:02

debug: classified in 01-style by '[tT]ypo'

nuageinit: Fix a typo in an error message
- s/outout/output/

MFC after:      3 days
73a026d5e9778ac182be4a5876771eefa2cd6f41 Gordon Bergling 2025-11-19 14:28:54

debug: classified in 01-style by '[tT]ypo'

lpr(1): Fix a typo in a debug message
- s/unexpect/unexpected/

MFC after:      5 days
66d4a37bc389bf19ebf2210b0fff762baa659c32 Gordon Bergling 2025-11-19 14:30:02

debug: classified in 01-style by '[tT]ypo'

ypldap(8): Fix a typo in a debug message
- s/unexpect/unexpected/

MFC after:      5 days
843a4ad5814fe4344b245819880d423343b2d5ab Gordon Bergling 2025-11-19 14:31:13

debug: classified in 01-style by '[tT]ypo'

pfctl(8): Fix a typo in an error message
- s/registeration/registration/

MFC after:      5 days
361492bfb22dc57ac311cda02bf3fc75ea5b52b2 Gordon Bergling 2025-11-21 09:10:31

debug: classified in 01-style by '[tT]ypo'

snd_dummy.4: Fix a typo in the manual page
- s/devic/device/

MFC after:      3 days
bb3bfc7ca87ef9b2309bfac38aa0083727b27dc6 Gordon Bergling 2025-11-21 09:13:39

debug: classified in 01-style by '[tT]ypo'

isp.4: Fix a typo in the manual page
- s/Chanel/Channel/

MFC after:      3 days
8158b813d90f01368b2045709feee1980a323198 Gordon Bergling 2025-11-21 09:14:35

debug: classified in 01-style by '[tT]ypo'

sys/syscallsubr.h: fix some whitespace
Sponsored by: DARPA, AFRL
747e8427e997a569b91092efc0dcffb0510c1f92 Brooks Davis 2025-11-21 12:13:00

debug: classified in 01-style by '[wW]hitespace'

nuageinit: Silence luacheck warnings and fix typos
No functional change intended.

Reviewed by:    bapt, dtxdf, kevans
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53238
81af04b081402d131c7e34b30c88b7c337271fad Jose Luis Duran 2025-10-21 13:28:45

debug: classified in 01-style by '[tT]ypo'

nvme: Minor style(9) fixes
<sys/systm.h> needs to be first after <sys/param.h>. And we don't need
both sys/param.h and sys/types.h.

Fixes:          https://cgit.freebsd.org/src/commit/?id=032fbda024d78
Sponsored by:   Netflix
301b8a806f79292ee3324ca938a4d938df1911e8 Warner Losh 2025-11-25 16:10:23

debug: classified in 01-style by '[sS]tyle'

libefivar: Fix (some) typos
Fix typos in the files that are owned by the project.

Bring back a "duplicate word" removal (node node), which should have
been "node Node", the second "node" is not capitalized in the reference
file (yet).  We'll bring it back capitalized to avoid it from triggering
automated checking scripts and possibly reverting this change again.  A
few other typos were not fixed, as we strive to keep as close to the
reference files as possible, these fixes should be submitted to the
reference project (tianocore/edk2) in the not so distant future.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
0e614a4afe48f602fafad128e6a053c89f7445cd Jose Luis Duran 2025-11-15 17:25:32

debug: classified in 01-style by '[tT]ypo'

libefivar: Change OPTIONAL keyword usage style
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3760

Update all use of ', OPTIONAL' to ' OPTIONAL,' for function params.

Note that the link above no longer exists.  The commit message was kept
verbatim.  An archive of the bug report can be found at:
https://web.archive.org/web/20240714185609/https://bugzilla.tianocore.org/show_bug.cgi?id=3760

Obtained from:  https://github.com/tianocore/edk2/commit/d0e2f8232a26453fc0191629ed44ff2a46ea073e

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1894
ca6fef2d4bf12a83f96a77153beb16999c8c62d0 Jose Luis Duran 2025-11-13 17:02:01

debug: classified in 01-style by '[sS]tyle'

NOTES: Fix a typo in a comments
Signed-off-by: ykla yklaxds@gmail.com
Sponsored by:   Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1899
f7725c3c27e685478398833fbe32504c38438d69 ykla 2025-11-25 08:12:17

debug: classified in 01-style by '[tT]ypo'

if.h: Fix a couple of typos in comments
No functional change.
136a80ad3dab36911bb6408dcd69269b7e0747c7 Navdeep Parhar 2025-11-25 18:34:46

debug: classified in 01-style by '[tT]ypo'

strfmon: Fix typo s/poistion/position/
MFC after:    1 week
91e7f19ec4056587a85c1461a4f34a6d5d4b7b52 Jose Luis Duran 2025-11-23 16:58:55

debug: classified in 01-style by '[tT]ypo'

NOTES: fix typos and unify terminology in comments
Signed-off-by: ykla yklaxds@gmail.com
Sponsored by: Chinese FreeBSD Community
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1901
2996c41ee89dbd6426254457398f49572e9b425d ykla 2025-11-26 05:57:47

debug: classified in 01-style by '[tT]ypo'

exterrvar.h: style(9): Fix two small nits
- Use tabs before '\'.
- Comment for '#else' must be the negation of the initial '#if''s test.

No functional change.

Sponsored by:   The FreeBSD Foundation
d9e734d650844f4465a2e064fc9ee0897ed9aa95 Olivier Certner 2025-11-27 09:42:50

debug: classified in 01-style by '[sS]tyle'

exports.5: Typo: "auomatically" => "automatically"
Fixes:          https://cgit.freebsd.org/src/commit/?id=9d975e47d5a3 ("exports.5: Clarify that exported dirs should be local mount points")
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
7521dc5dce35159add70003340e1555456721a2d Olivier Certner 2025-11-27 20:27:14

debug: classified in 01-style by '[tT]ypo'

bus: Apply consistent style to prototypes
Sponsored by: Klara, Inc.
Sponsored by:   NetApp, Inc.
6facc476f3056037f8b5cdb5546554ab3a887463 Dag-Erling Smørgrav 2025-11-28 09:16:14

debug: classified in 01-style by '[sS]tyle'

acpi: Fix typos in sysctl descriptions
Reviewed by:  thj, emaste
Approved by:    thj
Sponsored by:   The FreeBSD Foundation
e966eb4039717c888ee74a65768346088012fb4a Aymeric Wibo 2025-11-28 14:26:26

debug: classified in 01-style by '[tT]ypo'

nvme: Minor style nit
Sponsored by:         Netflix
babb41a81e84ecb055992720f36a80e31260d372 Warner Losh 2025-12-02 04:55:39

debug: classified in 01-style by '[sS]tyle'

ipsec: Fix typos in references to IPsec's ESP
ESP is "Encapsulating Security Payload",
not "Encapsulated Security Payload".

This patch fixes all the place in the tree I could find
with `grep -i encapsulated security`.

MFC after:      3 days
Reviewed by:    ae
Differential Revision:  https://reviews.freebsd.org/D53769
15afd75e67102f81c37adbf11966e48685bd7be7 Mateusz Piotrowski 2025-12-04 15:17:11

debug: classified in 01-style by '[tT]ypo'

uio.h: Indent struct uio according to style(9)
Approved by:  christos (mentor)
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D54071
8740d7e4d183189d259163aa30179ad14c77c0c4 Mateusz Piotrowski 2025-12-01 18:32:21

debug: classified in 01-style by '[sS]tyle'

cldr2def.pl: Cleanup white space
No functional change intended.

Reviewed by:    bapt
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53914
09701dc19cf0d6f1a41abcae89c00122546498fb Jose Luis Duran 2025-12-06 12:20:15

debug: classified in 01-style by '[wW]hite space'

man typos: Fix pf.conf.5 and jail.2 typos
MFC after:    3 days
Signed-off-by:  Seth Hoffert <seth.hoffert@gmail.com>
Closes:         https://github.com/freebsd/freebsd-src/pull/1919
0140dc4a68ac25c70300ed2a418e7ca441638bdb Seth Hoffert 2025-12-08 15:53:58

debug: classified in 01-style by '[tT]ypo'

rc.d/{ipfilter,ippool}: Fix typo in variable name
MFC after:    1 day
f04b23ce3547c238dcd52d4fa1a7d401ad38d1b1 Cy Schubert 2025-12-09 20:32:24

debug: classified in 01-style by '[tT]ypo'

mps(4): Fix a typo in a device message
- s/reseting/resetting/

MFC after:      5 days
bcc735cb710fb74d1fb5f7be3d37701343c58ccd Gordon Bergling 2025-12-13 09:43:49

debug: classified in 01-style by '[tT]ypo'

mmc(4): Fix a typo in a device debug message
- s/reseting/resetting/

MFC after:      5 days
3b6f9481a85600cf1f23a819c3afee30fcd4122f Gordon Bergling 2025-12-13 09:47:40

debug: classified in 01-style by '[tT]ypo'

oce(4): Fix a typo in a device debug message
- s/depricated/deprecated/

MFC after:      3 days
a3950d70a499e120c67da884865486e8599229bd Gordon Bergling 2025-12-13 09:48:56

debug: classified in 01-style by '[tT]ypo'

altq(4): Fix a typo in a source code comment
- s/backet/bucket/

MFC after:      3 days
1df4d82bd17ebd7449a6b58c32b65a12269ca068 Gordon Bergling 2025-12-13 09:50:05

debug: classified in 01-style by '[tT]ypo'

ng_hci(4): Fix a typo in a source code comment
- s/depricated/deprecated/

MFC after:      3 days
756712d745db207085f1fe87dc8258434ec2147d Gordon Bergling 2025-12-13 09:51:45

debug: classified in 01-style by '[tT]ypo'

mtree: Fix typos
Manually apply a typo fix.  This change has already been submitted
upstream as bin/59824.

MFC after:      1 week
dab5daf54cc26aaf2679a2eda5f378461f279ec5 Jose Luis Duran 2025-12-09 13:18:23

debug: classified in 01-style by '[tT]ypo'

Contrib code

zfs: retire zfs_zstd_compress_wrap
The function is unused, already disappeared upstream and results in
compilation warnings.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
4e0997d1d492eb955bb20a970a7fce189269498c Mateusz Guzik 2025-10-01 07:09:10

debug: classified in 03-filenames_plain1 by 'sys/contrib'

zfs: annotate arc_buf_is_shared with __maybe_unused
To avoid a compilation warning. The routine turned out to be rather
stubborn when it comes to trying to ifdef it out.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
1bbc898dbf72638ac0dfbc666f62d39dbd68258a Mateusz Guzik 2025-10-01 10:17:14

debug: classified in 03-filenames_plain1 by 'sys/contrib'

crypto/openssl: update to 3.5.4
This change includes all necessary changes required to update to OpenSSL
3.5.4.

More information about the 3.5.4 release can be found in the relevant
release notes (see 8e12a5c4eb3507846b5 for more details).

Merge commit '8e12a5c4eb3507846b507d0afe87d115af41df40'
046c625e9382e17da953767b881aaa782fa73af8 Enji Cooper 2025-10-04 03:26:18

debug: classified in 03-filenames_plain1 by 'crypto/openssl/'

zfs: merge openzfs/zfs@5605a6d79
Notable upstream pull request merges:
 #16025 26b0f561b dnode_next_offset: backtrack if lower level does not match
 #17758 c722bf881 Add interface to interface spa_get_worst_case_min_alloc()
                  function
 #17765 8d4c3ee9e zvol: Fix blk-mq sync
 #17787 8869caae5 zinject: Introduce ready delay fault injection
 #17780 b2196fbed Fix 'zpool add' safety check corner cases
 #17783 5c38029f4 zdb: add ZFS_KEYFORMAT_RAW support for -K option
 #17786 f0a95e897 zpool iostat: refresh pool list every interval
 #17807 -multiple zpool iostat: fix regressions in "all pools" mode
                  after #17786
 #17793 -multiple ddt prune: Add SCL_ZIO deadlock workaround
 #17799 ac2d8c80b Make mount/share errors non-fatal for zfs create/clone

Obtained from:  OpenZFS
OpenZFS commit: 5605a6d79b3582296208ac391f93a5faf729fa92
36c970ed985ff3dd5443db4bf2aa58799028512c Martin Matuska 2025-10-05 06:51:00

debug: classified in 03-filenames_plain1 by 'sys/contrib'

Commit group #82: unbound: Vendor import 1.24.0
unbound: Vendor import 1.24.0

Release notes at
        https://nlnetlabs.nl/news/2025/Sep/18/unbound-1.24.0-released/

MFC after:      1 week

Merge commit '0064eb9cf1c8d526e87d3149249445d4bc8d0248'
b2efd602aea8b3cbc3fb215b9611946d04fceb10 Cy Schubert 2025-10-07 13:58:59

debug: classified in 05-summary-prefix by 'unbound:'


local-unbound-setup: Set so-sndbuf to 0

Without this setting, Unbound 1.24.0 and newer will attempt to set the
socket buffer size to 4 MB to mitigate issues that mostly affect servers
with large numbers of clients on local networks, which is not a scenario
local-unbound is intended for.  This is not only a waste of resources,
it can also fail, resulting in a warning message on daemon startup.

Fixes:          https://cgit.freebsd.org/src/commit/?id=b2efd602aea8 ("unbound: Vendor import 1.24.0")
Reviewed by:    jlduran, cy
Differential Revision:  https://reviews.freebsd.org/D52977
de3faa85d8f99d260cbfa6242dd8e4ece693e4f8 Dag-Erling Smørgrav 2025-10-08 16:45:02

debug: classified in 04-filenames_plain2 by 'usr.sbin/'

debug: moved to contrib because 'Need to be grouped with b2efd602aea8b3cbc3fb215b9611946d04fceb10'

crypto/openssl: update generated files to match 3.5.4 artifacts
MFC with:     046c625e9382
Fixes:          https://cgit.freebsd.org/src/commit/?id=046c625e9382 ("crypto/openssl: update to 3.5.4")
Reported by:    Herbert J. Skuhra <herbert@gojira.at>
d4033e6d37747f5213bb245c8e605406703a8766 Enji Cooper 2025-10-07 23:14:13

debug: classified in 05-summary-prefix by 'crypto/openssl:'

contrib/bsddialog: Import version 1.0.5
Version for change and feature requests.

* Improve documentation for --alternate-screen and --normal-screen.
  Request: https://bugs.freebsd.org/285459. (This PR is not about
  bsddialog itself but is used as an example for an official FreeBSD
  documentation request.)

* Reduce the number of screen refreshes to improve performance over a
  115200 UART connection.
  Request: https://gitlab.com/alfix/bsddialog/-/issues/8.

* Change textbox buttons to return distinct values (previously always
  returned OK).
  Request: https://reviews.freebsd.org/D48668; already committed in
  contrib/ 96a241a35905078bdc5d20bf25943cdb67758dea

* Change forms navigation key behavior for ENTER and TAB.
  Request: https://bugs.freebsd.org/287592.

Refer to /usr/src/contrib/bsddialog/CHANGELOG to know more.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287592
Reported by:    adrian
Sponsored by:   The FreeBSD Foundation

Merge commit '653f765f05b8c7e3908ae92e9bf61522a50cefc9' into YYY
3e42d7194bdcd4fbfd781518258f919d6ac803d3 Alfonso S. Siciliano 2025-10-09 15:39:10

debug: classified in 03-filenames_plain1 by 'contrib/'

kyua: Make "test" command actually report about workdir cleanup issues
Reviewed by:  ngie
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D51136
21716b6c3ed6e28fe5cc14ee3ffe93f44c458b09 Igor Ostapenko 2025-10-11 13:14:16

debug: classified in 03-filenames_plain1 by 'contrib/'

MFV: Import blocklist 2025-04-28 (8aa81bf)
Merge commit '70f30afd4e9af5a51ee324d97e4d8c5f2124ec15'

Breaking changes:

- Upstream commit 24932b6 ("blocklistd: log the conf file line number
  with bad protocol errors") breaks backward database compatibility.
  An error will be displayed:
      Key size mismatch 296 != 288
  A new and compatible database, with the new name, will be created when the
  service starts (committed separately).

- Upstream commit ddf6d71 ("implement BLOCKLIST_BAD_USER as a
  "one-count" failure") introduced BLOCKLIST_BAD_USER with a one-count
  failure mechanism.  BLOCKLIST_AUTH_FAIL was implemented with a
  two-count failure mechanism.  Since we utilize BLOCKLIST_AUTH_FAIL, the
  number of failed attempts now doubles towards the maximum limit
  (nfails).  This commit will be reverted separately.

Changes:

https://github.com/zoulasc/blocklist/compare/7093cd9...8aa81bf

Approved by:    emaste (mentor)
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D52869
48e64ca13d4f36795ac718911b805e3e9a726f1b Jose Luis Duran 2025-10-12 17:01:03

debug: classified in 03-filenames_plain1 by 'contrib/'

blocklist: Revert upstream commit ddf6d71
Upstream commit ddf6d71 ("implement BLOCKLIST_BAD_USER as a "one-count"
failure") introduced BLOCKLIST_BAD_USER with a one-count failure
mechanism.  BLOCKLIST_AUTH_FAIL was implemented with a two-count failure
mechanism.  Since we have been utilizing BLOCKLIST_AUTH_FAIL, the number
of failed attempts now doubles towards the maximum limit (nfails),
giving system administrators the impression that the number of failed
authentication attempts is inaccurate.

Revert this commit until a consensus has been reached.  We do not want
to introduce yet another breaking change with the renaming of the
library.

Approved by:    emaste (mentor)
MFC after:      2 days
4d56eb007b18881becb2107f87bd2a7edca3e6bf Jose Luis Duran 2025-10-11 14:15:03

debug: classified in 03-filenames_plain1 by 'contrib/'

blocklist: Rename blacklist to blocklist
Follow up upstream rename from blacklist to blocklist.

- Old names and rc scripts are still valid, but emitting an ugly warning
- Old firewall rules and anchor names should work, but emitting an ugly
  warning
- Old MK_BLACKLIST* knobs are wired to the new ones

Although care has been taken not to break current configurations, this
is a large patch containing mostly duplicated code.  If issues arise, it
will be swiftly reverted.

Reviewed by:    ivy (pkgbase)
Approved by:    emaste (mentor)
MFC after:      2 days
Relnotes:       yes
7238317403b95a8e35cf0bc7cd66fbd78ecbe521 Jose Luis Duran 2025-10-12 17:14:27

debug: Commit manually moved from "unknown" to "contrib".

blocklist-helper: Silence a bogus pf warning
Silence a bogus warning about (an ethernet) anchor not being found.

It has been reported as PR 280516.  In the meantime, just sweep under
the carpet.

Approved by:    emaste (mentor)
MFC after:      2 days
2347ca21d657121670e6e7246c6ac32efc996cac Jose Luis Duran 2025-10-12 17:16:12

debug: Commit manually moved from "unknown" to "contrib".

libnv: Fix a length check in nvpair_unpack_string_array()
A string array is represented by a set of nul-terminated strings
concatenated together.  For each string, we check to see if there's a
nul terminator at the end, taking care to avoid going past the end of
the buffer.  However, the code fails to handle the possibility that
size == 0 at the end of an iteration, leading to underflow.

Fix the length check.

Reported by:    Ilja van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    emaste
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53069
937693fc9e4ff4045cc674a14902f0d53e84ec98 Mark Johnston 2025-10-15 20:15:08

debug: classified in 03-filenames_plain1 by 'sys/contrib'

zfs: Emit warning upon use of legacy sysctls
The introduction of OpenZFS moved some sysctls, and legacy compat shims
were added.  For example:

Old (legacy) name: vfs.zfs.min_auto_ashift
New name:          vfs.zfs.vdev.min_auto_ashift

Upstream OpenZFS removed these, but we've temporarily restored them in
FreeBSD.

Note that l2arc sysctls use generic sysctl functions (e.g. SYSCTL_UQUAD)
and thus cannot trivially have warnings added, so they are not handled.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266374
Reviewed by:    jlduran
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53033
654a3aa9a1de176648eec00b3c201c33b10bd325 Ed Maste 2025-10-09 15:57:14

debug: classified in 03-filenames_plain1 by 'sys/contrib'

crypto/openssl: remove autogenerated files
These files contain build host paths and other configuration details
that can be regenerated via the standard vendor import process. Don't
clutter up the FreeBSD tree with these files.

Add the paths to .gitignore to prevent them from accidentally being
added in a future update.

MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53044
d271d2ce152435b14e309bd8b25f47a0f4a2040f Enji Cooper 2025-10-11 16:48:10

debug: classified in 05-summary-prefix by 'crypto/openssl:'

OpenSSL: install .pc files from the exporters subdir
The .pc files generated in the root directory are used as part of the
build; they should never be installed. Use the versions from the
exporters subdirectory--which should be installed--as the .pc files
which are distributed with FreeBSD. This avoids the need for "fixing up"
these files after the fact (see `crypto/openssl/BSDmakefile` for more
details as part of this change).

Garbage collect `secure/lib/libcrypto/Makefile.version`, et al,
as they're orphaned files. They were technically unused prior to this
change as the vendor process properly embeds the version numbers in
various files, but this commit formalizes the removal.

This correction/clarification on the .pc files will be made in an
upcoming release of OpenSSL [1].

References:
1. https://github.com/openssl/openssl/issues/28803

Suggested by:   Richard Levitte (OpenSSL project)
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53043
97388e7215e080f2cb9fd446f4be4e46a9aeb114 Enji Cooper 2025-10-11 20:47:20

debug: classified in 05-summary-prefix by 'OpenSSL:'

regex/exhaust_test: Skip flaky 'regcomp_too_big' testcase on all archs
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259971
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
1ddff51060ad759e35dcc4716b0bdcdb40255862 Siva Mahadevan 2025-10-03 13:56:32

debug: classified in 03-filenames_plain1 by 'contrib/'

regex/exhaust_test: Update require.memory
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259971
Obtained from:  NetBSD 7753bf0b705a
Sponsored by:   The FreeBSD Foundation
08345e62a28eb971f65125f45c512a12b39ee2eb Ed Maste 2025-10-17 14:43:25

debug: classified in 03-filenames_plain1 by 'contrib/'

zfs: merge openzfs/zfs@6ae99d269
Notable upstream pull request merges:
 #17750 6e5b836e9 FreeBSD: Correct _PC_MIN_HOLE_SIZE
 #17803 1861a329f zvol: verify IO type is supported
 #17826 51de2d76f Explicit set ashift for non-leaf vdevs
 #17830 f4276479c Suppress some ashift warnings
 #17843 6ae99d269 mmap_seek: print error code and text on failure

Obtained from:  OpenZFS
OpenZFS commit: 6ae99d26924decb5f618b596ec7663e6a26d2e5f
6e6cde8f2bdb235b741061e3c6ee664752f25c18 Martin Matuska 2025-10-20 10:18:26

debug: classified in 03-filenames_plain1 by 'sys/contrib'

zfs: zfs_getpages: Don't zero freshly allocated pages
Initially, `zfs_getpages()` is provided with an array of busy pages by
the vnode pager. It then tries to acquire the range lock, but if there
is a concurrent `zfs_write()` running and fails to acquire that range
lock, it "unbusies" the pages to avoid a deadlock with `zfs_write()`.
After that, it grabs the pages again and retries to acquire the range
lock, and so on.

Once it got the range lock, it filters out valid pages, then copy DMU
data to the remaining invalid pages.

The problem is that freshly allocated zero'd pages it grabbed itself are
marked as valid. Therefore they are skipped by the second part of the
function and DMU data is never copied to these pages. This causes mapped
pages to contain zeros instead of the expected file content.

This was discovered while working on RabbitMQ on FreeBSD. I could
reproduce the problem easily with the following commands:

    git clone https://github.com/rabbitmq/rabbitmq-server.git
    cd rabbitmq-server/deps/rabbit

    gmake distclean-ct RABBITMQ_METADATA_STORE=mnesia \
      ct-amqp_client t=cluster_size_3:leader_transfer_stream_send

The testsuite fails because there is a sendfile(2) that can happen
concurrently to a write(2) on the same file. This leads to sendfile(2)
or read(2) (after the sendfile) sending/returning data with zeros, which
causes a function to crash.

The patch consists of not setting the `VM_ALLOC_ZERO` flag when
`zfs_getpages()` grabs pages again. Then, the last page is zero'd if it
is invalid, in case it would be partially filled with the end of the
file content. Other pages are either valid (and will be skipped) or they
will be entirely overwritten by the file content.

This patch was submitted to OpenZFS as openzfs/zfs#17851 which was
approved.

Reviewed by:    avg, mav
Obtained from:  OpenZFS
OpenZFS commit: 8a3533a366e6df2ea770ad7d80b7b68a94a81023
MFC after:      3 days
Differential revision: https://reviews.freebsd.org/D53219
b596b4496568c21e1e8f9c21be913cfc5b71bd9b Jean-Sébastien Pédron 2025-10-16 08:16:18

debug: classified in 03-filenames_plain1 by 'sys/contrib'

unbound: Vendor import 1.24.1
Release notes at
        https://nlnetlabs.nl/news/2025/Oct/22/unbound-1.24.1-released/

Security:       CVE-2025-11411
MFC after:      3 days

Merge commit '73dd92916f532cb3fe353220103babe576d30a15'
8b29c373e6ab530b62122ea2adcbe637c07e06c9 Cy Schubert 2025-10-23 18:56:54

debug: classified in 05-summary-prefix by 'unbound:'

iwlwifi: update Intel's mvm/mld drivers
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ).

Some of the changes we reported upstream got incorporated in this
(or the v6.16) release.

This also includes a change from iwlwifi-next.git::next for missing symbols

iwl_mvm_v3_rate_from_fw() and iwl_mvm_v3_rate_to_fw() were originally
comitted to mvm/rs.[ch] which we do not have.  That left us with
unresolved symbols.  For the never comitted v6.16 driver update I had
started to piece these together but they have been migrated out to
utils.c so take them from there until the next release hopefully ships
this change.

Obtained from:  git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git
        branch next, 1b49af228594452206d5c50a33b6a341428edb63

MFC after:      3 days
6b627f88584ce13118e0a24951b503c0b1f2d5a7 Bjoern A. Zeeb 2025-10-17 17:27:49

debug: classified in 03-filenames_plain1 by 'sys/contrib'

rtw88: update Realtek's rtw88 driver
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ).

MFC after:      3 days
eb15fdb1b72de02e7a4c454f7eeeb1cee5cb83df Bjoern A. Zeeb 2025-10-17 20:22:54

debug: classified in 03-filenames_plain1 by 'sys/contrib'

rtw89: update Realtek's rtw89 driver
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ).

MFC after:      3 days
354a030185c650d1465ed2035a83636b8f825d72 Bjoern A. Zeeb 2025-10-17 20:46:45

debug: classified in 03-filenames_plain1 by 'sys/contrib'

mt76: update Mediatek's mt76 driver
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ).

MFC after:      3 days
14b53301e8d482654f94c23e6884fe96b3d26825 Bjoern A. Zeeb 2025-10-17 21:22:52

debug: classified in 03-filenames_plain1 by 'sys/contrib'

zfs: merge openzfs/zfs@0455150f1
Notable upstream pull request merges:
 #17836 adacf020c Fix return value for setting zvol threading
 #17839 44704616b zpool: fix conflict with -v and -o options
 #17851 3a55e76b8 FreeBSD: zfs_getpages: Don't zero freshly allocated pages
 #17863 0455150f1 FreeBSD zio_crypt.c: initialize uio variables before
                  access

Obtained from:  OpenZFS
OpenZFS commit: 0455150f1160dd7089ab31fefcfc58bfa548ab81
e6e941e659ab7b3db6786103c1cdc30735a82e32 Martin Matuska 2025-10-25 07:52:46

debug: classified in 03-filenames_plain1 by 'sys/contrib'

MFV: Import blocklist 2025-10-25 (156df4f)
Merge commit '1ae0b2f3a242a48af2deef1e88649bf4a3a74e2f'

Changes:

https://github.com/zoulasc/blocklist/compare/8aa81bf...156df4f

MFC after:      2 days
bcbe0a3c924e09c4d78514e3d16d493e3da54f83 Jose Luis Duran 2025-10-25 21:15:18

debug: classified in 03-filenames_plain1 by 'contrib/'

blocklist: blacklist: Chase recent upstream changes
Upstream introduced an extra column in blocklistctl(8) to display the
name of the rule associated in the database entry.

It is intended to avoid confusion when seemingly duplicate locations
appear in the output of the blocklistctl dump command.  Especially when
users are transitioning from the old nomenclature to the new one.

The latest patches will not be fully backported to blacklistctl(8), to
avoid breaking current scripts that may be parsing its output.  Also we
are slowly preparing to feature-freeze everything related to blacklist.

MFC:    2 days
eae98e28a0e17f625e29f9849a4dc655636d9164 Jose Luis Duran 2025-10-25 21:24:13

debug: classified in 03-filenames_plain1 by 'contrib/'

vchiq: update printf-s to more architecture-independent format specifiers
This migrates a bunch of format strings to compile on both 32 and
64 bit platforms.

This should be a no-op, and it isn't yet used by a 64 bit kernel build
as the 64 bit changes to vchiq are not yet in the tree.

Differential Revision:  https://reviews.freebsd.org/D36431
Submitted by: Marco Devesas Campos <devesas.campos@gmail.com>
1d100747d747887a13498216d39b03e26b381d8b Adrian Chadd 2025-10-20 02:38:21

debug: classified in 03-filenames_plain1 by 'sys/contrib'

MFV: Import blocklist 2025-10-26 (ff13526)
Merge commit 'df549a80425635d98419f7f742309d66d367e65f'

Changes:

https://github.com/zoulasc/blocklist/compare/156df4f...ff13526

MFC after:      2 days
34ffc7073f1786bae5e77593abd423ed31c10024 Jose Luis Duran 2025-10-27 12:57:37

debug: classified in 03-filenames_plain1 by 'contrib/'

blocklist: blacklist: Chase recent upstream changes
Upstream introduced a fix that avoids blocklistd(8) from running into an
endless loop when it tries to delete an address from the database which
has been added multiple times.

Apply the same fix to blacklistd(8).

Upstream PR:    https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=57193
MFC after:      2 days
b502a451cbae6a85636c7b8375f5ee53caca4388 Jose Luis Duran 2025-10-27 15:01:22

debug: classified in 03-filenames_plain1 by 'contrib/'

pjdfstest: Fix link count test
This UFS-only test verifies that attempting to create more links than
permitted by the file system returns EMLINK, but has been broken ever
since UFS_LINK_MAX was increased because a) it hardcodes the previous
value of UFS_LINK_MAX, and b) the new value requires more space than
the test allocates, so it ends up getting ENOSPC instead of EMLINK.

* Switch to retrieving {PC_LINK_MAX} at runtime.

* Stop the test when we reach {PC_LINK_MAX} links.  This ensures that
  we don't go on for hours if the actual limit turns out to be much
  higher than we anticipated (e.g. INT64_MAX on ZFS).

* Double the size of the test filesystem.

MFC after:      3 days
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Fixes:          https://cgit.freebsd.org/src/commit/?id=35a301555bff ("Increase UFS/FFS maximum link count from 32767 to 65530.")
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53442
6c86379b0d0deb2750a662579f63d71ffa519e81 Dag-Erling Smørgrav 2025-10-30 20:18:17

debug: classified in 03-filenames_plain1 by 'contrib/'

pjdfstest: Avoid needless use of expr
Sponsored by: Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53443
28345f093783ec78163660dd1168838fe0ff1f12 Dag-Erling Smørgrav 2025-10-30 20:18:23

debug: classified in 03-filenames_plain1 by 'contrib/'

vchiq: fix compilation error on armv7 in CI and local armv7 builds
This happens in CI and on local armv7 builds, but not when I cross
compile to armv7 locally.

> /usr/src/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c:549:71: error: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Werror,-Wformat]
>   549 |                 "free_pagelist - %zx, %d (%u bytes @%p)", (size_t)pagelist, actual, pagelist->length, bi->buf);

So just be very specific about the printf types and explicitly
cast things.
0726d6e87ad508f9e6a78685d3d9067edf255588 Adrian Chadd 2025-11-01 17:23:12

debug: classified in 03-filenames_plain1 by 'sys/contrib'

tzcode: Fix early tz change detection
Assume tzdata is not fresh if last_checked is zero, as comparing the
current time to last_checked less than __tz_change_interval after boot
may produce a false negative.

While here, invert the return value from tzdata_is_fresh() to better
match its new name (it was previously called recheck_tzdata(), so zero
for fresh and non-zero for stale made sense, but it doesn't now).

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269207
MFC after:      3 days
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D53502
a38c2f99f81c2fc35c8ca209931c1c46e3e81023 Dag-Erling Smørgrav 2025-11-02 13:51:42

debug: classified in 03-filenames_plain1 by 'contrib/'

contrib/bsddialog: import 1.1
Add: slider dialog.
Imported to enable testing and to complete the geomman(8) utility.

Developed as part of the "Full Disk Administration Tool for FreeBSD"
project, Braulio Rivas (brauliorivas@), Google Summer of Code 2025.

Sponsored by:   Google LLC (GSoC 2025)

Merge commit '5a70558d32b9680c10ab579c7491652e0838cee4'
f2d966f6c13d93cccceb8e594a69d1a50471d314 Alfonso S. Siciliano 2025-11-03 20:17:27

debug: classified in 05-summary-prefix by 'contrib/bsddialog:'

MFV: less v685.
MFC after:    3 days
d5cb458b4b58b0f0b3c058a32439f232fd5455ca Xin LI 2025-11-10 08:55:06

debug: Commit manually moved from "unknown" to "contrib".

vchiq: add compat_freebsd32 ioctls and respective datatypes
Submitted by: Marco Devesas Campos <devesas.campos@gmail.com>
Differential Revision:  https://reviews.freebsd.org/D37879
70e73c43a472e260e8f4b27b65a760643dee85dc Marco Devesas Campos 2025-10-20 02:53:37

debug: classified in 03-filenames_plain1 by 'sys/contrib'

edk2: Move ProcessorBind.h to contrib/edk2
Have our own ProcessorBind.h. It just includes sys/efi-edk2.h, but
undefines TRUE, FALSE and MAC. The first two are from acpica and are
redefined to something almost the same. MAC is a global option that,
well, interferes with using EDK2, dangit. I suppose I should redefine it
after, but I don't think you can save the value of a pre-processor
variable.

This breaks a little with the tradition of having this in a seprate
directory and using build magic. However, the build is already magical
enough and having this here makes things less magical. Also, EDK2 puts
this in a processor specific directory, so we won't have conflicts (they
need it there since they run on more processors than we do: we can just
include sys/efi-edk2.h which covers the smallar variance we have in
processors).

Sponsored by:           Netflix
67c7e94315ffeaa55e3dcf2f6066cb8fe483b5c2 Warner Losh 2025-11-16 17:34:33

debug: Commit manually moved from "unknown" to "contrib".

edk2: Tweak the tests for UEFI Specification Data Type requirements
On x86 these trigger for 32-bit builds. We only ever (will) do that for
the 32-bit loader that starts a 64 bit kernel for ia32. For the moment,
take the training wheels off, though most likely some compile flags need
to be used to change the i386 ABI to force *int64_t alignment to 64
bits or some other horror as yet ill-concieved. Despite this assertion,
the ia32 to boot 64-bit kernels loaders seem to work.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D53653
473786a131b0546e60fc8330f79e270e145e1bfd Warner Losh 2025-11-16 17:34:58

debug: classified in 03-filenames_plain1 by 'sys/contrib'

edk2: Pull in more headers from edk2
Pull in more headers from edk2-stable202502 that will be needed as we
transition the building to using only EDK2 headers in the boot loader,
finally ditching our home-grown ones from a super-obsolete SDK from the
early days of EFI.

Note to future importers: My apologies if this not being a mege commit
causes problems. Except for ProcessorBind.h, all files should be exactly
as we got them from EDK2, and if that breaks the build on future
imports, we should adjust our code.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D53654
f439973d6726c3be929c8fb3b1545b8b1744abc3 Warner Losh 2025-11-16 17:35:16

debug: classified in 03-filenames_plain1 by 'sys/contrib'

tpm20: Bring in the edk2 includes for TPM 2.0 support
Bring these in from edk2-stable202502. They will be used in a
forthcoming TPM 2.0 support code.

Sponsored by:           Netflix
1aa241b4ee657b8a62a0d86b91f82cf792f08dca Warner Losh 2025-11-16 17:36:43

debug: classified in 03-filenames_plain1 by 'sys/contrib'

edk2: Bring in Guid/Fdt.h
This one is from EmbeddedPkg/Include/Guid/Fdt.h, which is our first
EmbeddedPkg addition. For the moment, I'm doing this as an ad-hoc basis,
but in the next import may need to reconsider the strategy.

Sponsored by:           Netflix
af6d77c0bd0166dc9376b98aab79dfe806d95106 Warner Losh 2025-11-16 23:49:59

debug: classified in 03-filenames_plain1 by 'sys/contrib'

Base.h: Ifdef out always char purity test.
Now that we've moved to always using this, it turns out the the funky
thing we have for L'a' is everywhere. Removing this check until I can
sort it out. This breaks the build on armv7 otherwise.

Fixes:          https://cgit.freebsd.org/src/commit/?id=43b8edb32051
Sponsored by:   Netflix
499d2ed109ef6f284de89f2c1ad54393ecc27056 Warner Losh 2025-11-17 02:38:14

debug: classified in 03-filenames_plain1 by 'sys/contrib'

edk2: Import UefiCpuPkg/Include/Protocol/RiscVBootProtocol.h
Import UefiCpuPkg/Include/Protocol/RiscVBootProtocol.h to
Include/Protocol. This is another direct copy that needs to be carefully
considered in future imports. For now, it's easier to add this
incrementally here.

Sponsored by:           Netflix
c570deb1cc3182b4643e56d7010a763cf6e0884d Warner Losh 2025-11-17 05:08:22

debug: classified in 03-filenames_plain1 by 'sys/contrib'

zfs: merge openzfs/zfs@e63d026b9
Notable upstream pull request merges:
 #17477 02fdd26e5 Add knob to disable slow io notifications
 #17792 d0294aa75 Update dnode_next_offset_level to accept blkid instead
                  of offset
 #17824 8c225ff1b Fix gang write late_arrival bug
 #17861 -multiple Lift userspace definitions out of zfs_context.h
 #17872 dcada084b Pass flags to more DMU write/hold functions
 #17875 ec268cdf9 Fix caching of DDT log and BRT
 #17875 ea125eeb5 BRT: Round bv_entcount up to BRT_BLOCKSIZE
 #17877 6cfc3dba9 Cleanup ZIO_FLAG_IO_RETRY vs TRYHARD usage
 #17885 e63d026b9 cmd/zpool cstyle issues
 #17890 b4f073b5a Add BRT support to zpool prefetch command
 #17903 baefe098e ZIO: Set minimum number of free issue threads to 32
 #17906 6e12f0bd7 spa_misc: add an API for spa_namespace_lock
 #17908 e26b9fc87 FreeBSD: Add support for _PC_CASE_INSENSITIVE
 #17911 -multiple Update library ABI versions for v2.4.0
 #17915 8aaed7dc4 BRT: Fix ranges to blocks conversion math
 #17916 cc5cae547 BRT: Increase block size from 4KB to 8KB
 #17921 72b2a9571 ZAP: Remove dmu_object_info_from_dnode() call

Obtained from:  OpenZFS
OpenZFS commit: e63d026b91b822dd9b363ab9a1e39d9a66493601
8ac904ce090b1c2e355da8aa122ca2252183f4e1 Martin Matuska 2025-11-17 16:11:32

debug: classified in 03-filenames_plain1 by 'sys/contrib'

contrib/mandoc: add -ieee754-2008
This is needed to simplify the msun manpages {sin,cos,tan}pi.3

Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53784
db3884b03989b095d746087afab8e5e649c3699a Robert Clausecker 2025-11-17 17:18:40

debug: classified in 03-filenames_plain1 by 'contrib/'

diff3: Remove bespoke getopt.h
diff3's getopt.h included a function declaration without a prototype,
which produces a compiler warning.  Just remove the bespoke getopt.h
and use the system header.

Reported by:    Mark Millard
Reviewed by:    fuz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53802
38829592dc77e9ead4259785e0bfb93bd4c2fe34 Ed Maste 2025-11-18 13:16:22

debug: classified in 03-filenames_plain1 by 'contrib/'

diff3: Use logical-not, not bitwise for booleans
And compare impcompat != 0 as it's actually an integer incremented on
each use of one of the AeExX3 options.

Reviewed by:    fuz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53808
abcb80f46c2607fc16564ca87cc25f0908f29f99 Ed Maste 2025-11-18 13:20:40

debug: classified in 03-filenames_plain1 by 'contrib/'

iwlwifi/mld: only get tid after checking that it is a dataqos frame
Like we did for mvm, only get the tid after all the other checks are
done by the function in order to not trigger an assert.  Linux will
likely return a random value there which later is not used as the
driver does an early return.  In LinuxKPI we do check that the frame
assumptions hold up, which does not go so well for a random frame.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290808
9040277864ab28cabfc53f238e900bc19ac75d7e Bjoern A. Zeeb 2025-11-19 02:13:15

debug: classified in 03-filenames_plain1 by 'sys/contrib'

libarchive: merge from vendor branch
libarchive 3.8.3

Important bugfixes:
 #2753 lib: Create temporary files in the target directory
 #2768 lha: Fix for an out-of-bounds buffer overrun when using
       p[H_LEVEL_OFFSET]
 #2769 7-zip: Fix a buffer overrun when reading truncated 7zip headers
 #2771 lz4 and zstd: Support both lz4 and zstd data with leading
       skippable frames

Obtained from:  libarchive
Vendor commit:  1368b08875351df8aa268237b882c8f4ceb0882d
MFC after:      1 week
007679a138089676aadc9a712277f4004403b905 Martin Matuska 2025-11-19 13:33:40

debug: classified in 03-filenames_plain1 by 'contrib/'

ntpd: Fix segfault when same IP on multiple interfaces
Use the protype socket to obtain the IP address for an error message.
Using the resultant socket address, a NULL because create_interface()
had failed, results in SIGSEGV.

To reproduce this bug,

ifconfig bridge100 create
ifconfig bridge100 10.10.10.10/24
ifconfig bridge101 create
ifconfig bridge101 10.10.10.10/24
ntpd -n

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291119
MFC after:      3 days
ac1f48b4a7be104d222dea60f1da946fcb345fb1 Cy Schubert 2025-11-21 00:16:04

debug: classified in 03-filenames_plain1 by 'contrib/'

Import device-tree files from Linux 6.13
5f62a964e9f8abc6a05d8338273fadd154f0a206 Emmanuel Vadot 2025-11-22 11:19:36

debug: classified in 03-filenames_plain1 by 'sys/contrib'

Import device-tree files from Linux 6.14
2846c90520eb4cc74e24d586a0ea0f4a0006bc73 Emmanuel Vadot 2025-11-22 11:21:01

debug: classified in 03-filenames_plain1 by 'sys/contrib'

Import device-tree files from Linux 6.15
8ccc0d235c226d84112561d453c49904398d085c Emmanuel Vadot 2025-11-22 11:26:43

debug: classified in 03-filenames_plain1 by 'sys/contrib'

Import device-tree files from Linux 6.16
ae5de77ed78ae54d86cead5604869212e8008e6b Emmanuel Vadot 2025-11-22 11:28:38

debug: classified in 03-filenames_plain1 by 'sys/contrib'

Import device-tree files from Linux 6.17
833e5d42ab135b0238e61c5b3c19b8619677cbfa Emmanuel Vadot 2025-11-22 11:29:29

debug: classified in 03-filenames_plain1 by 'sys/contrib'

dts: Revert its addition for rk356x
Rockchip have two erratas (#3568001 and #3568002) for the GIC on RK356x.

Until we have a way to handle them revert the changes that uses ITS instead of
GIC for PCIe.
55de86dac813d2f8fbb70dd15b17a5677cb1168f Emmanuel Vadot 2025-11-22 17:32:54

debug: classified in 03-filenames_plain1 by 'sys/contrib'

lldb: Fix Architecture parsing by reading the ELF header. (#162811)
Currently, LLDB in FreeBSD host sets the Process Architecture used by
lldbserver as Default one. Which cause problem when trying to debug a
32bit binary on amd64 platform since the lldb itself will found mismatch
architecture with lldbserver's return.

Notice that this patch is only a partial fix for the debugging problem.
We are still unable to debug x86 on x86_64 so that we don't provide
testcase in this patch.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289945
Obtained from:  llvm-project 394e7ded8b6bcff1382468b407ca620a2837f41b
fa1c56b3affaab7be6ece43070b36da2e75787cb ShengYi Hung 2025-11-21 18:28:25

debug: classified in 03-filenames_plain1 by 'contrib/'

lldb: Fix empty register set when trying to get size of register
The register set information is stored as a singleton in
GetRegisterInfo_i386. However, other functions later access this
information assuming it is stored in GetSharedRegisterInfoVector. To
resolve this inconsistency, we remove the original construction logic
and instead initialize the singleton using llvm::call_once within the
appropriate function (GetSharedRegisterInfoVector_i386).

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289945
Obtained from:  llvm-project 41859c27842eeda1ef6ff18f3b2fb269388c0857
1d1a2e6932d682c40ab878bf83cbbde02d8d0af1 ShengYi Hung 2025-11-21 18:30:25

debug: classified in 03-filenames_plain1 by 'contrib/'

pam_krb5: Restore allow_kdc_spoof option
Not only does the new pam_krb5 module not have the same allow_kdc_spoof
option that the old one had, its behavior in this matter defaults to
insecure.  Reimplement allow_kdc_spoof and switch the default back.

Reviewed by:    cy
Differential Revision:  https://reviews.freebsd.org/D53884
fe5c8baf25a5b40285c3ef85b69391d591e4a76c Dag-Erling Smørgrav 2025-11-24 02:40:29

debug: classified in 03-filenames_plain1 by 'contrib/'

Mitigate YXDOMAIN and nodata non-referral answer poisoning.
Add a fix to apply scrubbing of unsolicited NS RRSets (and their
respective address records) for YXDOMAIN and nodata non-referral
answers. This prevents a malicious actor from exploiting a possible
cache poison attack.

Obtained from:  NLnet Labs
Security:       CVE-2025-11411
2a3a6a1771148a709c2d9694c1d66c41ce8dee79 Gordon Tetlow 2025-11-21 21:24:58

debug: classified in 03-filenames_plain1 by 'contrib/'

openzfs: We are FreeBSD, not posix.
Partially revert:
https://github.com/openzfs/zfs/commit/99d7453b43dc0ef04a35e461ef14db72e1326c7c
which introduced this file upstream. This causes this definition to be
preferred for all builds. Make the smallest change possible to this file
to change the default to FreeBSD. We're talking to the upstraem folks
about the right fix. Feel free to revert this in the future, so long as
`bectl activate -t` still works properly afterwards.

Sponsored by:           Netflix
3e69618d4bfbd0d952f86703c00a979f93e6152b Warner Losh 2025-11-26 20:30:13

debug: classified in 03-filenames_plain1 by 'sys/contrib'

jemalloc: avoid clash with C23 unreachable() macro
Summary: This avoids a clash with the new macro in <stddef.h>
introduced in D53967

Reviewed by:    imp
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53968
04d000a378b04bca1aff4a1cc3d74f5c9c5368b9 Robert Clausecker 2025-11-27 21:59:12

debug: classified in 03-filenames_plain1 by 'contrib/'

libarchive: merge from vendor branch
libarchive 3.8.4

Important bugfixes:
     #2787 bsdtar: Fix zero-length pattern issue
     #2797 lib: Fix regression introduced in libarchive 3.8.2
                when walking enterable but unreadable directories

Obtained from:  libarchive
Vendor commit:  d114ceee6de08a7a60ff1209492ba38bf9436f79
MFC after:      1 week
c1e033c33e8b290cd40f4069249c879efcbae6a6 Martin Matuska 2025-12-01 13:05:35

debug: classified in 03-filenames_plain1 by 'contrib/'

dtrace: remove sparc tests
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>

Reviewed by:    markj
MFC after:      1 week
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1907
d667cc77ba20082c16457ef4ae7f3060d9ab70b1 Minsoo Choo 2025-11-29 19:02:42

debug: classified in 03-filenames_plain1 by 'cddl/contrib/'

libdtrace: remove sparc code
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>

Reviewed by:    markj
MFC after:      1 week
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1907
dfd35cd244c081dad9bc0fa602ee230e4ea1d5c2 Minsoo Choo 2025-11-29 19:02:59

debug: classified in 03-filenames_plain1 by 'cddl/contrib/'

opensolaris: remove references to sparc
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>

Reviewed by:    markj
MFC after:      1 week
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1907
d11ff7f93386f36a385ea01498fd9ff9ff3862ce Minsoo Choo 2025-11-30 18:56:26

debug: classified in 03-filenames_plain1 by 'cddl/contrib/'

dtrace tests: Update names after the syscall::exit probe was renamed
MFC after:    1 week
Fixes:  https://cgit.freebsd.org/src/commit/?id=e7e964cb2ebd ("syscalls: normalize _exit(2) declerations")
17fd7780fbbb59932b72b5dac6bda93f67743b83 Mark Johnston 2025-12-01 13:46:20

debug: classified in 03-filenames_plain1 by 'cddl/contrib/'

ctfmerge: fix segfault when building on macOS
The barrier code was using semaphores which have been deprecated in
macOS and not working at all, causing a race condition. Since macOS
does not have pthread_barrier_*(), this change uses a condition
variable instead.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290958
Reported by:    wosch
MFC after:      2 weeks
Reviewed by:    imp, markj
Differential Revision:  https://reviews.freebsd.org/D54018
732b4aa05d78ca6831d02e67a43f34ad104f4f01 Mark Peek 2025-12-01 20:50:24

debug: classified in 03-filenames_plain1 by 'cddl/contrib/'

sqlite3: Update to 3.50.4
Release notes at https://www.sqlite.org/releaselog/3_50_4.html.

Obtained from:  https://www.sqlite.org/2025/sqlite-autoconf-3500400.tar.gz

Merge commit 'e7e917ee3cf2b3010b1c511c6ebaf8b65b983ad7'
07d5a9b1b2dd95d95137c6c2afcb84ad40c05b75 Cy Schubert 2025-12-02 15:22:26

debug: classified in 03-filenames_plain1 by 'contrib/'

Update to bmake-20251111
Merge commit '638c66de4a0faa4c2e815e81cd4021c2387c7e0f'
c60f6422ffae3ea85e7b10bad950ad27c463af18 Simon J. Gerraty 2025-12-03 18:13:30

debug: Commit manually moved from "unknown" to "contrib".

Commit group #83: mt76
mt76: ieee80211_is_first_frag() operates on the seq_ctrl field not on fc.

Pass the correct field to ieee80211_is_first_frag(); otherwise the results
may vary.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
X-To-Upstream:  yes
c67fd35e58c6ee1e19877a7fe5998885683abedc Bjoern A. Zeeb 2025-11-29 00:51:36

debug: classified in 03-filenames_plain1 by 'sys/contrib'


mt76: util.h: extend worker name

In mt76_worker_setup() add the "name" argument to the description
for the worker thread.  That way we have a chance to keep them apart.

While here, rename a variable and shorten the the (c)/SPDX section
according to new style.

MFC after:      3 days
9492230fd3d1e58696e9fd99cb9680b27bf1d424 Bjoern A. Zeeb 2025-12-03 01:01:28

debug: classified in 03-filenames_plain1 by 'sys/contrib'


mt76: add LINUXKPI_PARAM_PREFIX for module_param*

In order to not overwrite sysctl/tunables under compat.linuxkpi
we need to prefix the module_param* names with a per-driver/file
designator to make them (more) uniq.  Add the FreeBSD specific
LINUXKPI_PARAM_PREFIX defines for that where missing in mt76.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
853e0440c97a4a1797edd6d653fba4398dc885e8 Bjoern A. Zeeb 2025-12-03 01:05:05

debug: classified in 03-filenames_plain1 by 'sys/contrib'

rtw88: update Realtek's rtw88 driver
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
7d0a66e4bb9081d75c82ec4957c50034cb0ea449 ( tag: v6.18 ).

Merge commit 'e543442afe3ad5b27616575be2d2402b988656eb' into rtw88

Sponsored by:   The FreeBSD Foundation
8b4477f6b8e1b82acfef558a11facbb2797cb690 Bjoern A. Zeeb 2025-12-06 09:41:26

debug: classified in 03-filenames_plain1 by 'sys/contrib'

ath-common: update common Atheros/QCA code
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ).

Merge commit '99ad6f4f54c86845d6e3f03541913c07fcdeef59'
28125d24c92a45883b3ab105625ec5b3ba37e320 Bjoern A. Zeeb 2025-12-06 09:47:42

debug: classified in 03-filenames_plain1 by 'sys/contrib'

ath10k: update Atheros/QCA's ath10k driver
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
7d0a66e4bb9081d75c82ec4957c50034cb0ea449 ( tag: v6.18 ).

Merge commit 'f4669ef6cf7860919442e67106e83f616ed36f51'.

Sponsored by:   The FreeBSD Foundation
9954217599ce02fbf1772388e24e0b89663f4425 Bjoern A. Zeeb 2025-12-06 09:51:10

debug: classified in 03-filenames_plain1 by 'sys/contrib'

ath11k: update Atheros/QCA's ath11k driver
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
7d0a66e4bb9081d75c82ec4957c50034cb0ea449 ( tag: v6.18 ).

Merge commit '989a88787ef2c1a73f44b82031a6f4f4470e2676'

Sponsored by:   The FreeBSD Foundation
c95ea407b322379bcb3c013a2dca9a18072c1df8 Bjoern A. Zeeb 2025-12-06 10:16:36

debug: classified in 03-filenames_plain1 by 'sys/contrib'

ath11k: start making compile some more
There is more work to do to make this compile again but we will do that
when we get to the driver.  For now just take the most noise out of it.
9c2f321630894b40c1ec51ece881c7c765d6d749 Bjoern A. Zeeb 2025-12-06 10:21:31

debug: classified in 03-filenames_plain1 by 'sys/contrib'

zfs: merge openzfs/zfs@89f729dcc
Notable upstream pull request merges:
 #17932 1f3444f2b zpool: fix special vdev -v -o conflict
 #17934 -multiple Remove libuutil
 #17941 88d012a1d Fix snapshot automount expiry cancellation deadlock
 #17942 36e4f1888 Fix taskq NULL pointer dereference on timer race
 #17946 39303feba chksum: run 256K benchmark on demand, preserve
                  chksum_stat_data
 #17948 -multiple Remove libtpool
 #17957 e37937f42 ztest: fix broken random call
 #17960 928eccc5b DDT: Reduce global DDT lock scope during writes
 #17961 48f33c1ef DDT: Make children writes inherit allocator
 #17975 7f7d4934c FreeBSD: Fix uninitialized variable error
 #17980 a5b665df3 DDT: Switch to using wmsums for lookup stats
 #18004 ffaea0831 FreeBSD: Remove HAVE_INLINE_FLSL use

Obtained from:  OpenZFS
OpenZFS commit: 89f729dcca87425aadfa03d1764e96f285eb658d
66e85755595a451db490d2fe24267d85db4b09c2 Martin Matuska 2025-12-07 21:38:13

debug: classified in 03-filenames_plain1 by 'sys/contrib'

ofed/libibverbs: remove strdupa() hack from config.h
It is now provided by regular string.h.  While there, remove stale
$FreeBSD$ svn tag, and add include guards.

Sponsored by:   NVidia networking
MFC after:      1 week
6a75e3951506c12b42428a47710d07cadcdd723e Konstantin Belousov 2025-12-08 22:38:48

debug: classified in 03-filenames_plain1 by 'contrib/'

ofed/libibverbs: remove no longer needed local alloca.h
Sponsored by: NVidia networking
MFC after:      1 week
70edd3c126a591dec129958d3e103521de84746d Konstantin Belousov 2025-12-08 23:10:07

debug: classified in 03-filenames_plain1 by 'contrib/'

contrib/tzdata: import tzdata 2025c
a86dc94b84d177da8f00d1c9420ef0860576e4c4 Philip Paeps 2025-12-11 06:55:42

debug: classified in 03-filenames_plain1 by 'contrib/'

Import latest mtree from NetBSD
Merge commit 'f600477feb4ae61a75f61949eb600caff4aeea8c'

MFC after:      1 week
Discussed with: brooks
49b6dda4d71175ad615718401573be5fd024822b Jose Luis Duran 2025-12-13 14:28:16

debug: classified in 03-filenames_plain1 by 'contrib/'

mtree: tests: Import NetBSD's mtree test suite
Manually import latest mtree test suite from NetBSD.

MFC after:      1 week
2f29d0f3e6d25599c188c94bf1e395d9cbeb2a4d Jose Luis Duran 2025-12-09 15:45:01

debug: classified in 03-filenames_plain1 by 'contrib/'

zfs: Merge commit 86b064469dc9c2 from OpenZFS
  FreeBSD: Fix a potential null dereference in zfs_freebsd_fsync()

  In general it's possible for a vnode to not have an associated VM
  object.  This happens in particular with named pipes, which have
  some distinct VOPs, defined in zfs_fifoops.  Thus, this chunk of
  zfs_freebsd_fsync() needs to check for the FIFO case, like other
  vm_object_mightbedirty() callers do.

  (Note that vn_flush_cached_data() calls are predicated on
  zn_has_cached_data() returning true, and it checks for a NULL v_object
  pointer already.)

  Fixes: ef4058fcdc01838117dd93a654228bac7487a37c
  Reported-by: Collin Funk <collin.funk1@gmail.com>
  Reviewed-by: Sean Eric Fagan <sef@FreeBSD.org>
  Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
  Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
  Signed-off-by: Mark Johnston <markj@FreeBSD.org>
  Closes #18015

MFC after:      3 days
fa259d156d43966db95fe0f5cc15a0e6af206ff7 Mark Johnston 2025-12-14 17:20:38

debug: classified in 03-filenames_plain1 by 'sys/contrib'

Reverted commits

Revert "acpi_powerres: Fix turning off power resources on first D-state switch"
This reverts commit a13f28d57ecfd136ce73493659c28a47fa1a4b9f.

Reported by:    phk
Tested by:      phk
Sponsored by:   The FreeBSD Foundation
7bc6ec1a255da6678a72330d65a1f320de538727 Aymeric Wibo 2025-10-01 09:13:56

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit group #84: revert-pair-IfAPI
Revert "IfAPI: Added missing accessor for if_home_vnet"

This reverts commit 4e7a375804e5ad4b244ce9a035fa971cbf2f0944.

We do not want out-of-tree consumers to access the home_vnet variable.

As discussed with the author and Gleb Smirnoff.
ebb60d47a5350e5d752b97cba8b3b0c3be8aa1eb Kristof Provost 2025-10-01 16:13:54

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: flua: support our flua modules in the bootstrap flua
flua: support our flua modules in the bootstrap flua

This version builds every module into the flua binary itself, since all
of the bootstrap tools are built -DNO_SHARED.  As a result, we also
cannot dlsym(), so we can't really discover the names of our newly
builtin modules.  Instead, just build out a linker set with all of our
luaopen_*() functions to register everything up-front.

Building in all of the modules isn't strictly necessary, but it means
that we have an example of how to add a bootstrap module everywhere you
go and one doesn't need to consider whether bootstrap flua can use a
module when writing scripts.  On my build machine, the consequence on
our binary size is an increase from around 1.6M -> 1.9M, which isn't
really that bad.

.lua modules can install into their usual path below $WORLDTMP/legacy
and we'll pick them up automagically by way of the ctor that sets up
LUA_PATH early on.

Reviewed by:    bapt, emaste
Differential Revision:  https://reviews.freebsd.org/D51890
1953a12ee2cde1afacb3e3f7612d89695c96e04f Kyle Evans 2025-10-03 18:09:03

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "flua: support our flua modules in the bootstrap flua"

This reverts commit 1953a12ee2cde1afacb3e3f7612d89695c96e04f, because it
cannot work at all on macOS without more work, at a minimum.  We use
linker sets for module discovery, but we don't have a version of this
that works for mach-o at the moment.
bbef1c72b4873b657fdb0466b48b15d1d4f0a731 Kyle Evans 2025-10-04 00:52:36

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: flua: kick out the remaining builtin modules
flua: kick out the remaining builtin modules

Bootstrap flua has some magic now to handle modules by building them in
and discovering them via linker sets.  This is slightly cleaner than
always building them in and baking them into loadedlibs for both
bootstrap and system flua.

Adjust the stand build now that these three libs have their own new
homes.

Reviewed by:    bapt, emaste
Differential Revision:  https://reviews.freebsd.org/D51891
80ada959004c4386880e47b11618f8abfc2d80e1 Kyle Evans 2025-10-03 18:09:04

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "flua: kick out the remaining builtin modules"

This reverts commit 80ada959004c4386880e47b11618f8abfc2d80e1, because
bootstrap flua is about to get backed out.
d4c973fa148544a0b949ceb1efb6c68096f02baf Kyle Evans 2025-10-04 00:52:28

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: flua: don't build libjail into the bootstrap flua
flua: don't build libjail into the bootstrap flua

Other systems don't have jail support, and we won't be using it anyways.
31320402472394af57eb3a36bee7f944117ca0ed Kyle Evans 2025-10-03 20:16:30

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "flua: don't build libjail into the bootstrap flua"

This reverts commit 31320402472394af57eb3a36bee7f944117ca0ed, because
bootstrap flua is about to get backed out.
981cf36d64c48ebfa22d44ac83b6d448c2974f23 Kyle Evans 2025-10-04 00:52:04

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: cam/iosched: Initialize max_lat
cam/iosched: Initialize max_lat

Sponsored by:           Netflix
ce89c8f47a91f76b2fdeb1fdb504fd637ce93047 Warner Losh 2025-10-07 22:20:14

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "cam/iosched: Initialize max_lat"

This reverts commit ce89c8f47a91f76b2fdeb1fdb504fd637ce93047.

There's other parts to this, and GENERIC doesn't include iosched so
I missed that. Back out while I gather them together.

Sponsored by:           Netflix
86becbd8c1ce4393f4e35a9fa6b0e8308f500396 Warner Losh 2025-10-07 23:57:21

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

zfs: Revert "tunables: remove legacy FreeBSD aliases"
As of commit 87a7b35f04b6 ("bsdinstall: fix vfs.zfs.vdev.min_auto_ashift
oid") the installer uses the current vfs.zfs.vdev.min_auto_ashift sysctl
name, but there are many systems with configurations referring to the
legacy vfs.zfs.min_auto_ashift sysctl.  For now, restore the aliases.

This reverts commit ced72fdd69f27b54cf592351a36660cd9fd7dbd3.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266374
Reviewed by:    mm
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52660
a28b44ddc3484fcf02420543a223053404a2bfce Ed Maste 2025-09-21 14:46:22

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: UDP: let udp_pcblist() support UDP and UDP-Lite
UDP: let udp_pcblist() support UDP and UDP-Lite

Provide the IPPROTO_UDP in the arg2 parameter of udp_pcblist() and use
this to determine the inpcbinfo. This allows the same function to be
used in an upcoming commit to provide the list of pcbs for UDP-Lite
just by providing IPPROTO_UDPLITE in the arg2 parameter.

Reviewed by:            rrs
MFC after:              3 days
Pull Request:           https://reviews.freebsd.org/D53218
5f6f2c3fa25b3f37936b564b433251c33b27a8b3 Michael Tuexen 2025-10-20 21:07:38

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "UDP: let udp_pcblist() support UDP and UDP-Lite"

This reverts commit 5f6f2c3fa25b3f37936b564b433251c33b27a8b3.
Missing link to review.
7294d2601f3a605dac3e86e232b43f29a0f5298d Michael Tuexen 2025-10-20 21:19:29

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: isa: Use gone_in_dev(9) for deprecation message
isa: Use gone_in_dev(9) for deprecation message

Reviewed by:    bz, imp
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53366
ce6792d3cd798079f0c9ba244faba4ea666bb6f4 Ed Maste 2025-10-26 17:06:57

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "isa: Use gone_in_dev(9) for deprecation message"

gone_in(_dev) prints only one message per function call src line, so
this would miss reporting for the second and later such devices.

This reverts commit ce6792d3cd798079f0c9ba244faba4ea666bb6f4.

Reported by:    glebius
Sponsored by:   The FreeBSD Foundation
b0cfcd07bb6134ebe319c57142be2b53bb9090e7 Ed Maste 2025-10-28 12:15:33

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Revert "blocklistd-helper: Silence another bogus pf warning"
This reverts commit 67ade69eb6079887215db1fde86eba2fb8e2acf7.

A fix has been implemented in a943a96a50ba ("libpfctl: Fix displaying
deeply nested anchors").

Revert this commit to avoid having differences with upstream.
6f0942bde7a08fe46e575486f0e9c97c055d5aad Jose Luis Duran 2025-10-28 11:41:31

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Revert "blocklist-helper: Silence a bogus pf warning"
This reverts commit 2347ca21d657121670e6e7246c6ac32efc996cac.

A fix has been implemented in 99560fe98c76 ("pfctl: Do not warn if there
is no Ethernet anchor").

Revert this commit to avoid having differences with upstream.

MFC after:      2 days
e12ec5f4338c2d769c266278320232a98a962f63 Jose Luis Duran 2025-10-28 11:44:50

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: bus: Take the topolock in driver_module_handler()
bus: Take the topolock in driver_module_handler()

And sprinkler some asserts. Right now all module handlers are called
with Giant, but I'd like to drop that so push the newbus locking one
step further.

Sponsored by:           Netflix
83519c1764f80ddbdf34e16de08ff110226aba2b Warner Losh 2025-10-28 19:48:07

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


bus: Revert "bus: Take the topolock in driver_module_handler()"

This reverts commit 83519c1764f80ddbdf34e16de08ff110226aba2b.

This was accidentally in my main branch when I poushed. It's not ready
yet.

Sponsored by:           Netflix
86b259a28a1a47b0506c519b17d8adb67d4a0b0d Warner Losh 2025-10-28 22:37:14

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: Merge commit e24f90190c77 from llvm git (by Brad Smith):
Merge commit e24f90190c77 from llvm git (by Brad Smith):

    [Driver] Enable outline atomics for FreeBSD/aarch64 (#156089)

The compiler_rt helper functions have been built since 12.4, 13.1, 14
and anything newer.

MFC after:      3 days
51e8e8b0f36933814b1be08913857727876aece5 Dimitry Andric 2025-10-29 18:49:54

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "Merge commit e24f90190c77 from llvm git (by Brad Smith):"

    [Driver] Enable outline atomics for FreeBSD/aarch64 (#156089)

The compiler_rt helper functions have been built since 12.4, 13.1, 14
and anything newer.

This reverts commit 51e8e8b0f36933814b1be08913857727876aece5.

MFC after:      immediately
bd27bd1f51d049538cc7a0053be9d99110a53ae1 Dimitry Andric 2025-10-31 15:48:31

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: openssh: Don't try to bind to unsupported addresses
openssh: Don't try to bind to unsupported addresses

When selecting an address to bind to, skip IPv4 addresses if the kernel
does not support the inet feature, and IPv6 addresses if the kernel does
not support the inet6 feature.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195231
MFC after:      1 week
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D53561
e5ff8e7977434b150a66bb3e472c6d0e0f644cfa Dag-Erling Smørgrav 2025-11-04 11:31:48

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "openssh: Don't try to bind to unsupported addresses"

This doesn't actually do anything useful, since getifaddrs() will only
return supported addresses.  The root cause of the issue described in
the PR lies earlier in the connection timeline, around the start of the
ssh_create_socket() function.

This reverts commit e5ff8e7977434b150a66bb3e472c6d0e0f644cfa.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195231
96e215ad8173185337cf3057b80f2a0723ca201a Dag-Erling Smørgrav 2025-11-04 20:13:11

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: kern: RACCT: Keep process credentials alive via references
kern: RACCT: Keep process credentials alive via references

In system calls changing process credentials, on RACCT, calls to
racct_proc_ucred_changed() must be issued on the new credentials.
Currently, this is done after the new credentials have been installed on
the process via proc_set_cred() or proc_set_cred_enforce_proc_lim(),
which modifies 'p_ucred'.  Only the process lock guarantees that the new
credentials pointed to by 'p_ucred' cannot themselves be concurrently
modified, which would cause their 'struct ucred' to potentially lose its
last reference from the process before the call to
racct_proc_ucred_changed(), which needs one.

For better code understandability and to avoid errors in future
modifications, stop relying on proc_set_cred*() storing the passed
'struct ucred' in the process 'p_ucred' and on the process lock to avoid
the reference taken by proc_set_cred*() to vanish.  Instead, ensure that
a reference is held when racct_proc_ucred_changed() is called.

As racct_proc_ucred_changed() is actually passed explicit pointers to
the old and new credentials, there is in fact no need to call it after
proc_set_cred().  Instead, call it before proc_set_cred() and its taking
over the reference.

Since setcred() uses proc_set_cred_enforce_proc_lim(), which can fail,
instead of proc_set_cred(), we instead take an additional reference with
crhold().  Indeed, racct_proc_ucred_changed() should update resource
accounting only if proc_set_cred_enforce_proc_lim() succeeds (an
alternative would be to call it in advance and then in case of failure
of the latter to call it again in order to backpedal the updated
accounting, but we don't see a compelling reason to do that instead of
taking an additional reference).

While here, add to the documentation of proc_set_cred_enforce_proc_lim()
that it does not take over the credentials reference in case of failure.
While here, in racct_proc_ucred_changed()'s herald comment, add the
precise condition in which this function must be called.

No functional change intended.

Reviewed by:    kib
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53563
a5d1a0c9bfcca38528b861c5afb51ea9b1696b65 Olivier Certner 2025-11-03 18:21:08

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "kern: RACCT: Keep process credentials alive via references"

The change causes a panic on boot with INVARIANTS kernels.  Revert for
now.

This reverts commit a5d1a0c9bfcca38528b861c5afb51ea9b1696b65.

Reported by:    syzbot+74624c6fcbb384ea0113@syzkaller.appspotmail.com
d7a138207fa4a2ff077d5d276f6413f1d8130032 Mark Johnston 2025-11-06 14:48:57

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: vnode: Rework vput() to avoid holding the vnode lock after decrementing
vnode: Rework vput() to avoid holding the vnode lock after decrementing

It is not safe to modify the vnode structure after releasing one's
reference.  Modify vput() to avoid this.  Use refcount_release_if_last()
to opportunistically call vput_final() with the vnode lock held since we
need the vnode lock in order to deactivate the vnode, and it's silly to
drop the vnode lock and immediately reacquire it in this common case.

Note that vunref() has a similar flaw.  D52628 aims to fix the problem
more holistically, but this change fixes observable panics in the
meantime.

Reported by:    syzbot+6676b3ff282d590b0fb3@syzkaller.appspotmail.com
Reported by:    syzbot+38e26cf6f959e886f110@syzkaller.appspotmail.com
Reviewed by:    kib
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52608
99cb3dca4773fe4a16c500f9cb55fcd62cd8d7f3 Mark Johnston 2025-11-11 14:47:06

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "vnode: Rework vput() to avoid holding the vnode lock after decrementing"

The change can introduce a deadlock if we release the vnode lock in
order to release a reference, and then end up releasing the final
reference after all, requiring a relock of the vnode.  This relock may
violate the usual parent->child vnode lock order.

This reverts commit 99cb3dca4773fe4a16c500f9cb55fcd62cd8d7f3.

Reported by:    jhb
51931e1f0f33986296ff2860f25374cba47b860a Mark Johnston 2025-11-15 02:30:34

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: arm64: Move intr_pic_init_secondary earlier
arm64: Move intr_pic_init_secondary earlier

This may have been called after intr_irq_shuffle. For most interrupt
controllers this appears to be safe, however for the GICv5 we need to
read a per-CPU ID register before we can assign interrupts to a given
CPU.

Fix the race by moving intr_pic_init_secondary earlier in the boot,
after devices have been enumerated and before the interrupts are moved
to their assigned CPUs.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53685
a695ac2ce8bc8e8b989359002659063f2e056dcf Andrew Turner 2025-11-18 18:00:32

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "arm64: Move intr_pic_init_secondary earlier"

It's not clear what the race described in the commit actually is, nor
how it could arise, but this commit is definitely wrong; curthread is no
longer set for intr_pic_init_secondary, and gic_v3's pic_init_secondary
uses mutex(9) in some places, which requires curthread, so it has led to
panics. Revert this change until the original issue this was intended to
be fixed can be more thorougly investigated and a better fix made.

Reported by:    Herbert J. Skuhra <herbert@gojira.at>, jhb

This reverts commit a695ac2ce8bc8e8b989359002659063f2e056dcf.
9128380511de3db9bd4d62d58c6a6dfcd1094079 Jessica Clarke 2025-11-22 18:46:04

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: sound: Merge chn_intr() with chn_intr_locked()
sound: Merge chn_intr() with chn_intr_locked()

There is no scenario where chn_intr() is called with the channel lock
already held.

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D53854
e254ef87a30bfcaabc6e4d8e0ecf05f6949a4f06 Christos Margiolis 2025-11-21 16:14:28

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "sound: Merge chn_intr() with chn_intr_locked()"

It turns out that snd_uaudio(4) uses sound(4)'s channel lock for its USB
transfer callbacks. I will try to address this at some point, because
this is layering violation, but for now we need to revert the commit, as
it causes a lock recursion panic with USB audio devices.

This reverts commit e254ef87a30bfcaabc6e4d8e0ecf05f6949a4f06.
5cc34a83e1cc812871fd02a15b7d9f75342faaa0 Christos Margiolis 2025-11-23 13:48:51

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Reapply "Merge commit e24f90190c77 from llvm git (by Brad Smith):"
    [Driver] Enable outline atomics for FreeBSD/aarch64 (#156089)

The compiler_rt helper functions have been built since 12.4, 13.1, 14
and anything newer.

This reverts commit bd27bd1f51d049538cc7a0053be9d99110a53ae1.

Only some people (including the release manager, unfortunately) ran into
build issues with the previous iteration of this commit, because they
were bootstrapping the compiler, either via the WITHOUT_SYSTEM_COMPILER
src.conf(5) setting, or because the build system determined that their
base system compiler was out of date.

The bootstrapped compiler would then enable outline atomics and compile
libgcc_s with these, but because libgcc_s is linked with -nodefaultlibs,
it could not find the helper routines in libcompiler_rt.a.

In contrast, people who did not bootstrap the compiler never saw any
issues, because libgcc_s was built using their 'old' base system
compiler, and so libgcc_s would not contain any calls to those helper
routines.

Fix this by ensuring that libgcc_s is linked against libcompiler_rt.a
explicitly, similar to some other binaries and libraries that are built
with -nodefaultlibs.

Also, bump FREEBSD_CC_VERSION to ensure that everybody gets the updated
compiler with outline atomics enabled. (This should have been done in
the first iteration of this commit, because the error would have shown
up right away then.)

MFC after:      3 days
3289bace53f31545976fec310b41fa784de75e64 Dimitry Andric 2025-11-23 15:52:46

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Commit & revert pair: kernel linker: Disable local sym resolution by default
kernel linker: Disable local sym resolution by default

In 95c20faf11a1 and ecd8245e0d77 kib introduced support to have the
kernel linker stop resolving local symbols from other files, but did
not enable it by default to avoid surprises.  Flip the default now,
before FreeBSD 16.0.

The debug.link_elf_leak_locals and debug.link_elf_obj_leak_locals
sysctls are available to revert to the previous behaviour if necessary.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207898
Reviewed by:    bz
Relnotes:       Yes
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47742
9562994a7aacee2baae6ddee1a7b558b48ae39ef Ed Maste 2024-11-25 19:05:54

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "kernel linker: Disable local sym resolution by default"

I've received a report of a failure from resolving kern_kmq_open.
Revert for now as we are currently in stabweek.

This reverts commit 9562994a7aacee2baae6ddee1a7b558b48ae39ef.

Reported by:    mav
fad4c92b78a123f87195173ac118655fa8e325cd Ed Maste 2025-11-25 17:12:36

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Revert "stddef.h: add unreachable() for C23 compliance"
Seems like a number of ports are *really* unhappy with this new
macro.  These ports will have to be fixed and the patch reworked
to perhaps not affect C++ (see D54041).  A general discussion on
how we expose new language features may also need to take place.

Reported by:    many people
Approved by:    markj (mentor)

This reverts commit b381d0980221b476cadbef862a8e5973d675fb7a.
fc88be257e30c3e3c01f25ec3a3a6e7933b40c54 Robert Clausecker 2025-12-04 23:25:10

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Revert "netlink: Fix overallocation of netlink message buffers"
This patch was based on an incorrect assumption that the linear buffer
chain for an snl_writer only contained the netlink message body.

This reverts commit 828df4d36d9d5a6ca0dcc294d65572b4a0474142.

Sponsored by:   AFRL, DARPA
12165ac8407cef2c0b96035a1a956e3a7fe48cec John Baldwin 2025-12-09 19:55:46

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

Revert "devinfo: Add support for libxo"
This broke the human output formatting in several ways.

This reverts commit 4cf5878d27ddc9d3ca3ed870f88112c3b4f6fb69.
This reverts commit e8d6b58ef5a4afe0d155b6967c92d55f3bbd53fe.
This reverts commit c759aca606cee8352c1d739bf7a762c8a2ed2012.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291511
Reviewed by:    imp, des
Differential Revision:  https://reviews.freebsd.org/D54196
43b07bdbc5d24febc7a904d16f05f921c478eaa7 John Baldwin 2025-12-15 15:36:00

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'

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 2025-12-15 20:56:05+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2025-10-01 (release)