FreeBSD git weekly: 2025-09-01 to 2025-09-07

Introduction

This is a display of mostly-automatically-classified git commits from 2025-09-01 to 2025-09-07.

In the future, these reports might include summaries or additional information, but for now our focus is figuring out what type of classification would be most useful.

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

DEBUG: In addition, debug pages for the latest week are often produced by a daily or hourly cronjob, and thus might not have any human review. Don't worry if you see commits in the wrong section; I'll check and fix them.

Table of contents and commits per category:

(2) Emphasized commits (these are copies, not in stats)
0 0.0% Userland programs
10 5.8% Documentation
23 13.5% Hardware support
21 12.3% Networking
18 10.5% System administration
1 0.6% Libraries
3 1.8% Filesystems
47 27.5% Kernel
16 9.4% Build system
1 0.6% Internal organizational stuff
16 9.4% Testing
4 2.3% Style, typos, and comments
5 2.9% Contrib code
6 3.5% Reverted commits
0 0.0% Unclassified commits
171 100% total
Technical notes about this page

debug: info about the automatic classification

num % num changed stage
6 3.5% 0 00-reverts
2 1.2% 0 01-style
23 13.5% 1 02-filenames_wildcards
80 46.8% 1 03-filenames_plain1
47 27.5% 0 04-filenames_plain2
10 5.8% 0 05-summary-prefix
3 1.8% 0 Manually-classified commits
0 0.0% 0 Unclassified commits

debug: more stats

num % stage
2 1.2% Misclassified commits
166 97.1% Classified commits, no corrections

debug: groups

38 22.2% Commits in groups

Emphasized commits

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

jail: add kqueue(2) support for jails
Add kqueue tracking to jails, inspired by how it's done with processes.
EVFILT_JAIL takes a jail ID, and tracks with NOTE_JAIL_SET,
NOTE_JAIL_ATTACH, NOTE_JAIL_REMOVE, and NOTE_JAIL_CHILD. It also uses
the NOTE_TRACK mechanism that EVFILT_PROC uses, using the same result
flags (NOTE_CHILD and NOTE_TRACKERR).

Relnotes:       yes
Differential Revision:  https://reviews.freebsd.org/D51940
1bd74d201a534540614663686890ab96a3bbe2c7 Jamie Gritton 2025-09-04 18:56:56

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

jail: add jail descriptors
Similar to process descriptors, jail desriptors are allow jail
administration using the file descriptor interface instead of JIDs.
They come from and can be used by jail_set(2) and jail_get(2),
and there are two new system calls, jail_attach_jd(2) and
jail_remove_jd(2).

Reviewed by:    bz, brooks
Relnotes:       yes
Differential Revision:  https://reviews.freebsd.org/D43696
851dc7f859c23cab09a348bca03ab655534fb7e0 Jamie Gritton 2025-09-04 20:27:47

debug: classified in 05-summary-prefix by '^jail:'

Userland programs

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

-- no commits in this category this week --

Documentation

Man pages, release notes, etc.

date(1): Improve manpage around '-I'
* ISO 8601 defines two formats: basic and extended, clarify that we
  output the extended format only.
* Clarify that ISO 8601 is only aware of timezone /offsets/, not timezones,
  it has no relation to the Olson timezone database (TZ environment variable).

Reviewed by:    otis (mentor), des
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52314
21628c79d541b55b5e60231cefec73ca31719b6d Michael Osipov 2025-08-31 20:06:00

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

loader.conf.5: Add reference to kern.msgbufsize
When booting with boot_verbose, you want a larger msgbuf size. Add a
poitner to its tuneable.

Suggested by:           John De Boskey (Ages ago)
Sponsored by:           Netflix
bd481f1bc6b38904049039ccbce998a19bfd0fdd Warner Losh 2025-09-03 06:04:54

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

arch.7: Clarify older 32-bit arm support
Reviewed by:  imp, ziaee
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52239
64cfafee8dfe938b16f12bd8c7f5584d4321ef95 Ed Maste 2025-08-29 14:46:07

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

dtrace_lockstat.4: Fix description
MFC after:    1 day
Reviewed by:    ziaee, markj
Differential Revision:  https://reviews.freebsd.org/D52355
e323aaaf397188e3d8e9cb2376af7a083896b441 Christos Margiolis 2025-09-03 17:49:50

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

umb.4: Remove device netmap from synopsis
This driver was recently improved to no longer require DEV_NETMAP.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263783
Reported by:    zlei
Fixes:          https://cgit.freebsd.org/src/commit/?id=e921d2842ee8 (umb: Fix setting the input routine)
80ab8a4beeb812adfbf1cb823ab7476d4a17659a Alexander Ziaee 2025-09-03 18:50:58

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

awk: Merge upstream manpage updates
Merge the upstream manpage upades into awk.1. This goes through upstream
hash 9acc510. Upstream man page is written in raw nroff with "an"
macros, rather than in mandoc, so convert to mandoc as well. The man
page isn't updated on imports automatically, plus our man page has
diverged somewhat from upstraem's so it's not a mechanical change...

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230730

Sponsored by:           Netflix
e7a04a110724183c72e25c5c8461f89f50b4d08a Warner Losh 2025-09-04 05:44:33

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

Like for -P et al, state that -deElL are syscons only options.
d5dd6ad6baa6753a1f2040c41702e71a91de8ce4 Jens Schweikhardt 2025-09-04 19:28:33

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

gpioled: document the invmode hint in gpioled(4)
Signed-off-by: Stéphane Rochoy <stephane.rochoy@stormshield.eu>
Sponsored-by: Stormshield
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1805
6a5c193a1aed731c67e65bb17256c086fc5abe65 Stéphane Rochoy 2025-08-12 09:29:05

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

newsyslog.conf(5): Don't suppress space after <compress> directive
Because newsyslog(8) actually _requires_ a space after the <compress>
directive.

Reviewed by:    bcr
Differential Revision: https://reviews.freebsd.org/D52414
6d624634ac1d28e89568e7f2be0df08ea7c7471c Dimitry Andric 2025-09-07 15:44:34

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

man: Add -l option
Add a -l option which causes man to interpret all arguments as paths to
open directly rather than man pages to search for in MANPATH.  See the
PR for a detailed rationale.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289245
MFC after:      1 week
Reviewed by:    ziaee, emaste
Differential Revision:  https://reviews.freebsd.org/D52385
14b61b2e931741281d0bfef426e9809f16006504 Ingo Schwarze 2025-09-07 20:52:09

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

Hardware support

Hardware drivers and architecture-specific code.

xhci: Parse and print extended capabilities
Parse out and display xhci controller extended capabilities. This gives
us a mechanism to pick these up when the controller attaches. The print
helps users and developer know the availability of features in the wild.

This change will let developers know from dmesg that a controller
supports USB debugging.

Reviewed by:    aokblast
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51255
405cfeef615f5493b49b6ab4619fa29dfe37fd7d Tom Jones 2025-07-14 08:07:20

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

arm64: enable bloating kernel with ext errors strings
Chase commit 8e8d3068dcbe ("amd64 GENERIC: enable bloating kernel with
ext errors strings") from amd64.  In general we would like to keep
GENERIC kernel options in sync between the Tier-1 architectures.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289236
Reviewed by:    andrew
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52342
3296fda0c309c873ae37a0a4e25ded3ae04b421c Ed Maste 2025-09-02 16:42:11

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

nvme: Call vm_fault_hold_pages instead of vmapbuf
Use the underlying mechanism of vmapbuf instead of using this legacy
interface. This means we don't have to allocate a buf, and can store the
page array on the stack as it will be small enough for transfers that
the vast majority of cards can do. And those that can do larger (> 512k)
have provisions to split up requests.

Sponsored by:           Netflix
Reviewed by:            kib, markj
Differential Revision:  https://reviews.freebsd.org/D52149
dc74f3003c2d1deea654f24b76a1dd932d428ca0 Warner Losh 2025-09-03 15:06:37

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

nvme: Always print the opcode hex and sct/sc hex values
While we can lookup the opcode and know exactly what we meant, sharing
error messages with vendors can lead to some ambiguity. Go ahead and
include the hex values for the error messages to aid in debugging.

Sponsored by:           Netflix
Reviewed by:            chuck
Differential Revision:  https://reviews.freebsd.org/D52353
e26521574eccf1ca4b97d6b7614ea50888434354 Warner Losh 2025-09-03 15:54:49

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

umb: Fix setting the input routine
This driver does not depend on netmap, and umb_input() works greatly
without netmap.

Remove the #ifdef DEV_NETMAP so that when "device netmap" is not
configured this driver can still correctly pass the inbound packets to
the net stack. Otherwise the input routine will be if_input_default()
which will silently drop all inbound packets.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263783
Reported by:    Andre Albsmeier <mail@fbsd2.e4m.org>
Tested by:      Andre Albsmeier <mail@fbsd2.e4m.org>
Differential Revision:  https://reviews.freebsd.org/D52182
e921d2842ee8ca9e3dae8952e1cf2645cee785aa Zhenlei Huang 2025-09-03 17:19:37

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

arm64: Make the padding in struct ms_page explicit
Mark the unused space after pv_memattr as reserved. This doesn't change
the size of the struct as this padding was already inserted by the
compiler.

Sponsored by:   Arm Ltd
b21629dfcaf008923d03d7ff15c9d6828eeb95f8 Andrew Turner 2025-09-04 13:33:11

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

arm64: Add padding to struct mdproc
To allow for possible future use add reserved fields to struct mdproc.

Sponsored by:   Arm Ltd
59ddbef262388db4f36e1e1a34039d079ecdc833 Andrew Turner 2025-09-04 13:36:45

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

Commit group #0: arm64
arm64: Add a function to check a range of CPU revs

Add a function that can check if a given midr is within a range of
revisions. This will be used to check if a CPU is affected by a known
erratum.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52187
c76b0247a95ed090cc0d83b2698228d2937af3e6 Andrew Turner 2025-09-04 14:57:41

arm64: Clean up HW DBM errata detection

 - Use the passed in midr rather than reading from pcpu
 - Use the new midr_check_var_part_range function to check if the midr
   is within the range of affected CPUs

Reviewed by:    alc
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52188
1ae3694edb8bb5f4d4831a18878677eb491861fb Andrew Turner 2025-09-04 14:56:04

arm64: Update the Neoverse-N1 1542419 errata check

Use the new midr_check_var_part_range function to check if running on
an affected Neoverse-N1 CPU.

Reviewed by:    emaste
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52189
efb1c4bac122e7acb6aa4e180db66e14cfd19810 Andrew Turner 2025-09-04 14:58:54
Commit group #1: arm64
arm64: Remove CPU_MATCH_RAW

It's unused.

Reviewed by:    emaste
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52191
f6d4c9c45a282978e99faebcf1abb1e0f8eab8cb Andrew Turner 2025-09-04 16:51:07

arm64: Create a TLBI invalidate for the kernel

Add pmap_s1_invalidate_all_kernel to remove the need to check for the
kernel_pmap when it's passed in.

While here replace pmap calls to cpu_tlb_flushID with
pmap_s1_invalidate_all_kernel as they are identical.

Reviewed by:    kib
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52183
8df4dc90952be7afee36e3cc80c1a76e2c66fbac Andrew Turner 2025-09-04 17:24:07

arm64: Replace cpu_tlb_flushID in initarm

Replace cpu_tlb_flushID with pmap_s1_invalidate_all_kernel in initarm.
They are identical in the SMP case.

Reviewed by:    alc
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52184
fa23bfb425d53a87064d86ec9ae0ae5e31aa5d5b Andrew Turner 2025-09-04 17:24:30

arm64: Add a multiple TLBI workaround

The Arm Cortex-A55, Cortex-A76, and Cortex-A510 CPUs have errata that
require multiple TLBI, DSB instructions to workaround.

Add support to pmap to implement these. As it appears that all
affected TLBI calls are via pmap.c this should be sufficient.

As all variants of this erratum are Category-B (rare) require the
user to enable it at boot time.

Reviewed by:    alc
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52190
a884f699e4bfc1be4e721d3ec4fa93915be18a86 Andrew Turner 2025-09-04 17:24:56
vtnet: Do "hardware" accounting for the total number of received octets
While here, advertise the IFCAP_HWSTATS capability to avoid the net
stack from double counting it.

Co-authored-by: zlei
Reviewed by:    zlei
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D44816
a14d561e58529c9686a2efc47f4828ad82026e63 Joyu Liao 2025-09-04 20:00:27

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

vtnet: Prefer "hardware" accounting for the multicast and total number of octets sent
When ALTQ is enabled, this driver does "hardware" accounting and soft
accounting at the same time. Prefer the "hardware" one to make the logic
simpler.

Reviewed by:    zlei
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D44817
2a346c8993cbb92a321a7c25bd9ac4dcaae352d1 Joyu Liao 2025-09-04 20:00:28

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

moused(8): Add support for evdev protocol
The new daemon have following properties as compared with previous
incarnation:
- evdev protocol support for mices and touchpads. Additionally to
  relative PS/2 and USB devices it enables console support for I2C/USB
  touchpads and bluetooth mices.
- Other aged protocols like COM, raw PS/2 and X10 are dropped with only
  exception of sysmouse. For those who still use them there is an
  utility called msconvd(8).
- single daemon per system where hotplug is processed via devd socket.
  Per device mode still supported too.
- Configuration and quirks files in libinput-compatible format.
  Actually, the new moused config parser is taken from libinput.

The moused(8) can work in 2 modes:
1. Evdev support mode. It enables all previously mentioned devices.
   It is enabled by deault.
2. Sysmouse support mode. All should work as before.
   No new devices supported. To enable it add following lines to
   /etc/rc.conf:
      moused_port="/dev/psm0"
      moused_nondefault_enable="YES"
   One may add hw.usb.usbhid.enable=0 to /boot/loader.conf to enable
   ums(4) driver which supports sysmouse protocol.

Differential Revision:  https://reviews.freebsd.org/D52164
aef807876c305587c60f73e2cd914115d22a53fd Vladimir Kondratyev 2025-09-04 21:07:25

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

cyapa(4): Add support for reporting data with sysmouse protocol
Earlier only intellimouse protocol was supported.
641f525a87c9a32635ce51a102ebb5c0aa9ff921 Vladimir Kondratyev 2025-09-04 21:07:25

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

x86: Fix bug in print_vmx_info()
The function used the wrong variable (mask) to print the Exit and Entry
controls.  Fix it.

Signed-off-by: Aaron LI <aly@aaronly.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1820
89ff06870840b99df70afd56058df7ee2b300474 Aaron LI 2025-08-22 01:12:35

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

GEOM: add a new function g_new_geom
This function is a variant of g_new_geomf. It accepts a regular string
instead of a format string as its input parameter. It can save the time
wasted on unnecessary format string processing.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1786
1167a7d065f8a6265cc8e28025944a2f848e3a7e Wuyang Chung 2025-07-23 09:41:34

debug: classified in 05-summary-prefix by '^GEOM:'

gpioled: use hw pin inversion if available
Add hint.gpioled.%d.invmode to allow setting the pin inversion method. Accept
the following values:

- auto Use hardware pin inversion if available, else fallback to software pin
       inversion.
- hw   Use hardware pin inversion.
- sw  Use software pin inversion.

Default is auto. This hint is ignored when no pin inversion is
requested (hint.gpioled.%d.invert=0).

Signed-off-by: Stéphane Rochoy <stephane.rochoy@stormshield.eu>
Sponsored-by: Stormshield
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1805
9ae3c3010a0deb80eb96b1184734904ed61fecef Stéphane Rochoy 2025-08-12 09:28:49

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

rtwn: enable seqno offload; migrate to use ieee80211_output_seqno_assign()
This should both enable the sequence number offloading and disable
the net80211 TX lock from being acquired/released/checked.

Locally tested:

* RTL8812AU, STA mode

Reviewed by: bz
Differential Revision:  https://reviews.freebsd.org/D52301
Differential Revision:  https://reviews.freebsd.org/D50693
dff11c4f8007841484748af08e11e110c541fd7d Adrian Chadd 2025-06-05 00:47:14

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

vtnet: fix compilation for NOIP configs
Reported by:  bz
Fixes:          https://cgit.freebsd.org/src/commit/?id=1c23d8f9f398 ("vtnet: improve checksum offloading")
MFC after:      3 days
Sponsored by:   Netflix, Inc.
7c448f5aab8be6977d0860e608e7d497b495d28c Michael Tuexen 2025-09-06 06:11:02

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

Networking

Network-related commands, library, and kernel.

udp: don't leak mbuf if tunnel didn't consume and inpcb is gone
c8a5df48de6f2c5fada622af043f3c3fca88fca1 Gleb Smirnoff 2025-09-01 16:33:24

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

udp: slightly refactor udp_append()
Make it bool.  Reword the comment, add note that mbuf is always consumed.
In case tunnel consumed the mbuf, don't INP_RUNLOCK(), behave just like
all the other normal exits from the function.

Reviewed by:            tuexen, kp, markj
Differential Revision:  https://reviews.freebsd.org/D52171
d0f4c558f920309647029a082af2e87706d33eff Gleb Smirnoff 2025-09-01 16:33:34

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

ng_parse: Add upper bound to avoid possible overflow
Also move num initialization for clarity.

We still need to check num in ng_unparse_composite (reported by des@ in
D52151) but this is another incremental improvement in netgraph input
validation.

Reviewed by:    des
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267334
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52151
375527545c85362f14070d35575f9bcd7092f4b9 Ed Maste 2025-08-25 14:25:13

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

tcp: micro-optimize SYN-cookie expansion
Only compute wscale when it is actually used. While there, change the
type of wscale to u_int as suggested by glebius.
No functional change intended.

Reviewed by:            glebius, rscheff (older version)
MFC after:              1 week
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52296
341d1aabc13e47911d2eb38e857b90f7d356134e Michael Tuexen 2025-09-01 22:18:35

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

netstat: improve output for tcp stats
Put SYN-cookie related counters in its own container and use consistent
indentation for them.

Reviewed by:            glebius
MFC after:              1 week
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D52227
a0627bc6923c4f27bad3dd83af3d3441dc0526aa Michael Tuexen 2025-09-01 22:23:26

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

[net80211] clean up M_SEQNO_SET and M_SEQNO_GET() to always limit to the sequence number range
Use '% IEEE80211_SEQ_RANGE' to limit the sequence numbers being
stored and retrieved to 0..4095 inclusive.

Differential Revision:  https://reviews.freebsd.org/D52302
Reviewed by:    bz
167520e47d37ab72ff5561c41b9a2d95e5d70bd5 Adrian Chadd 2025-08-31 03:03:40

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

pf: fix ICMP type/code representation
internal representation of icmp type/code in pfctl(8)/pf(4) does not
fit into u_int8_t. Issue has been noticed and kindly reported by
amalinin _at_ bh0.amt.ru via bugs@.

OK bluhm@

Obtained from:  OpenBSD, sashan <sashan@openbsd.org>, 1fdb608f55
Sponsored by:   Rubicon Communications, LLC ("Netgate")
932ec59d9996af2dda50287d56186708d8388539 Kristof Provost 2025-08-12 09:35:22

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

pf: should be enforcing TTL=1 to packets sent to 224.0.0.1 only.
Issue found and kindly reported by Luca Di Gregorio <lucdig _at_ gmail>

OK bluhm@

Obtained from:  OpenBSD, sashan <sashan@openbsd.org>, 58feb3ffc6
Sponsored by:   Rubicon Communications, LLC ("Netgate")
67082c75f740ac63d068f154ca0f88e71a3ca960 Kristof Provost 2025-08-12 15:22:30

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

pf: remove unused variables
We never actually use action or reason in pf_state_key_addr_setup(), so just
pass NULL to pf_pull_hdr().

No functional change.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
5af7499b6d81e0514dc79d74a10e2b2a0e3fe08b Kristof Provost 2025-08-19 09:13:06

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

pf(4) when doing af-to translation for ICMP protocol sends packets
must initialize ttl field in pf_pdesc structure for inner packet.

feedback from bluhm@

OK bluhm@

Obtained from:  OpenBSD, sashan <sashan@openbsd.org>, 0d48c46cfe
Sponsored by:   Rubicon Communications, LLC ("Netgate")
aa790af10a9a2ce36ca0b2bc445a01431b8bc0c4 Kristof Provost 2025-08-25 08:01:49

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

pf: fix memory leak in legacy getstate calls
If we fail to copy the data out we didn't free the temporary allocation.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
ea15fe2e8cbc3a5d3f62a9d22e0e4bef63f611eb Kristof Provost 2025-08-29 14:27:52

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

pf: free struct pf_krule_global with pf_rule_tree_free()
Sponsored by: Rubicon Communications, LLC ("Netgate")
44cc3b2731914f94851c0e468a5fa07c5f6ca006 Kristof Provost 2025-08-29 16:13:31

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

ethernet: Prefer memcmp() over bcmp()
The link-level address and the mbuf shall not overlap. Prefer memcmp()
over bcmp() for slight performance gain.

No functional change intended.

Reviewed by:    glebius
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D52345
51098f0529f0d1cc532512e0eae9bfcffb8e68e4 Zhenlei Huang 2025-09-03 17:09:11

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

vtnet: improve checksum offloading
When transmitting a packet over the vtnet interface, map the
csum flags CSUM_DATA_VALID | CSUM_PSEUDO_HDR to the virtio
flag VIRTIO_NET_HDR_F_DATA_VALID.
When receiving a packet over the virtio network channel, translate
the virtio flag VIRTIO_NET_HDR_F_NEEDS_CSUM not to CSUM_DATA_VALID |
CSUM_PSEUDO_HDR, but to CSUM_TCP, CSUM_TCP_IPV6, CSUM_UDP, or
CSUM_UDP_IPV6.
The second change fixes a series of issue related to checksum
offloading for if_vtnet.
While there, improve the stats counters to allow a detailed view
on what is going on in relation to checksum offloading.

PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=165059
Reviewed by:            tuexen, manpages
MFC after:              1 week
Differential Revision:  https://reviews.freebsd.org/D51686
1c23d8f9f39870951c1d0dfbb112fc4e53237737 Michael Tuexen 2025-09-04 11:16:46

debug: classified in 05-summary-prefix by '^vtnet:'

pf: map checksum offloading flags for NAT64
When doing NAT64, not only map the packet, but also map the
csum_flags in the mbuf header.
This fixes NAT64 when pf is used in combination with transmit
checksum offloading.

Reviewed by:    kp, tuexen
MFC after:      1 week
e21c3dae676776518b2abf69ef960084c13a21c1 Timo Völker 2025-09-04 11:35:00

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

epair: add support for checksum offloading
Add capabilities RXCSUM and RXCSUM6 as well as TXCSUM and TXCSUM6 for
for receive and transmit checksum offloading for TCP and UDP to the
epair interface and enable them by default.
RXCSUM and RXCSUM6 are enabled because an epair interface may receive
a packet with the csum_flag CSUM_DATA_VALID set, which is expected
only if these capabilities are enabled. Since it seems not helpful to
remove this flag, it is not possible to disable these capabilities.
TXCSUM and TXCSUM6 are synchronized between the two epair interface
ends. If enabled/disabled on one end, it will be enabled/disabled on
the other end. If the sending epair interface end has TXCSUM or TXCSUM6
enabled and the receiving end is in a bridge, it is assumed that all
interfaces in the bridge have that capability enabled. Otherwise the
bridge would have disabled that capability on the receiving epair
interface end in the bridge which would have disabled that capability
on the sending epair interface end as well due to the synchronization.

This change was committed and reverted earlier, since several pf
tests were failing. This has been addressed.

Reviewed by:            bcr, Seyed Pouria Mousavizadeh Tehrani, tuexen
MFC after:              4 weeks
Differential Revision:  https://reviews.freebsd.org/D51639
39d4094173f9a49ff52f5f4408e4dbd5d6ef0409 Timo Völker 2025-09-04 12:06:20

debug: classified in 05-summary-prefix by '^epair:'

bridge: Set member_ifaddrs=1 by default
We aren't ready to release with this set to 0: there's no solution for
running DHCP on a bridge from a devd hook, there are missing edge cases
like network boot with the boot interface in a bridge, and third-party
tools (e.g., vm-bhyve) still direct users to use the incorrect
configuration and/or don't support the correct configuration.

Based on popular vote, we'll set this back to 0 in both main and for
stable/15.

MFC after:      9 hours
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D52336
93a734f07a22464952b35ad0888c6fdb6e099921 Lexi Winter 2025-09-04 16:23:18

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

tcp: add gone_in note for net.inet.tcp.sack.revised for fbsd16
Depricate the support for the old RFC3517 behavior of SACK loss
recovery, and simplfy the code to always adhere to RFC6675.

Reviewed By: tuexen, cc, #transport
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D52383
3aa0a0aaa23b95dbf0ef58b16b313637f515b460 Richard Scheffenegger 2025-09-04 22:23:14

debug: classified in 05-summary-prefix by '^tcp:'

tcp: improve compilability
When building with DDB support, the inclusion of in_kdtrace.h
is needed. Make this explicit and don't rely on tcp_var.h to do this.
This is required for stable/14.

Fixes:          https://cgit.freebsd.org/src/commit/?id=a62c6b0de48a ("ddb: add optional printing of BBLog entries")
MFC after:      immediately
Sponsored by:   Netflix, Inc.
4cb50d74c19c014e8099272777eb20aaf834d61c Michael Tuexen 2025-09-05 06:00:52

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

pf: fix possible pd->pcksum NULL deref
Ensure that we always populate pcksum, not just for TCP/UDP/SCTP/ICMP.
We may end up using it (through pf_change_ap()) if we're doing NAT, so
ensure it's available even if it's sometimes just a dummy variable.

Reported-by: syzbot+3e73a7cba8cb6cd46f90@syzkaller.appspotmail.com
MFC after:      1 week
Sponsored by:   Rubicon Communications, LLC ("Netgate")
c23eda976a8aad6bbd6c2042fa2ba1f0bc640e19 Kristof Provost 2025-09-02 13:14:49

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

sys/netinet6: Fix SLAAC for interfaces with no /64 LL address
in6_ifadd() asserts that an interface has an existing LL address with a /64
prefix from which to extract the ifid for SLAAC address selection (even though
the comments suggest that an ifid will be generated if one does not exist). This
is adequate for most generic cases, however to support PPP links with /128 LL
addresses we must be able to fall back on another source for the ifid since we
cannot assume the /128 LL has a unique ifid in the lower 64 bits.

To do this, the static function get_ifid() in in6_ifattach.c is renamed to
non-static in6_get_ifid(), and this is used in lieu of a proper /64 LL address
to attempt to obtain a valid ifid.

Reviewed by     kp
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D51778
9e792f7ef7298080c058fbc2d36a4e60e596dae9 Reid Linnemann 2025-09-05 19:57:44

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

System administration

Stuff in man section 8 (other than networking).

rc: bluetooth: startup improvements
Fix a redirect of stderr to stdout which is going to /dev/null.
A '&' got missing in the original rewrite from the review that
I took and committed.  Seems no one had noticed during testing
or review.  People may have ended up with a "/1" file in their
root file system.

Fixes:          https://cgit.freebsd.org/src/commit/?id=40652f86b5ef
Reported by:    Vladyslav Movchan (vladislav.movchan gmail.com)
MFX after:      3 days
X-MFC:          squash
78807c196c9481cdd88b5ce611b488903f52fbd0 Bjoern A. Zeeb 2025-09-01 07:26:47

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

fwget: pci: hex strings use 0-9 and a-f not a-z
MFC after:    3 days
Reviewed by:    imp, manu
Differential Revision: https://reviews.freebsd.org/D52311
50cab1202d39e67cd38b395e3e08e140e7617d95 Bjoern A. Zeeb 2025-08-31 18:51:12

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

fwget: pci: video amd: correct glob matching entries
- one duplcate entry: 0x664*|0x664*) -> 0x664*|0x665*)
- one unneeded glob: 0x98e4*) -> 0x98e4)
- 0x15e7|0x1636|0x1638|0x164c) half of these are green-sardine; split
- a missing entry for skillfish2 : + 0x143f

MFC after:      3 days
Reviewed by:    imp, manu
Differential Revision: https://reviews.freebsd.org/D52312
1d12658755930e20904d498398379cad0e4ae396 Bjoern A. Zeeb 2025-08-31 18:51:55

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

Recoverdisk: Refine the determination of defaults
e88b7dcac8701b6d925b8c7c66eada5143c37e16 Poul-Henning Kamp 2025-09-02 05:48:05

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

newsyslog(8): Remove the -c command line option.
The -c command-line option, which allowed setting a global compression
method, is removed in favor of the <compress> directive in newsyslog.conf.

The motivation of this change is to eliminate a source of potential confusion.
Since newsyslog(8) is typically invoked by cron(8), having a command line
option that can override it could cause inconsistent behavior (specifying
in crontab would take precedence).

Suggested by:   karels
Differential Revision: https://reviews.freebsd.org/D43466
39d668f1e09ebfc678b3c69c19a0ad0391361c56 Xin LI 2025-09-02 06:44:12

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

moused,syscons: Avoid warning if system has no /dev/ttyv*
A VM had no virtual terminals and emitted a warning on boot
`eval: cannot open /dev/ttyv*: No such file or directory`.

Break the loop in this case to avoid the warning.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289173
Reviewed by:    jlduran
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52344
5eb80bf1a6a435e88507c49111a28ed9e38b4b76 Ed Maste 2025-09-02 17:01:47

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

ctld: Add missing initializers for several class members
These fields all need to be explicitly initialized with zeroes.  Prior
to the conversion to C++ these fields were zeroed by calloc().

This worked for me in earlier testing as my test boxes had
MALLOC_PRODUCTION enabled in make.conf.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289115
Reported by:    Slawa Olhovchenkov <slw zxy.spb.ru>
Fixes:          https://cgit.freebsd.org/src/commit/?id=eb0dc901a541 ("ctld: Convert struct auth_group to a C++ class")
Fixes:          https://cgit.freebsd.org/src/commit/?id=6acc7afa34aa ("ctld: Convert struct port to a hierarchy of C++ classes")
Fixes:          https://cgit.freebsd.org/src/commit/?id=2bb9180bb5d0 ("ctld: Convert struct target to a C++ class")
Fixes:          https://cgit.freebsd.org/src/commit/?id=ed076901ec80 ("ctld: Convert struct ctld_connection to a C++ class")
Sponsored by:   Chelsio Communications
16459743927068abbee34ce3f266b38c71968232 John Baldwin 2025-09-02 18:40:30

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

pfctl: Rewrite some ugly for loops
This fixes a few KNF issues and ugly line wrapping by using a local
version of nitems(); fix two bsearch() on top.

ok claudio

FreeBSD note: we already used nitems(), but now pick up the use of size_t over
unsigned int.

Obtained from:  OpenBSD, tb <tb@openbsd.org>, 3d49904c6e
Sponsored by:   Rubicon Communications, LLC ("Netgate")
d64ba46792e786aecbd9a3d5b0579e1e224a0433 Kristof Provost 2025-08-12 15:34:44

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

rc.d/serial: Remove removed drivers.
Cyclades and digiboard drivers were removed in 2017 and 2016
respectively. There's no need for these anymore.

Sponsored by:           Netflix
Reviewed by:            kevans, emaste
Differential Revision:  https://reviews.freebsd.org/D52315
4ec251a99a02b58d30f194660c37ccb933ac7549 Warner Losh 2025-09-03 05:17:26

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

rc.d/serial: Kill dtrwait
The dtrwait wait functionality was dropped in the TTY MPSAFE rewrite for
FreeBSD 8. Remove referneces to it here. Also, the sysctl was renamed
for drainwait, so use the new name. Given the 16 years between this
event and somebody noticing, I strongly suspect this file can just be
removed.

Sponsored by:           Netflix
Reviewed by:            kevans, emaste
Differential Revision:  https://reviews.freebsd.org/D52316
ffe00a05229ef58272669dea141e9fa33e07a5ee Warner Losh 2025-09-03 05:17:35

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

tty: Retire zombie dtrwait
Nothing uses dtrwait anymore. This was elimianted with the tty mpsafe
rewrite for FreeBSD 8. Only these zombie symbols and functionality
remain. GC them. Add comcontrol to the list things to remove in 16.0.

Sponsored by:           Netflix
Reviewed by:            kevans, emaste
Differential Revision:  https://reviews.freebsd.org/D52317
4b4cf0d52c43e33c32983df60a8ea16b3d9e2f20 Warner Losh 2025-09-03 05:17:43

debug: classified in 05-summary-prefix by '^tty:'

bhyve: insert VM name to the VNC screen title
Reviewed by:  markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D52329
0e7f8abb45263c780a4b448fb52af6b6a3cbc9fd Yuichiro NAITO 2025-09-03 15:43:33

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

pci_user: Report NUMA domain
A PCI device's NUMA domain is now accessible via the pd_numa_domain
member of struct pci_conf when using the PCIOCGETCONF ioctl.

A new ioctl number has been assigned to PCIOCGETCONF to preserve
compatibility with binaries compiled on FreeBSD versions 7 through 14.
Such binaries can continue to use the PCIOCGETCONF ioctl number
that they were compiled with and experience no ABI repercussions.

Reviewed by:    imp, markj
Differential Revision:  https://reviews.freebsd.org/D44289
9404c479946c00b6ac94253d2037c47251dc606c Jake Freeland 2025-09-04 02:42:23

debug: classified in 05-summary-prefix by '^pci_user:'

pci_user: Add compatibility padding
Avoid future compatibility churn when adding new members to struct
pci_conf by introducing some padding.

An additional member, pc_reported_len, has also been added to report the
length of the valid portion of an encompassing pci_conf. This allows
users to verify that their definition of pci_conf matches the kernel's,
preventing the use of invalid data.

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D52313
4f6f4aacaf97f301e5c5646649a1217ca8099349 Jake Freeland 2025-09-04 02:42:48

debug: classified in 05-summary-prefix by '^pci_user:'

jail: add jail descriptors
Similar to process descriptors, jail desriptors are allow jail
administration using the file descriptor interface instead of JIDs.
They come from and can be used by jail_set(2) and jail_get(2),
and there are two new system calls, jail_attach_jd(2) and
jail_remove_jd(2).

Reviewed by:    bz, brooks
Relnotes:       yes
Differential Revision:  https://reviews.freebsd.org/D43696
851dc7f859c23cab09a348bca03ab655534fb7e0 Jamie Gritton 2025-09-04 20:27:47

debug: classified in 05-summary-prefix by '^jail:'

devd: Remove gross hack
Remove hack from FreeBSD 14 that mapped kern->kernel for name.

Fixes: https://cgit.freebsd.org/src/commit/?id=8b4e4c273730
MFC: Never
Sponsored by:           Netflix
f20d12595718c56a718d34e1e42cd34a3317121d Warner Losh 2025-09-05 04:39:43

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

stand: Remove Spleen 32x64 fonts from INDEX
The Spleen 32x64 fonts cause some systems such as the AMD Framework 16
to boot extremely slowly.  Adding screen.font="16x32" to
/boot/loader.conf is a partial workaround, but text displayed before the
boot menu still takes ~30 seconds to render on that laptop.  With this
change, the same text renders immediately.

By leaving the font files in place but removing them from the INDEX,
users who want to use them can still load them manually.  Once pending
work is committed to allow normal booting with these fonts, they can be
added back to the INDEX.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289007
Reviewed by:    emaste, kevans, tsoome, ziaee
Fixes:          https://cgit.freebsd.org/src/commit/?id=1ec2c8b2f364 (stand: Enable Spleen 32x64 font in the bootloader)
Sponsored by:   The FreeBSD Foundation
5e82eeccd252e96370e8b73603b609622497000c Joseph Mingrone 2025-09-05 19:50:39

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

BSD.usr.dist: remove obsolete usr/share/examples/drivers entry
In base 8f0a6a9aadb1f, usr/share/examples/drivers was cleaned up,
because it contained unmaintained scripts. The directory itself is
cleaned up by ObsoleteFiles.inc, but there was still an entry in
BSD.usr.dist that re-created the directory. Remove it.

Fixes:          https://cgit.freebsd.org/src/commit/?id=8f0a6a9aadb1
MFC after:      3 days
ac2f284258e4c6d5867aa6a411bd44df349fe416 Dimitry Andric 2025-09-07 14:37:48

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

Libraries

libgpio: Add and document gpio interrupt utility functions
Add utility functions for configuring gpio interrupts and document file
operations.

Reviewed by:    vexeduxr, ziaee
Differential Revision:  https://reviews.freebsd.org/D52102
ccc6cf3b67edb9d50f6edb74c9b0e2c23f8b24d3 Evgenii Ivanov 2025-09-03 12:13:59

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

Filesystems

nfsd: Fix the NFSv4 Readdir operation for an empty ZFS dir
Commit 9a3edc8 modified the behaviour of ZFS's
VOP_READDIR() such that it will reply EINVAL for
an offset past EOF on the directory.

This exposed a latent bug in the NFSv4 Readdir
code, which would attempt a Readdir with an
offset beyond EOF for a directory that consists
of only "." and "..". This happened because NFSv4
does not reply "." or ".." to the client and, after
skipping over them, attempted another VOP_READDIR().

This patch fixes the problem by checking the eofflag
for the case where all entries have been skipped over.

Reviewed by:    kib
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52370
1c52d525f06411726d7755081f904de64749eb9b Rick Macklem 2025-09-04 01:48:52

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

pseudofs: don't leak the unrhdr on error
Reviewed by:  des, kib
Differential Revision:  https://reviews.freebsd.org/D52155
b9746f6185c708ebadc9a8b1e640c1deab52b161 Kyle Evans 2025-09-04 02:08:52

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

pseudofs: return errors from pfs_create_*()
In D52038, we kind of guess at the reason that pfs_create_dir() failed,
which isn't great: it could be EEXISTS, or it could even be ENOMEM.

Change the pfs_create_*() interfaces to return an error and use a double
pointer to return the new node as requested.  Outside of the changes
in sys/fs/pseudofs, this diff is the result of running the added
coccinelle script against in-tree pseudofs and fixing all of the
style(9) violations that spatch added.

We set *opn to NULL in the failure cases to avoid breaking callers that
did actually error-check their results, since the cocci patch does not
attempt to handle that in any way.

Reviewed by:    des (previous version), kib
Differential Revision:  https://reviews.freebsd.org/D52157
a2f08d0ddc29e4da15f614bdb6a5072b3fd6332c Kyle Evans 2025-09-04 02:08:52

debug: classified in 05-summary-prefix by '^pseudofs:'

Kernel

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

bridge: Fix adding gif(4) interface assigned with IP addresses as bridge memeber
and fix assigning IP addresses to the gif(4) interface when it is a
member of a if_bridge(4) interface.

When setting the sysctl net.link.bridge.member_ifaddrs to 1, if_bridge(4)
can eliminate unnecessary walk of the member list to determine whether
the inbound unicast packets are for us or not.

Well when a gif(4) interface is member of a if_bridge(4) interface, it
acts as the tunnel endpoint to tunnel Ethernet frames over IP network,
aka the EtherIP protocol, so the IP addresses configured on it are
independent of the if_bridge(4) interface or other if_bridge(4) members,
hence the sysctl net.link.bridge.member_ifaddrs should not have any
influnce over gif(4) interfaces's behavior of assigning IP addresses.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227450
Reported by:    Siva Mahadevan <me@svmhdvn.name>
Reviewed by:    ivy, #bridge
MFC after:      1 week
Fixes:          https://cgit.freebsd.org/src/commit/?id=0a1294f6c610 bridge: allow IP addresses on members to be disabled
Differential Revision:  https://reviews.freebsd.org/D52200
9764aa1ccad08a7ec53ed9b80741b9553f3fa4e6 Zhenlei Huang 2025-09-01 10:14:22

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

Commit group #2: LinuxKPI
LinuxKPI: 802.11: use IEEE80211_FEXT_AMPDU_OFFLOAD

Set IEEE80211_FEXT_AMPDU_OFFLOAD if the driver/firmware does AMPDU[-TX]
offload and net80211 should stay out of the way.

Later use IEEE80211_CONF_AMPDU_OFFLOAD() (the IEEE80211_FEXT_AMPDU_OFFLOAD
net80211 flag) rather than the LinuxKPI check to clear AMPDU-RX if we do
not support crypto offload.  This may seem odd at first as AMPDU-RX is
mandatory but we would not be able to get anything working if we would
let net80211 do a (*ic_ampdu_rx_start)() call.

Some of this is neccessary until we have the code for all drivers (rtw8x
use further interfaces) sorted.

Sponsored by:   The FreeBSD Foundation (originally)
MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=ac2c7271b7c26
0533923acf22d4f308590b651aacd17441f4a9b8 Bjoern A. Zeeb 2025-04-14 18:27:28

LinuxKPI: 802.11: only change dtim_period once assoc

At least iwlwifi(4) seems to expect us to be assoc when seeing
BSS_CHANGED_BEACON_INFO as it will stop session protection and
update the beacon filter amongst other things.  Check for the vif
to be assoc before applying any dtim_period updates.  See comment
for more details on the entire flow.

MFC after:      3 days
8b86235ddd42645b385458b7af6f42de683b6316 Bjoern A. Zeeb 2025-09-02 07:11:08

LinuxKPI: 802.11: counting beacons for debug only when assoc

Simplify the logic and only count beacons when we are assoc, given
we only do this for debugging purposes of beacon/connection loss.

Fixes:  https://cgit.freebsd.org/src/commit/?id=bdfe17f129db0
MFC after:      3 days
00c9ebbbc6533bd0b23e374a59e91345bb26d3dc Bjoern A. Zeeb 2025-09-02 08:20:11
unix/stream: fix EVFILT_WRITE after we did shutdown(2)
When fixing bug 286692, the change eafe5967ac558, that fixed a case when
peer side does close(), also had regressed a case when our side does
shutdown(SHUT_WR).  These actually are two independent code paths, and the
eafe5967ac558 shouldn't have touched the second block.  The removal of
'kn->kn_flags |= EV_EOF' was incorrect and the statement on original
behavior in the commit message was also incorrect.

Do not add back so_error setting, since I failed to find a test case that
would return anything but 0 in kevent.fflags when run on stable/14.

This was found with help of https://github.com/tokio-rs/mio.  Add a test
case into our test suite for that.

Fixes:  https://cgit.freebsd.org/src/commit/?id=eafe5967ac558de142d91660e18e9238289890e3

Reviewed by:            markj
Differential Revision:  https://reviews.freebsd.org/D52327
60d5a4216b3479a2d62eb65f2cb03b799546dcbb Gleb Smirnoff 2025-09-02 20:34:12

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

pf: Introduce M_PF type for pf(4) related memory allocations.
Currently used M_TEMP and M_IFADDR types are unreasonable for that purpose.
This dedicated statistics simplify the future pf(4) unlocking work by decreasing
search area of possible memory leaks.

ok bluhm sashan

FreeBSD note: The unlocking work has already been done in FreeBSD, but it's
still useful to have all pf malloc() allocations be accounted to pf, not the
generic 'temp' bucket.

Obtained from:  OpenBSD, mvs <mvs@openbsd.org>, 062cda8b8d
Sponsored by:   Rubicon Communications, LLC ("Netgate")
ddd39152743abc3cff05e7475c0ce48aa303956a Kristof Provost 2025-08-18 12:19:40

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

pf: fix struct pf_krule_global leak
Make sure we free all of the trees we allocated when we free the ruleset.
Found by 'kldunload pf' after a test run, now that the allocation is done from a
pf-specific malloc type.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
275ff85b254c1f160f965dd9dbb5801f66022eab Kristof Provost 2025-09-01 08:32:30

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

vm/vm_fault.c: rename vm_fault_hold_pages_e() to vm_fault_hold_pages()
Suggested by: imp
Reviewed by:    alc, imp
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D52348
5a308afeaf3d12562c6a61e06f112f730f4d7270 Konstantin Belousov 2025-09-02 19:32:05

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

init_main: Fix logging the subsystem of pre-loaded kernel modules
The pre-load, aka linker_preload() runs at the order of SI_SUB_KLD, but
a pre-loaded module may have SYSINITs that have startup order prior to
SI_SUB_KLD, e.g. TUNABLE_INT() / TUNABLE_LONG(), hence it is possible
that we run into abnormal orders.

Without this change, the subsystem of the pre-loaded kernel modules
will be melted into previous one. That is mostly harmless but confusing.

MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D47904
11f1dd193af57dfa5128eadc62b084502292a784 Zhenlei Huang 2025-09-03 10:14:21

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

LinuxKPI: skbuff: no longer use IEEE80211_DEBUG to turn on debug
A port using linux(kpi) header files but not using skbuffs is hitting
the case that it cannot find opt_wlan.h.  Give up to the idea that
skbuff.h is only used by wireless drivers (or in-tree) and that
IEEE80211_DEBUG (via opt_lwan.h) could autmatically compile in debug
support.

It is likely time to add a LINUXKPI_DEBUG knob in the near future
(also for linuxkpi_debug or linuxkpi_debug_rcu).

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289268
MFC after:      3 days
bc222e96d135687aea4e67ee9b11fb9490f42546 Bjoern A. Zeeb 2025-09-03 11:01:01

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

sys: Rename BLOAT_KERNEL_WITH_EXTERR to EXTERR_STRINGS
There's no need for an implied value judgement.

Suggested by:   jhb
Reviewed by:    kib, jhb
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52351
92255335d9451bd425074fab4447799113daf676 Ed Maste 2025-09-02 20:58:29

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

init_main: Remove the placeholder SYSINIT
This was initially introduced to ensure there is at least one entry so
that the sysinit_set symbol is not undefined. Well now that the kernel
has plenty of SYSINITs and it is unlikely we will have a kernel without
any SYSINITs in future, then this placeholder is not relevant anymore.

MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D47916
7e38993247f5e82abd4c347079fd256e73a76a00 Zhenlei Huang 2025-09-03 17:09:11

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

ifnet: Defer detaching address family dependent data
While diagnosing PR 279653 and PR 285129, I observed that thread may
write to freed memory but the system does not crash. This hides the
real problem. A clear NULL pointer derefence is much better than writing
to freed memory.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279653
PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285129
Reviewed by:    glebius
MFC after:      3 weeks
Differential Revision:  https://reviews.freebsd.org/D49444
b5c46895fdddcdb7dd1994598925d6989ea7c8f2 Zhenlei Huang 2025-09-03 19:16:40

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

vfs: handle vfs_init() failures
Most vfs_init implementations will not fail, with the notable current
exception that tmpfs_subr_init() can fail to allocate a new swap pager
type, in which case we probably do not want to proceed and keep it
registered.  linsysfs was a potential consumer, but we opted to go a
different direction and move pseudofs init/deinit over to first mount
and last mount instead.

Reviewed by:    fuz, kib
Differential Revision:  https://reviews.freebsd.org/D52037
6d33507ff9b877f52516df00b012715b55d4e14f Kyle Evans 2025-09-04 02:08:51

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

linsysfs: error check device-directory creation
This one in particular is ripe with opportunities to trigger a duplicate
node error in pfs_create_dir(), so we do actually want to error-check
it.  The rest, more or less, should be expected not to fail.  We'll
propagate the error from pfs_create_dir() up through linsysfs_run_bus
and complain about the device node that caused the error.  Note that we
avoid failing vfs_init() since a partially-constructed linsysfs with
missing devices is probably more useful than missing linsysfs entirely.

While we're here, convert two malloc() that weren't being error checked
to M_WAITOK -- we already wait in the rest of the function, might as
well do the same here.

Add a missing newline to the pseudofs error mesage.

Reviewed by:    fuz, kib
Differential Revision:  https://reviews.freebsd.org/D52038
cc70c7989bfbc528806a3abce2194f739089286b Kyle Evans 2025-09-04 02:08:51

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

Commit group #3: arm64
arm64: Add a macro to create cpu_feat

This will be used later to extend cpu feature detection

Reviewed by:    imp (earlier version)
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52356
b3605a7bb6f8c58d939e642671ce70b0ce39b95e Andrew Turner 2025-09-04 14:23:23

arm64: Add a sysctl to see if features are enabled

This will also be used as a tunable to control features in a later
change.

Reviewed by:    imp
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52357
9204a315a71c5aa9a9b8c11f2dcefb155dd5fc34 Andrew Turner 2025-09-04 14:44:31

arm64: Support managing features from loader

Allow the user to enable/disable supported cpu features/errata from a
known tunable. This will allow the user to disable features, e.g. to
work around broken firmware. It can also be used to enable workarounds
for rare errata.

Reviewed by:    imp
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D52358
4bc68fa98f68211ee7943d77cfc91f60ccb5880d Andrew Turner 2025-09-04 14:45:09
bridge: Print a warning if member_ifaddrs=1
When adding an interface with an IP address to a bridge, or assigning an
IP address to an interface which is in a bridge, and member_ifaddrs=1,
print a warning so users are informed this is deprecated.  Also add
"(deprecated)" to the sysctl description.

MFC after:      9 hours
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D52335
7156a5f1af9e55cb0fcd409fd4555d1ca5cf34ab Lexi Winter 2025-09-04 16:22:36

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

jail: add kqueue(2) support for jails
Add kqueue tracking to jails, inspired by how it's done with processes.
EVFILT_JAIL takes a jail ID, and tracks with NOTE_JAIL_SET,
NOTE_JAIL_ATTACH, NOTE_JAIL_REMOVE, and NOTE_JAIL_CHILD. It also uses
the NOTE_TRACK mechanism that EVFILT_PROC uses, using the same result
flags (NOTE_CHILD and NOTE_TRACKERR).

Relnotes:       yes
Differential Revision:  https://reviews.freebsd.org/D51940
1bd74d201a534540614663686890ab96a3bbe2c7 Jamie Gritton 2025-09-04 18:56:56

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

snd_hda: Fix a sporadic panic during kldunload
The interrupt handler releases the device lock in hdaa_stream_intr to
avoid a lock order reversal.  This allows child devices to be detached
and destroyed and then the interrupt handler panics.

Let hdac_detach take down the interrupt handler before detaching child
devices and order hdac_driver so hdac_detach is called first.

Remove duplicate hdac_if.h from the module Makefile.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286385
Reviewed by:    christos
Differential Revision:  https://reviews.freebsd.org/D50393
d4bfebf917bcecf23892bb5069ee91bec75bef71 Tijl Coosemans 2025-05-24 10:58:29

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

jaildesc: fix a misplaced error check and a spurious finit call
8ec7a830f10bc0f3b421dfaf6967a1bc996d34fd Jamie Gritton 2025-09-05 04:48:49

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

kenv: Sprinkle const qualifiers where appropriate
No functional change intended.

MFC after:      2 weeks
2a0ed0bef264da39b670461809bf027362dfeb80 Zhenlei Huang 2025-09-05 16:00:04

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

mtx: Sprinkle const qualifiers where appropriate
No functional change intended.

MFC after:      2 weeks
7bbfcc540810ba08f75b8f04263bb9a25f1cf45e Zhenlei Huang 2025-09-05 16:00:04

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

rmlock: Sprinkle const qualifiers where appropriate
No functional change intended.

MFC after:      2 weeks
bec053201032b6b200dfe4e545e745af0f2179b4 Zhenlei Huang 2025-09-05 16:00:04

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

rwlock: Sprinkle const qualifiers where appropriate
No functional change intended.

MFC after:      2 weeks
3c3686b3c773131243d204b4096e484037c7b502 Zhenlei Huang 2025-09-05 16:00:04

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

sx: Sprinkle const qualifiers where appropriate
No functional change intended.

MFC after:      2 weeks
306f0c4cf1a2f58a56993d29d666b4643326493b Zhenlei Huang 2025-09-05 16:00:05

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

sys/power.h: Add `_KERNEL` guards
There is no userland interface which would need these, so make header
kernel-only.

Reviewed by:    jrm (mentor), markj
Approved by:    jrm (mentor), markj
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D52395
7fa1552a6a6db281ce9c7dd03dc035609a87fb6f Aymeric Wibo 2025-09-05 16:54:00

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

gstripe: remove bio->bio_ma_n assignment
We shouldn't be manipulating the parent's bio at all (except to update
the number of children). physio() already set this properly as well,
in addition.

Signed-off-by: Miroslav Cimerman <mc@doas.su>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1800
6714e127945c736857cd86aff41d9cbd29ce7f7c Miroslav Cimerman 2025-08-02 17:23:40

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

GEOM_UNION: Should free sc in g_union_ctl_create when error happened.
Signed-off-by: Wuyang Chung <wy-chung@outlook.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1835
a930cc8bad644039cfcfa5ff7c6fe3e8548aa9ae Wuyang Chung 2025-09-02 06:23:26

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

call g_new_geom instead for callers that pass regular string to g_new_geomf
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1786
656f7f43f204ad1e6956f8257f66b50e032a6c61 Wuyang Chung 2025-07-29 03:42:24

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

Commit group #4: LinuxKPI
LinuxKPI: pci: implement for_each_pci_dev() and improve pci_get_device()

Implement for_each_pci_dev() needed by a wireless driver update.
For that also improve pci_get_device() and add the functionality to
support the odev argument to start searching from that.

Sponsored by:   The FreeBSD Foundation (intially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52066
910cf345d0ee9a5d72856a1ba35382eb4f0db951 Bjoern A. Zeeb 2025-09-04 20:20:15

LinuxKPI: pci: implement pcim_iomap()

Like pci_iomap() add the devres version pcim_iomap() using the former
to get the resource.

Add a helper function to validate that the bar is within a valid range
and sprinkle that check also to other related functions.

Sponsored by:   The FreeBSD Foundation (intially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52067
2f9064a5d2b50f292cc8699d2be5c66c317f1dc7 Bjoern A. Zeeb 2025-07-31 17:45:26

LinuxKPI: pci: implement [linuxkpi_]pcim_request_all_regions()

Factor out the pci_request_region() implementation into an internal
function and make pci_request_region() a simple wrapperaround it.
Likewise implement pcim_request_all_regions() as a loop calling
pci_request_region() for each entry.

In two cases which we returned an error before (bar index is valid but
bar is not (no len), and neither IO nor MEM) we now reutrn success
(nothing to do for us).  Otherwise callers, especially
pcim_request_all_regions() would error out for the wrong reasons.
This seems to also match the expected behaviour of pci_request_region().

Sponsored by:   The FreeBSD Foundation (intially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52068
7e21158d44cd46e720395604ca6f00f2fa36b20c Bjoern A. Zeeb 2025-07-31 18:28:22

LinuxKPI: pci: allocate entire pci_dev hiereachy up to root port on attach

In linux_pci_attach_device() allocate a LinuxKPI pci_dev for each device in
the hierarchy up to the root port[1] as we cannot do that later on demand
as we may be in a context where we may not sleep.

Take special care of DRM as there is a non-PCI device in the chain which
needs to be skipped.

iwlwifi(4) can hit this case called from a callout.

While here leave a comment sa the cleanup order of
linux_pci_attach_device() needs correction seperately.

Sponsored by:   The FreeBSD Foundation (initially)
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283027
Suggested by:   jhb [1]
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52069
bbeeb585315645db20118ef349a4e3dc83b148cc Bjoern A. Zeeb 2025-09-04 20:22:00

LinuxKPI: pci: allow children to be attached to a pci_dev

This will be used for hooking suspend/resume in for LinuxKPI 802.11
based drivers.

Sponsored by:   The FreeBSD Foundation (initially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52070
627234627b51c2f12c29d10617d7bbd18936ea55 Bjoern A. Zeeb 2025-09-04 20:22:30

LinuxKPI: correct the LINUXKPI_VERSION check for abs_diff()

The code introduced abs_diff() as migrated from drm to standard
linux headers.  The LINUXKPI_VERSION check did not allow this to
be visible by default in-tree.  Make sure the v6.6 check is optional.
drm-kmod always defines LINUXKPI_VERSION so this should be fine.

Sponsored by:   The FreeBSD Foundation (initially)
Fixes:          https://cgit.freebsd.org/src/commit/?id=afc450fac9f04
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52071
736b16e88d2384f9dd0ec11c0492e825b8d42193 Bjoern A. Zeeb 2025-09-04 20:23:00

LinuxKPI: acpi; fix type to acpi_get_handle()

The native AcpiGetHandle() and acpi_get_handle() take a
const char * argument for pathname and not an acpi_string (char *).
For that they spell it out fully as 'const char *', so should we.

Sponsored by:   The FreeBSD Foundation (intially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52072
c1264b6238c97810849bc38818d27c1ade1d4fc1 Bjoern A. Zeeb 2025-09-04 20:23:31

LinuxKPI: rename from_timer() to timer_container_of()

With Linux 6.16 from_timer() got renamed to timer_container_of(); add
the LINUXKPI_VERSION check with a default to the current version.
Update all in-tree consumers (apart from wireless drivers managed
otherwise).

Sponsored by:   The FreeBSD Foundation (initially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52073
81cb7c4c8e7bc4951c77fe64a63a847ed6abee38 Bjoern A. Zeeb 2025-09-04 20:23:57

LinuxKPI: timer KPI *_timer -> timer_*

del_timer() got renamed to timer_delete() approximately in Linux 6.2
(similar for *_sync and likely others).
Keep the old functions as compat; unclear when we can gc them.
We should also re-define them with a linuxkpi_ prefix to avoid possible
conflicts in the future if we do a full pass over this at some point.

Sponsored by:   The FreeBSD Foundation (intiially)
MFC after:      3 days
X-MFC;          preserve symbols, not inline
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52074
5cb64a1d3fe75526fb879ef4dce5860bbb4e4aea Bjoern A. Zeeb 2025-09-04 20:24:26

LinuxKPI: cleanup: implement __free() and DEFINE_FREE(); use for kfree()

A wifi driver update needs this.

Sponsored by:   The FreeBSD Foundation (initially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52075
39e9290d890b2aa07b68f2fe956b96e5df9a1da2 Bjoern A. Zeeb 2025-09-04 20:24:55

LinuxKPI: add DEFINE_LOCK_GUARD_0 for rcu

This adds guard support for non-real-types like rcu locking meaning
that we need to keep the lock state separately ourselves.  _T is still
special and needs to be updated.  Given it may not be used it needs
an __unused attribute (we are using the LinuxKPI __maybe_unused which
indeed is more expressive in this case).

Sponsored by:   The FreeBSD Foundation (initially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52076
3f48a0fe53ca7e001852f4a406c1bdfab1cd2f6d Bjoern A. Zeeb 2025-09-04 20:25:30

LinuxKPI: add __struct_size

Use __builtin_object_size() by default.
If __builtin_dynamic_object_size() is available use that instead.

I would hope that in a future version we can remove the conditional
checks but in order to be able to MFC this without checking all
compiler versions simply keep it this way for now.

Sponsored by:   The FreeBSD Foundation (initially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52077
ff5bcb742899f8398ccb1b9e292b2e5aeeb7fedb Bjoern A. Zeeb 2025-08-18 19:53:55

LinuxKPI: sync overflow.h from Linux v6.16

It seems overflow.h wsa imported directly from Linux in 3208d4ad2b8320a.
Update the file to the newer version as needed for wireless driver updates.

Sponsored by:   The FreeBSD Foundation (initially)
MFC after:      3 days
Obtained from:  git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
                038d61fd642278 (tag: v6.16)
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52078
70c508e691de1ed0f70b4a6f0773bfb5d627050d Bjoern A. Zeeb 2025-09-04 20:26:32

LinuxKPI: kunit: add static_stub.h and more dummy headers

These came up during a wifi driver update.

Sponsored by:   The FreeBSD Foundation (initially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52079
7c473933624f701263a83da526cac680b1ca69ed Bjoern A. Zeeb 2025-09-04 20:27:16

LinuxKPI: maths64: implement roundup_u64()

Needed by a wifi driver update.

Sponsored by:   The FreeBSD Foundation (initially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52080
2a44e10edb13e6b2be7fa2814b418a6959cb1171 Bjoern A. Zeeb 2025-09-04 20:27:48

LinuxKPI: devres: divorce dem_kfree from lkpi_devm_kmalloc_release

dem_kfree() is called from all over the place and should actually
do something;  contrary to lkpi_devm_kmalloc_release() it can also
take a const void *.  We have to __DECONST() that though as the
entire devres framework does otherwise not take a const argument.

This was discovered during the rtw89 upadte to 6.16.

Sponsored by:   The FreeBSD Foundation (initially)
MFC after:      3 days
Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D52082
4ab64e34911ab06e567caaf07ed18f7770a61cc8 Bjoern A. Zeeb 2025-09-04 20:28:18

Build system

openssl: link enough files for the legacy provider to actually load
Reviewed by:          khorben, ngie
Differential Revision:  https://reviews.freebsd.org/D52113
b370fb00c89e9182f650943902a008f0c60883d6 Gleb Smirnoff 2025-09-01 16:39:14

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

sh: Add config tag to /.profile
The file /.profile is installed as a hard link to /root/.profile. The
file in /root has the config tag, but the file in / does not, which
causes it to be overwritten by pkg upgrade. Since they're linked, this
also overwrites the file in /root.

Add the config tag to the file in / as well, so pkg treates both links
as config files and won't overwrite them.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289097
MFC after:      3 days
Reviewed by:    bapt, emaste
Differential Revision:  https://reviews.freebsd.org/D52162
aa730a66bc74696df85b21ec2719c75d8eab8c9f Lexi Winter 2025-09-02 08:22:56

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

sh: Fix non-NO_ROOT installconfig
When building without NO_ROOT, ${TAG_ARGS} is not set, which means we
pass ",config" as an install(1) argument.  Only add the config tag if
${TAG_ARGS} is defined to begin with.

Fixes:  https://cgit.freebsd.org/src/commit/?id=aa730a66bc74 ("sh: Add config tag to /.profile")
Reported by:    bz
b197d2abcb6895d78bc9df8404e374397aa44748 Lexi Winter 2025-09-02 11:47:36

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

mandoc: Install mandoc.db.5
Reviewed by:  ziaee, bapt
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D52343
45488e95b4c6152ed4e6b3e488b6590897e5fa64 Mark Johnston 2025-09-02 18:39:21

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

Commit group #5: tcpdump
tcpdump: get BINDIR from usr.sbin/Makefile.inc [NFC]

Reviewed by:    jrm, emaste
Differential Revision:  https://reviews.freebsd.org/D52332
d376524a5d311ddc2a5adee9aec34dd2e4c7a3b9 Brooks Davis 2025-09-03 12:12:10

tcpdump: drop no-op LBL_ALIGN macro

This macro was replaced by a collection of architecture ifdefs in
tcpdump 4.99.4 so defining it does nothing.

Fixes:          https://cgit.freebsd.org/src/commit/?id=51a183021fce3 ("Import tcpdump 4.99.4")
Reviewed by:    jrm, emaste
Differential Revision:  https://reviews.freebsd.org/D52333
9f670001410df3bea19d2d106bf5634ceb54d293 Brooks Davis 2025-09-03 12:12:19

tcpdump: don't create unused version.c

The version now comes from the PACKAGE_VERSION macro.

Fixes:          https://cgit.freebsd.org/src/commit/?id=0a7e5f1f02aa ("tcpdump: Update to 4.99.5")
Reviewed by:    jrm, emaste
Differential Revision:  https://reviews.freebsd.org/D52334
4b8eebe9754a40ab12d265adb17aafec690a29aa Brooks Davis 2025-09-03 12:11:52
Makefile.inc1: Build openssl as a certctl dependency on old FreeBSD
X509_NAME_hash_ex() is not available in OpenSSL 1.x.

Reviewed by:    des
Reported by:    syzbot+54c1e57e7184582a8f59@syzkaller.appspotmail.com
Fixes:          https://cgit.freebsd.org/src/commit/?id=c340ef28fd38 ("certctl: Reimplement in C")
Differential Revision:  https://reviews.freebsd.org/D52291
13e7b21901a5e246e4b42d28e930ec80fe6889d0 Mark Johnston 2025-09-03 16:14:37

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

openssl: Disable KTLS in bootstrap libraries
We need to build OpenSSL when bootstrapping certctl.  On MacOS
ktls_enable() isn't defined anywhere, so without this the build fails.
We don't need KTLS in the bootstrap library, so just disable it.

Reviewed by:    khorben, ngie
Differential Revision:  https://reviews.freebsd.org/D52341
407c4d1eeb80caadcf24e60b827ea6686d3adf3a Mark Johnston 2025-09-04 13:28:39

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

kerberos5: Fix the Heimdal pkgbase build
When LIB_PACKAGE was added, MIT Kerberos was updated to use it but
Heimdal was not, so it still used PACKAGE=kerberos-lib.  Since we
deleted kerberos-lib-all.ucl, this caused update-packages to fail
when WITHOUT_MITKRB5 is set.

Change the Heimdal libraries to use LIB_PACKAGE by setting this in
kerberos5/lib/Makefile.inc, and remove PACKAGE=kerberos-lib from the
individual Makefiles for each library.  This means Heimdal gets the
same set of packages as MIT Kerberos, except for kerberos-kdc which
we don't create for Heimdal.

Fixes:  https://cgit.freebsd.org/src/commit/?id=929f5966a9fd ("packages: Improve handling of -lib packages")
Reported by:    jlduran
Reviewed by:    jlduran, cy
Differential Revision:  https://reviews.freebsd.org/D52371
7e97c6adffde3bd6f60f042ed2603335c005c6a7 Lexi Winter 2025-09-04 13:53:02

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

share/sendmail: Use consistent ordering when processing files
Otherwise files are handled in the order returned by find(1).  This
in turn results in inconsistent ordering of files in the METALOG mtree
file produced by "make installworld -DNO_ROOT", which results in
non-reproducible filesystem images.

Reviewed by:    gshapiro, emaste
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D52349
65688fcb79eee1711fa2a83bee4bd2cd0b851d19 Mark Johnston 2025-09-04 18:02:21

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

moused: Fix movement of moused/moused to moused/moused/moused
So aef807876c30 moved moused down a level, so make depend broke. This
fixes it.

Sponsored by:           Netflix
edd8c4c655925543e2d881811c544473da463147 Warner Losh 2025-09-05 05:49:44

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

Update vmimage.subr
This "noatime" tweak, reduced the OPNsense constant 50kb - 80kb disk writes that wear down the SSD / NVME.

Signed-off-by: Unicorn9x
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1834
3ed0cdf7de79fc0f50f57e75cdb9ae178ab0e74c Unicorn9x 2025-09-01 11:30:48

debug: classified in 02-filenames_wildcards by 'release/.*'

bpi-r2-pro: added support dts for bpi-r2-pro
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1822
8647a0b37e7518b051e78422f90586125a1eb733 MartinFx 2025-08-25 20:45:09

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

Add description for WITH_PTHREADS_ASSERTIONS
This option is turned on by default in -CURRENT but will be turned off
in 15-STABLE; this description will land in the src.conf(5) man page
in that branch.

MFC after:      1 minute
af60084978a43632c5ab2d6e3aca41be7a658d8c Colin Percival 2025-09-05 21:29:51

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

share/mk: Fix a heuristic in bsd.cpu.mk
When cross-building from MacOS we have MACHINE=arm64 MACHINE_ARCH=arm,
so bsd.cpu.mk infers that sizeof(long) == 4, but of course it isn't.
This breaks the bootstrap build of openssl, which tests
MACHINE_ABI:Mlong64 to decide whether to build ecp_nistp224.c.  It
doesn't, and crypto/openssl/freebsd/include/openssl/configuration.h
undefines OPENSSL_NO_EC_NISTP_64_GCC_128, so we end up with a link
error.

Reviewed by:    ngie, emaste
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D52340
4341f92251ae00c3f82904623bfd561bb8ea49fb Mark Johnston 2025-09-07 16:07:32

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

Internal organizational stuff

Update main to 16
* Bumps to versions in lib/clang
* Bumps to sys/conf/newvers.sh and sys/sys/param.h
* Update to UPDATING

Approved by:    re (implicit)
Sponsored by:   https://www.patreon.com/cperciva
8b4e4c2737305df8807abc6cd054a32586085c93 Colin Percival 2025-09-04 23:06:47

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

Testing

tzcode: Add a test case for plain issetugid case
This catches a bug in tzcode which incorrectly considers TZDEFAULT as
unsafe as if it came from the environment.

Also deduplicate some repeated code, and fix a missing mode in an
open(2) call with O_CREAT set.

Event:          Oslo Hackathon 202508
Reviewed by:    philip
Differential Revision:  https://reviews.freebsd.org/D52241
016d3ec239b39895cf19aa62552fc316d7d98045 Dag-Erling Smørgrav 2025-09-01 06:33:37

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

tests: bridge: Add regression test for gif(4) interface as bridge member
if_bridge(4) should not prohibit adding a gif(4) interface which is
assigned with IP addresses as a bridge member regardless of the setting
of sysctl variable net.link.bridge.member_ifaddrs.

Assigning IP addresses on the gif(4) interface should not be affected
no matter whether it is member of a bridge interface or not.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227450
Reported by:    Siva Mahadevan <me@svmhdvn.name>
Reviewed by:    ivy (previous version)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D52200
b944c8ff17971b1c8f61d5612eac146f5d589e87 Zhenlei Huang 2025-09-01 10:14:22

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

if_ovpn tests: skip float and linklocal test on < 2.7
Earlier versions (than 2.7.0) do not support float notifications or link-local
addresses. Skip the relevant tests there.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289150
MFC after:      1 week
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D52234
512d3c3a2c6391cee61ff41e3fe6304973346857 Kristof Provost 2025-08-29 09:19:26

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

pf tests: sctp:pfsync robustness improvement
Add a wait after we establish the SCTP connection to give pfsync some time to
work before we check if it has synced the state to the other jail.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289239
Sponsored by:   Rubicon Communications, LLC ("Netgate")
f4f42421f38ecf06396332fda563c3dcc8d32143 Kristof Provost 2025-09-03 14:04:41

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

tests: disable transmit checksum offloading for epair interfaces
When transmit checksum offloading is enabled, if_epair does not
compute checksums, it just marks packets that this computation still
needs to be done. However, some test cases verify the checksum.
Therefore disable this for IPv4 and IPv6.

Reviewed by:            kp
MFC after:              1 week
Differential Revision:  https://reviews.freebsd.org/D52379
bd8296e7173aa625f6d4d766aac2df6be639e49a Michael Tuexen 2025-09-04 11:52:37

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

tests/sys/mqueue: use require.kmods property instead of ad-hoc checks
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
cacfd42b0c57b3455ca4a23e21de071fa0cc9ed0 Siva Mahadevan 2025-07-21 13:25:26

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

tests/sys/netlink: use require.kmods property instead of ad-hoc checks
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
215a0654186926b2e4497d83f3eb45b5eefcb23f Siva Mahadevan 2025-07-21 13:25:26

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

tests/sys/opencrypto: use require.kmods property instead of ad-hoc checks
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
308c9c995794f1ae89bba1d43aab9c51f7e90a09 Siva Mahadevan 2025-07-21 13:25:26

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

tests/sys/aio: use require.kmods property instead of ad-hoc checks
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
26d3dfa8733892adf107b045a8c98d480b4bb21d Siva Mahadevan 2025-07-21 13:25:26

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

tests/pf/ioctl: use require.kmods property instead of ad-hoc checks
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
c444bfca0063d0820f3fc72cb429809f5f52a970 Siva Mahadevan 2025-07-21 13:25:26

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

tests/sys/netmap: use require.kmods property instead of ad-hoc checks
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
559b0f6b82867b60a2d5cb1b2744114603cb17a7 Siva Mahadevan 2025-07-21 13:25:26

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

tests/sndstat: use require.kmods property instead of ad-hoc checks
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
74898ce961e1f4818eba500dfa3a06bc30c1d9b3 Siva Mahadevan 2025-07-21 13:25:26

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

tests/socket_accf: use require.kmods property instead of ad-hoc checks
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
7a1a6d1e2a836d189447ba725b0e256014613ab8 Siva Mahadevan 2025-07-21 13:25:26

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

tests/sys/net: use require.kmods property instead of ad-hoc checks
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
4079513328d5656e31cb853a799176ff2500f79b Siva Mahadevan 2025-07-21 13:25:26

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

tests/sys/netinet: use require.kmods property instead of ad-hoc checks
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
427be10491e37160a82eef31622676c655a29f1e Siva Mahadevan 2025-07-21 13:25:26

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

tests/vmm_cred_jail: use require.kmods property instead of ad-hoc checks
Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
Sponsored by: The FreeBSD Foundation
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
f53228c4e398468c71d3ed8a372cc29ccae6a0c1 Siva Mahadevan 2025-07-21 13:25:26

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

Style, typos, and comments

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

vtnet.4: remove stray line
Reported by:  Timo Völker
Fixes:          https://cgit.freebsd.org/src/commit/?id=ac87d70563f8 ("vtnet.4: improve existing descriptions and add missing ones")
MFC after:      3 days
Sponsored by:   Netflix, Inc.
491986942dd2b3be8a6f232c487b3bb7c1ea412b Michael Tuexen 2025-09-03 09:19:48

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

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

timeout(1): add license header to unit test
Requested by: kevans
245f2abf94889d3fd69360c4f49532074ff25fbf Baptiste Daroussin 2025-09-03 09:52:46

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

debug: Commit manually moved from "tests" to "style".

sys/cpu.h: Some style(9) fixes
MFC after:    3 days
0737e2a961cd712fff5b548bb6b823e48a8b527d Zhenlei Huang 2025-09-06 17:02:33

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

git-blame-ignore-revs: sys/cpu.h style(9) fixes
MFC after:    3 days
7b4562e12f7e9ea40a268b7af2b26c4cc58be802 Zhenlei Huang 2025-09-06 17:04:55

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

Contrib code

tzcode: Don't treat TZDEFAULT as tainted
tzset() calls zoneinit() with the FROMENV flag set unconditionally, so
if TZ is unset and we use TZDEFAULT instead, we were still treating it
as if it came from the environment.  Unset the FROMENV flag if name is
null and we switch to TZDEFAULT, or if, after skipping the optional
leading colon, we find that name is identical to TZDEFAULT.

This incorporates upstream change d0e0b00f846c ("Avoid unnecessary
access, stat calls").

Fixes:          https://cgit.freebsd.org/src/commit/?id=b6ea2513f776 ("tzcode: Limit TZ for setugid programs")
Event:          Oslo Hackathon 202508
Reviewed by:    philip
Differential Revision:  https://reviews.freebsd.org/D52240
ca89e15355097e9b57bf4e17a50506e081fe04b3 Dag-Erling Smørgrav 2025-09-01 06:33:28

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

jemalloc: Remove bogus merge conflict markers
The merge markers were added, it seems, in one of my rebases. The HEAD
entry is the merged code, as far as I can tell, and is what should be in
the base. None of these files are used during the build.

Noticed by:             jhb
Sponsored by:           Netflix
8ebb3de0c9dfb1a15bf24dcb0ca65cc91e7ad0e8 Warner Losh 2025-09-02 15:19:28

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

rtw89: Remove an unneeded __DECONST
Originally in e2340276fc73 the function argument was a
"const void *data" which we changed to "const int" in FreeBSD.  The
Linux version simply cast the const void * to (enum rtw89_rf_path)
both losing the const and changing the type.  When later the function
argument became a const union rtw89_fw_element_arg in 5b760eaecd6c3 it
seems we tried to undo the older FreeBSD specific part and initially
mismerged it leading to the const void *; but when fixing the type we
did not undo the __DECONST but did a mechanical copy.

Reviewed by:    bz
Co-authored-by: bz (commit message)
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Fixes:          https://cgit.freebsd.org/src/commit/?id=6d67aabd6355 ("rtw89: update Realtek's rtw89 driver.")
Differential Revision:  https://reviews.freebsd.org/D52359
e2761a8567f3bd93e4c363c2a1360eb89dd5f85b John Baldwin 2025-09-04 14:25:46

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

contrib/libxo: fix API header files inclusions in C++ source files
C++ source files need `extern "C"` to disable C++ name mangling.

MFC after:      1 week
Reviewed by:    aokblast (previous version), phil, imp (previous version)
Differential Revision:  https://reviews.freebsd.org/D47930
11ace56fa030185025936c795d5cf7c57b266835 ShengYi Hung 2025-09-07 18:33:01

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

unbound: Update to 1.23.1
Release notes at
        https://nlnetlabs.nl/news/2025/Jul/16/unbound-1.23.1-released/

Since we don't enable ECS, this is mostly a nop for us.

Merge commit 'c8864f6ba46ff3271d97b4ae1c3cc6ce01eaf18a'

MFC after:      3 days
5a0119491adbea0876d9d6dc0ef3e71f3d64a20b Dag-Erling Smørgrav 2025-09-07 18:59:20

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

Reverted commits

Commit & revert pair: stand: Use calloc instead of malloc for initialization of filesystem devsw
stand: Use calloc instead of malloc for initialization of filesystem devsw

This change is required for https://reviews.freebsd.org/D49355, so that
we can check if d_dev is uninitialized by checking if it's NULL.

Reviewed by:            imp
Differential Revision:  https://reviews.freebsd.org/D49705
dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8 null 2025-09-01 21:57:06

Revert "stand: Use calloc instead of malloc for initialization of filesystem devsw"

This reverts commit dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8. There's no
author, and also problems with it. I'll redo it.

Sponsored by:           Netflix
dd747d7bcb808eb18385a527163054c874aa3c27 Warner Losh 2025-09-02 15:21:45
Commit & revert pair: epair: add support for checksum offloading
epair: add support for checksum offloading

Add capabilities RXCSUM and RXCSUM6 as well as TXCSUM and TXCSUM6 for
for receive and transmit checksum offloading for TCP and UDP to the
epair interface and enable them by default.
RXCSUM and RXCSUM6 are enabled because an epair interface may receive
a packet with the csum_flag CSUM_DATA_VALID set, which is expected
only if these capabilities are enabled. Since it seems not helpful to
remove this flag, it is not possible to disable these capabilities.
TXCSUM and TXCSUM6 are synchronized between the two epair interface
ends. If enabled/disabled on one end, it will be enabled/disabled on
the other end. If the sending epair interface end has TXCSUM or TXCSUM6
enabled and the receiving end is in a bridge, it is assumed that all
interfaces in the bridge have that capability enabled. Otherwise the
bridge would have disabled that capability on the receiving epair
interface end in the bridge which would have disabled that capability
on the sending epair interface end as well due to the synchronization.

Reviewed by:            bcr, Seyed Pouria Mousavizadeh Tehrani
MFC after:              4 weeks
Differential Revision:  https://reviews.freebsd.org/D51639
e4ea162509e400340a2bc3e755071a92f3465e2d Timo Völker 2025-09-01 22:03:47

Revert "epair: add support for checksum offloading"

This reverts commit e4ea162509e400340a2bc3e755071a92f3465e2d.

kp reports failures related to pf tests. Revert until we
understand what is going wrong.
5240eab94e6e218aaaa4221da5cc0d4a10c844fd Michael Tuexen 2025-09-02 20:39:32
Commit & revert pair: pseudofs: defer initialization until first mount
pseudofs: defer initialization until first mount

Currently, pseudofs all get fully constructed when the module is loaded
and vfs registered, but this is pretty unnecessary.  Just loading the
fs doesn't mean that it will be used so we're adding overhead and
risk[0] by fully initializing these at the start, along with committing
resources that may not be used.

Deferring pfs_init() allows us to reduce the risk of simply loading the
module causing problems that are harder to avoid, and existing pseudo
filesystems don't really care: configuration that is context-sensitive
is generally deferred to access-time with PFS_PROCDEP.

To preserve symmetry, we'll also teardown our pseudofs on last unmount,
which leaves us with a vfs_uninit() implementation that simply destroys
our lock and prints a message.

[0] Example of such being recent bugs in linsysfs, which caused a panic
as soon as the module was loaded because we're eager to set it up.

Reviewed by:    des (previous version), kib
Differential Revision:  https://reviews.freebsd.org/D52156
65059dd2b6f94e570acc645be82b8ea056316459 Kyle Evans 2025-09-04 02:08:52

Revert "pseudofs: defer initialization until first mount"

This reverts commit 65059dd2b6f94e570acc645be82b8ea056316459.

lindebugfs does he vast majority of its pseudofs initialization nearly
everywhere but pseudofs, so let's defer this to post-brsnching.
d3462294c1f02ca20cc1869d618bde57559f5914 Kyle Evans 2025-09-04 12:48:18

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.13.1 at 2025-09-13 00:36:04+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2025-09-01 (release)