FreeBSD git weekly: 2026-06-08 to 2026-06-14

Introduction

This is a display of mostly-automatically-classified git commits from 2026-06-08 to 2026-06-14.

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

Table of contents and commits per category:

(2) Highlighted commits (these are copies, not in stats)
4 2.4% Userland programs
18 10.7% Documentation
25 14.9% Hardware support
14 8.3% Networking
20 11.9% System administration
8 4.8% Libraries
3 1.8% Filesystems
34 20.2% Kernel
4 2.4% Build system
1 0.6% Internal organizational stuff
12 7.1% Testing
11 6.5% Style, typos, and comments
12 7.1% Contrib code
2 1.2% Reverted commits
0 0.0% Unclassified commits
168 100% total
Technical notes about this page

debug: info about the automatic classification

num % num changed stage
2 1.2% 0 00-reverts
11 6.5% 0 01-style
20 11.9% 0 02-filenames_wildcards
5 3.0% 0 02b-filenames_wildcards2
69 41.1% 0 03-filenames_plain1
53 31.5% 0 04-filenames_plain2
3 1.8% 0 05-summary-prefix
5 3.0% 0 Manually-classified commits
0 0.0% 0 Unclassified commits

debug: more stats

num % stage
0 0.0% Misclassified commits
163 97.0% Classified commits, no corrections

debug: groups

2 1.2% num in revert
0 0.0% num in fixes
18 10.7% num in consecutive
20 11.9% Commits in groups

Highlighted commits

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

linux: Fix sockopt copyout
The Linux getsockopt did not check the size of the provided buffer when
copying out the value, leading to buffer overflows (e.g., for TCP_INFO).

Fix is to use the smaller of the option value size and the provided
buffer.

MFC after:      1 month
Relnotes:       yes
Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D55881
471fdd91d9156aeab026dc420fb97d97be872d65 Chuck Tuffli 2026-06-08 21:19:34

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

linux: Add TCP_INFO support
Implement the getsockopt for TCP_INFO by mapping FreeBSD's version to
what Linux expects.

MFC after:      1 month
Relnotes:       yes
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D55882
925ca9b8355d10a0dc85175dc865095c9b3370c4 Chuck Tuffli 2026-06-10 00:22:49

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

Userland programs

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

procstat binary: do not skip pid if either path or osrel sysctls failed
PR:   https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295893
Reviewed by:    emaste
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57493
9f378397ee89044a4faec522916b50f0a164d62e Konstantin Belousov 2026-06-07 07:28:29

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

install: drop obsolete file size limit for -C
Removes the file size limit for -C comparisons. The limit was
meant to prevent oversized mmap allocations, which is no longer
relevant as mmap is no longer used here (removed by
a0439a1b820fa0e742c00d095f5f5c06f5f19432, review D44809).
Credit to bdrewery.
See: https://reviews.freebsd.org/D57230

Reviewed by:    bdrewery, glebius, ziaee
Approved by:    glebius (mentor)
Obtained from:  Fudo Security
MFC after:      2 weeks
Sponsored by:   Fudo Security
Differential Revision:  https://reviews.freebsd.org/D57503
9d10b4d2c9e86d8f6ff1b654f468381a4a4cad6d Aleksandr Rybalko 2026-06-08 14:32:05

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

grep: periodic timer-based fflush instead of unconditional per-line flush
Replace the unconditional fflush(stdout) in grep_printline and
procmatches with a periodic timer that flushes at most once every
100ms.  This preserves interactive responsiveness (grep | tee,
grep | tail -f) while avoiding 1M+ write(2) syscalls when
processing large inputs.

The flush interval is tracked via clock_gettime(CLOCK_MONOTONIC)
and a static timespec.  --line-buffered continues to flush
immediately via setlinebuf(3), as before.

Benchmark on 1M lines (37MB output to file):
  unconditional fflush:  1.90s  (sys 1.22s)
  periodic 100ms timer:   0.49s  (sys 0.007s)

Reviewed by:            kevans
Differential Revision:  https://reviews.freebsd.org/D57528
ffe47c424e0a45f5d8d20a5944477821bd946eef Baptiste Daroussin 2026-06-12 12:13:35

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

grep(1): optimize -w/--word-regexp word boundary check
The -w option checks word boundaries before and after each potential
match by decoding the adjacent character.  This was done via the
heavyweight sscanf(3) with "%lc", which goes through the full scanf
parser and locale-aware mbrtowc(3) machinery even for simple ASCII.

Replace with a three-tier fast path:

1. ASCII bytes (< 0x80): simple isalnum(3) / '_' comparison
2. UTF-8 continuation bytes (0x80-0xBF): interior bytes of a multi-byte
   character are always word characters -> no further decoding needed
3. Multi-byte start bytes (>= 0xC0): decode with mbrtowc(3) directly
   instead of sscanf(3)/%lc, avoiding scanf parser overhead

Benchmark with ministat(1) (10 runs each):

Worst-case ASCII (100k lines of 100 'a' chars, -w 'a'):
    Difference at 95.0% confidence: -15.3% +/- 3.1%

Worst-case Unicode (50k lines of 100 accented 'e', -w 'e'):
    Difference at 95.0% confidence: -11.2% +/- 4.7%

Normal -w (500k lines, -w 'the'):
    Difference at 95.0% confidence: -18.1% +/- 3.6%

French text (100k lines, -w accented 'ete'):
    Difference at 95.0% confidence: -18.0% +/- 4.1%

Non -w case shows no regression.

Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D57587
a74c77cc7bed8dba50e976a7be2aa0094ee27b61 Baptiste Daroussin 2026-06-10 14:41:39

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

Documentation

Man pages, release notes, etc.

mount_udf.8: Alphabetize and align options
While here, remove "The following UDF specific options are available:".
It is unused and does not appear to have ever been used.

MFC after:      3 days
05f132adc530cd53203b9cd09d7e1b211d2babc4 Alexander Ziaee 2026-06-08 22:22:32

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

iconv.3: Fix formatting of the error section
MFC after:    1 week
c491c2db2f37399eba7a356c4bfa298d64012101 Mark Johnston 2026-06-08 22:46:08

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

stats: Reference zpool-iostat(8) instead of zpool(8)
MFC after:    3 days
c0ec8ffb46ab337dcf726fcdf8083f62859d0ae6 Mateusz Piotrowski 2026-06-09 08:37:13

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

examples: Update COPTFLAGS in make.conf
We've been using -O2 for about fifteen years.

Reported by:    Jan Stary <hans@stare.cz>
MFC after:      1 week
2ab18d3286f5e1ea08cd86e234377b673245ec15 Dag-Erling Smørgrav 2026-06-09 11:29:13

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

tests.7: Remove an unused configuration variable
No existing tests require it, and I cannot understand what kinds of test
scenarios are supposed to require it.  Just remove it.

While here, improve the documentation of test variables a bit.

Reviewed by:    ngie
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D56604
6bd97b5f3778aa36bcf89ff870bb1483b301a9be Mark Johnston 2026-06-09 21:00:23

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

du(1): document --si option
The --si option (human-readable output with SI units based on
powers of 1000) was implemented but missing from both the SYNOPSIS
and the options list.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265199
Signed-off-by: Kit Dallege <xaum.io@gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2104
82780af43b113ab16a1a4fab5bf085b2b159f81e Kit Dallege 2026-03-27 04:30:11

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

cp(1): fix -P documentation to reflect it works without -R
Since commit 97e13037915c, the -P flag works without -R as
required by POSIX. Update the man page to state that only -H
and -L are ignored without -R, while -P can be used independently.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289959
Signed-off-by: Kit Dallege <xaum.io@gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2102
2c5fd7d9a7ed36cf15dd538d9533e7835c7f8555 Kit Dallege 2026-03-27 04:25:44

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

mail(1): fix temporary file path in FILES section
The FILES section listed /tmp/R* but the source code uses
/tmp/mail.R* (e.g. mail.RsXXXXXXXXXX, mail.ReXXXXXXXXXX,
mail.RxXXXXXXXXXX) as the mkstemp template prefix.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289980
Signed-off-by: Kit Dallege <xaum.io@gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2103
05a02d395d6e9de099c4be3ead222d36ca29e0a5 Kit Dallege 2026-03-27 04:23:47

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

diskless(8): remove references to deleted clone_root script
The clone_root script was removed from the tree in commit
7736786b08e8 but the diskless(8) man page still referenced it
in two places. Remove both references.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292231
Signed-off-by: Kit Dallege <xaum.io@gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2101
f8c8875add6946b09ea8cf1f7bbdbd90fe5b1f17 Kit Dallege 2026-03-27 04:25:41

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

bsdconfig(8): add missing vt(4) console commands
Add documentation for the vt_font, vt_keymap, vt_repeat, vt_saver,
vt_screenmap, and vt_ttys commands which are available at runtime
but were not listed in the man page.

Also clarify that the existing syscons_* commands are for the
syscons(4) console driver and remove stale commented-out entries.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291051
Signed-off-by: Kit Dallege <xaum.io@gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2100
e7bdf44da75a3f877c90dbbb9ff3db730937bc96 Kit Dallege 2026-03-27 04:25:38

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

re(4): document jumbo frame support for 8168/8111 chips
The man page only mentioned jumbo frame support for the 8169, 8169S,
and 8110S chips. The 8168 and 8111 family also support jumbo frames,
with varying MTU limits depending on the chip revision (6K for C
variants, 9K for D and later). Update the documentation to reflect
the actual driver capabilities.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=160399
Signed-off-by: Kit Dallege <xaum.io@gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2097
473fa0f7a11ebecc50dfbd2997c8bdebbaad6541 Kit Dallege 2026-03-27 04:25:29

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

etherswitchcfg(8): document atu commands
Add documentation for the ATU (Address Translation Unit) commands
that were implemented but not documented in the man page:

- atu dump: display the MAC address table
- atu flush all: clear all dynamic ATU entries
- atu flush port <n>: clear ATU entries for a specific port

Also add atu to the SYNOPSIS section.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275413
Signed-off-by: Kit Dallege <xaum.io@gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2096
3a71a24bbeae3b72c91fd7c0b212ee607f18cba6 Kit Dallege 2026-03-27 04:25:27

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

hcreate(3): fix incorrect claim that hdestroy frees keys
The man page incorrectly stated that hdestroy() calls free(3) for
each comparison key. The implementation (hdestroy_r.c) only frees
the internal table structure, not the user-provided keys or data.
This matches POSIX, which says hdestroy "shall dispose of the
search table" without mentioning key deallocation.

Update the description to clarify that the caller is responsible
for freeing any memory associated with table entries.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291240
Signed-off-by: Kit Dallege <xaum.io@gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2095
ab8ceaaa86baa077fcdc020a0c05ccf88fcd54d1 Kit Dallege 2026-03-27 01:57:10

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

amdsmu(4): Small improvements
Suggested by: olce
Sponsored by:   The FreeBSD Foundation
ee13bfb694844df90b06c7246781212d3133e81c Aymeric Wibo 2026-06-11 21:17:39

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

bhyve: Document vCPU range pinning
This change documents the recently introduced changes to -p
that allow users to specify CPU ranges instead of having to
specify each individual mapping.

While we're here, move the -p examples to the EXAMPLES section.

Reviewed by:    bcr
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D57480
23c99b64918eddb6084ffe4347faf95f82661c47 Bojan Novković 2026-06-05 17:31:01

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

loader.efi.8: Address mandoc -Tlint errors
MFC after:    3 days
8e1f5baa62d7f442a6cbd62d84dd4b4c80920153 Mateusz Piotrowski 2026-06-12 12:27:04

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

loader.efi(8): the amd64 loader doesn't do protected mode
The amd64 UEFI loader executes in long mode, not protected mode.

Reviewed by:    kib
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D57568
f771deb193d5743e74515614b7cec40d68ab02ca Ahmad Khalifa 2026-06-14 16:26:16

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

loader.efi(8): document the ia32 loader
Reviewed by:  kib
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D57569
2e1f5b78976ad09bee41e602e75e79a0c3892e59 Ahmad Khalifa 2026-06-14 16:26:30

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

Hardware support

Hardware drivers and architecture-specific code.

firewire: Fix watchdog_clock aliasing and fw_tl2xfer UAF race
Two bugs in the firewire bus layer that affect all consumers (
if_fwip, sbp):

watchdog_clock was a static local in firewire_watchdog(), shared across
all firewire_comm instances.  With two controllers (e.g. built-in +
Thunderbolt Display), both advance the same counter, so the second
controller's 15-second boot-time timeout guard expires prematurely.

fw_tl2xfer() released tlabel_lock before returning the xfer pointer.

Reviewed by:    zlei, adrian
Differential Revision:  https://reviews.freebsd.org/D57496
a9519f7821c066c393690603eab33043f3804a0c Abdelkader Boudih 2026-06-08 14:30:29

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

usb: Add missing unsetup while detaching uchcom
Reviewed by:    christos
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57329
2934783fa80de2854d9527ae11db85c47ac65a91 ShengYi Hung 2026-05-29 15:09:52

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

if_axge: remove AXGE_RX_MII_ERR from packet dropping criteria
Packets received with the following configuration are associated with
AXGE_RX_MII_ERR, which looks legit since there's no AXGE_RX_CRC_ERR
or AXGE_RX_DROP_PKT attached:

        axge0: <ASIX Elec. Corp. AX88179, rev 2.10/1.00, addr 3> on usbus0
        miibus0: <MII bus> on axge0
        rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 3 on miibus0
        rgephy0: OUI 0x00e04c, model 0x0011, rev. 5
        rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow

Without this, 'dhclient ue0' never gets valid lease as all the DHCP
replies are dropped by the driver.

This behaviour is align with the reference driver provided by the
vendor(ASIX_USB_NIC_Linux_Driver_Source_v3.5.0.tar.bz2).

MFC after:      2 weeks
8011f6b0d8ba2ee18a60f3bd719f950081a474b3 Tai-hwa Liang 2026-05-15 14:32:03

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

sound: Check for offset overflow in dsp_mmap_single()
Approved by:  so
Security:       FreeBSD-SA-26:27.sound
Security:       CVE-2026-45258
Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
1bb8212df1878845f0a02e0375f1c4847b11e326 Christos Margiolis 2026-05-27 15:50:33

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

sound: Fix software buffer lifetime issues
The channel buffer mapped by dsp_mmap_single() may be freed when the
device handle is closed, but the mapping persists beyond that, allowing
userspace to read or write memory owned by a different consumer.

Fix the problem by adding a reference counter to the sound buffer.
Define pager ops for the VM object returned by dsp_mmap_single() and use
them to manage the extra reference.

Add a regression test.

Approved by:    so
Security:       FreeBSD-SA-26:27.sound
Security:       CVE-2026-49417
Reported by:    Lexpl0it, 75Acol, Liyw979, Rob1n
Reviewed by     kib
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57393
1b775b9ea4c1f4eb375c4309f8d6e90edb269844 Mark Johnston 2026-06-01 21:57:40

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

arm64: Workaround the following errata
 - ARM C1-Premium erratum 4193780
 - ARM C1-Ultra erratum 4193780
 - ARM Cortex-A76 erratum 4193800
 - ARM Cortex-A76AE erratum 4193801
 - ARM Cortex-A77 erratum 4193798
 - ARM Cortex-A78 erratum 4193791
 - ARM Cortex-A78AE erratum 4193793
 - ARM Cortex-A78C erratum 4193794
 - ARM Cortex-A710 erratum 4193788
 - ARM Cortex-X1 erratum 4193791
 - ARM Cortex-X1C erratum 4193792
 - ARM Cortex-X2 erratum 4193788
 - ARM Cortex-X3 erratum 4193786
 - ARM Cortex-X4 erratum 4118414
 - ARM Cortex-X925 erratum 4193781
 - ARM Neoverse-N1 erratum 4193800
 - ARM Neoverse-N2 erratum 4193789
 - ARM Neoverse-V1 erratum 4193790
 - ARM Neoverse-V2 erratum 4193787
 - ARM Neoverse-V3 erratum 4193784
 - ARM Neoverse-V3AE erratum 4193784

These are all variants on an erratum where TLBI+DSB instructions on
one CPU may incorrectly complete early leading to stores to an updated
address using an incorrect translation on another CPU.

In all cases the workaround is to add a second TLBI+DSB.

Approved by:    so
Security:       FreeBSD-SA-26:31.arm64
Security:       CVE-2025-10263
Sponsored by:   Arm Ltd
9c0a62df50de990230a48827ca0bb85b41d4e839 Andrew Turner 2026-05-28 09:25:30

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

hwpmc: Disable AMD PMCs if in an unsupported VM
AMD does not have a CPUID bit to indicate the lack of K8 PMCs.  If all
other PMC features are not present we should test an event selector to
see if it stores and returns a value.  If the VM is implemented
correctly, this should result in a #GP on the initial wrmsr_safe.  Bhyve
and a few other VMs ignore writes, so I got one step further and test
that it retains the OS and USR bits.

Tested on Zen 5 native and a Zen 5 Bhyve virtual machine.  This code
should not run on any recent hardware, except in a VM, as it checks that
the core counter extension is missing.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268943
Reported by:    Sandipan Das, John F. Carr <jfc@mit.edu>
Reviewed by:    mhorne, imp
Sponsored by:   Netflix
MFC after:      1 week
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2272/changes
dded0ab415cc09eed506968366e383d406834823 Ali Mashtizadeh 2026-06-05 23:48:53

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

watchdog: Fix a couple type issues
* Force the type of the literal `1` passed to nstosbt() to ensure it's a
  64-bit type (or larger).  Otherwise it gets inconveniently typed to
  int, resulting in truncation.
* Use `flsll()` when converting sbt to power-of-2-nanoseconds to fix
  32-bit compatibility.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292616
Obtained from:  Hewlett Packard Enterprise
Fixes:  https://cgit.freebsd.org/src/commit/?id=26d6617f3 ("watchdog: Convert to using sbintime_t format")
MFC after:      3 days
d08cb1dc17486920c1506f175d77259e0ac3f3a3 Justin Hibbits 2026-06-10 13:50:14

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

powerpc/booke: Add watchdog driver
The Book-E watchdog is effectively a state machine based around an AND
mask of the timebase register.  A single bit (0-63) is watched in the
timebase register, and when it transitions (by counting *or* by
programmatically setting) an exception is triggered.  The first
exception triggers a core interrupt.  The second is programmable.
In our case, we panic on the first and reset on second.
4bdcff55436859420e090afb0e6932bab794baa4 Justin Hibbits 2026-06-10 03:09:10

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

sys/arm64: fix return values of freebsd32_{set,swap}context()
This patch aligns the return values of freebsd32_{set,swap}context()
with their counterparts on amd64 and powerpc64, fixing the setcontext()
and swapcontext() calls in armv7 applications running on aarch64.

In particular, this fixes random crashes in armv7 Ruby applications
running on aarch64 hosts.

Tested by:      fuz
MFC after:      1 week
92ae21e8a155734f73589b7ef9fa19a6bb6d042f Piotr Kubaj 2026-06-11 11:41:29

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

virtio-scsi: handle device capacity change event
This feature is utilized when updating storage capacity in capable hypervisors such as QEMU.

Reviewed by:    imp
Approved by:    imp(mentor)
Obtained from:  Fudo Security
MFC after:      2 weeks
Sponsored by:   Fudo Security
Differential Revision:  https://reviews.freebsd.org/D57247
f056e84e5b46acd33c5e872f384683718313bad8 Aleksandr Rybalko 2026-05-26 14:49:21

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

usb: implement attach kernel driver feature
FreeBSD's USB framework supports detaching kernel drivers to allow
user space applications to exclusively claim USB interfaces. However,
it lacked support for reattaching the kernel driver afterward.

This commit adds the missing functionality, enabling user space
to return control of the device back to the kernel.

Reviewed by:    lwhsu
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52122
ff46acfd521e7b7b3761a395c8fa0a929e49e5d7 ShengYi Hung 2025-08-22 14:24:19

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

hwpmc_ibs: Add Zen6 IBS ctl2 filters and alternate disable
Add kernel and userland support for Zen6 IBS extensions per AMD pub
69205 (rev 1.00, March 2026): alternate fetch/op disable via ctl2[0],
fetch latency filtering, virtual address bit 63 filtering, and
streaming-store filtering.  Decode the new IbsOpData2 StrmSt and
RmtSocket bits. Update libpmc, pmcstat and manpage.

Pre-Zen6 systems work unchanged with ibs_ctl2 == 0.

Signed-off-by:  Andre Silva <andasilv@amd.com>
Reviewed by:    Ali Mashtizadeh <ali@mashtizadeh.com>, mhorne
Sponsored by:   AMD
Differential Revision:  https://reviews.freebsd.org/D56914
0aa4c25f3e836e98da419a37526bd51c9e04427b Andre Silva 2026-06-11 14:15:35

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

vt: Do not lock request comming from terminal
only those originated by mouse.  Because the terminal surrounds
requests to vt(4) with locking.

Reported by:    bz, adrian
Reviewed by:    adrian, glebius
Approved by:    glebius (mentor)
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D57442
1f68ca5802db91bd9725bcdbf55932e104dbe95d Aleksandr Rybalko 2026-06-11 13:33:49

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

ice(4): Add support for new E810-XXV-2 adapters
Add two new subdevice IDs for E810-XXV-2 and E810-XXV-2 for OCP 3.0.

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

Reviewed by:    kbowling, erj, mateusz.moga_intel.com
Sponsored by:   Intel Corporation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54069
bea6f7d02dfbef8f8209f0ca5f1d76877d549f46 Krzysztof Galazka 2026-06-12 11:37:01

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

ice(4): Fix link speed after changing cable type
When interface was connected to a link partner with a cable
type limitting maximum supported speed, e.g. SFP+ cable
in 25G port, driver incorrectly saved a supported speed
as the user configured speed. This prevented interface
from using all supported speeds after switching cable to SFP28.
Link was established at 10G as supported by previously used
SFP+ cable. Don't set user requested speed unless actually
configured by an user, to allow automatic selection of highest
available speed. Only when user sets custom config
using advertise_speed sysctl save it and try
to apply after cable is changed.

Also don't save initial supported speeds if FW supports
reporting default PHY config.

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

Reviewed by:    kbowling, erj, mateusz.moga_intel.com
Sponsored by:   Intel Corporation
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53611
310145642312e1c5fb3d8efa8321cf905d0354c4 Krzysztof Galazka 2026-06-12 11:56:15

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

linux_ntsync(9): check the file type before calling native ntsync(9)
Reported by:  Alex S <iwtcex@gmail.com>
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
59b0df3441a9c71580445fed579d4432dce95115 Konstantin Belousov 2026-06-14 04:11:08

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

evdev: add devnum sysctl
Add a sysctl entry for the evdev device number (devnum) to allow
libudev-devd to populate the corresponding device information
fields (MAJOR and MINOR) when running in a jail with no input devices
exposed through devfs.

Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr>

Reviewed by:    wulf
Sponsored by:   Defenso
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D56968
746c374aa94b46712e6defb3ab56dd2d6ad8db64 Quentin Thébault 2026-06-14 16:34:51

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

arm: allwinner: Fix A10 INTC MMIO resource cleanup
Do not jump to the resource release path when bus_alloc_resource_any()
fails, since no MMIO resource was allocated. If a10_intr_pic_attach()
fails after the MMIO resource has been allocated, release it before
returning.

Signed-off-by:  Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Reviewed-by:    vexeduxr
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2253
39217ebb8a4e0e89b823887759e80e63f723ca2d Haoxiang Li 2026-06-02 09:08:00

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

arm/bcm2835: Release mailbox resources on attach failure
Also remove the rid variable since it was unused.

Signed-off-by:  Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Reviewed-by:    vexeduxr
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2255
836d0d341aa84adb0d80c704203c30a0c488bc53 Haoxiang Li 2026-06-09 08:37:06

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

nvme: add Apple T2 ANS2 NVMe quirks
The Apple T2 (ANS2, PCI 106b:2005) requires several quirks:

- 128-byte submission queue entries (CC.IOSQES = 7)
- Single MSI vector, one IO queue
- Admin and IO queues share a CID table; IO CIDs offset by
  adminq.num_trackers to avoid overlap
- No async event support
- IDENTIFY CNS >= 2 rejected to avoid firmware confusion

Tested-on:
- MacBookPro16,2 (A2251)
- Mac mini 8,1 (A1993)
- Multiple Non-Apple computers

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D57087
5e0ba47aa00ed82a4a06cc45f0d1b34b6948e47f Abdelkader Boudih 2026-06-14 20:43:57

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

apple_bce: add Apple T2 Buffer Copy Engine driver
DMA ring transport between the host and the T2 coprocessor.
Provides mailbox handshake, queue setup, and firmware keepalive
for higher-level T2 services (VHCI, audio, etc.).

Tested-on: MacBookPro16,2 (A2251), Mac mini 8,1 (A1993)

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D57088
6fd2ad9aa39db916bf2da9607653fb133f8fa078 Abdelkader Boudih 2026-06-14 20:54:03

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

apple_bce/vhci: add T2 virtual USB host controller
Implements a VHCI driver on top of the BCE transport:
- Virtual USB bus registration via usb_controller
- Port discovery and device enumeration
- Control, interrupt, and bulk endpoint support
- Firmware event handling with taskqueue
- Suspend/resume via BCE mailbox

Provides keyboard, trackpad, and Touch Bar access on T2 Macs.

Tested-on: MacBookPro16,2 (A2251), Mac mini 8,1 (A1993)

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D57089
9f90536c74b8172fc67cd977e5451f37a12462d5 Abdelkader Boudih 2026-06-14 20:54:28

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

asmc: fix asmc_key_dump() page fault on T2 MMIO backend
asmc_key_dump() used I/O port macros (ASMC_DATAPORT_WRITE/READ,
asmc_command()) unconditionally. On T2 Macs, sc_ioport is NULL
(MMIO backend is used instead), causing a page fault when
ASMC_DEBUG triggers asmc_dumpall() during attach.

Add an MMIO guard at the top of asmc_key_dump(): delegate to
asmc_key_dump_by_index() + asmc_key_read() for MMIO devices,
consistent with the rest of the T2 code paths.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D56748
e37e49bfaa2763f0ce522a3e54de9b494e346465 Abdelkader Boudih 2026-06-14 20:55:12

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

bge: read MAC from loader hint for boards without NVRAM/EEPROM
BCM57766 on Apple T2 Macs (Macmini8,1) has no dedicated EEPROM and the
chip firmware handshake fails (the T2 intercepts PCI config space),
leaving the SRAM mailbox unpopulated.  All four existing MAC retrieval
paths (SRAM mailbox, NVRAM, EEPROM, firmware stub) fail, causing bge to
abort attach with "failed to read station address".

Work around this with two changes:

  1. Tolerate EEPROM read failure on BCM57766.  The chip is copper-only
     so hwcfg=0 is correct; skip the fatal error that aborts attach
     before bge_get_eaddr() is ever called.

  2. Implement bge_get_eaddr_fw() to read a "hint.bge.N.mac" string
     (e.g. "f0:18:98:f4:1e:2f") from loader(8) tunable / kenv.

This is a workaround until the T2 BCE API is understood well enough to
either poke the chip firmware into completing its handshake or read the
MAC from the T2 directly.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D57090
142cba958b7a6dd11e4257740db03d335475ede8 Abdelkader Boudih 2026-06-14 20:55:33

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

Networking

Network-related commands, library, and kernel.

pfsync: remove invalid panic
When we undefer a packet (when the peer acks the state) it's possible
that we don't find a corresponding pfsync_deferral. We panic here, but
that's actually something that can happen in normal operation:
 - if we have too many deferred packets already (in pfsync_defer())
 - if the deferral timed out (in pfsync_defer_tmo())

Remove this panic and document the scenarios where it might occur.

MFC after:      2 weeks
Sponsored by:   Orange Business Services
035e87247f845500b4672e10efb8f47fd2c0f2a2 Kristof Provost 2026-06-06 13:44:17

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

ipfilter: Fix ip_pptp_pxy (PPTP proxy) length underflow
A PPTP client sending a specially crafted PPTP message with a length
smaller than the already processed fixed header can panic the system.
This resultes in a negative remaining length (a large unsigned 16-bit
number).

Reported by:    Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li,
                and Ke Xu from Tsinghua University using GLM-5.1 from
                Z.ai
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D57383
37e9d3641ba0e0da0d2bbaa26a59ee56a8cf3ee6 Cy Schubert 2026-05-29 06:17:39

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

krb5: Fix null dereference in SPNEGO token processing
krb5 1.22.1 erroneously removed a check from get_negTokenResp() for
successful decoding of the mechListMIC field.  Restore the check to
prevent a null pointer dereference.

Commit message details obtained from upstream commit.
Obtained from:  Upstream commit 4ae75cded
MFC after:      3 days
efb5c07f91c5c11fb9bd32227ac74c2d08adf3cf Cy Schubert 2026-06-02 17:57:17

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

krb5: Fix reachable assert when importing krb5 names
If a name token contains trailing garbage, error out from
krb5_gss_import_name() instead of crashing the process with an
assertion failure.

Commit message details obtained from upstream commit.
Obtained from:  upstream commit 07818f1fd
Reported by:    Aisle Research (Ze Sheng, Dmitrijs Trizna,
                Luigino Camastra, Guido Vranken) to krb5-bugs
MFC after:      3 days
fce16f60de9718be6b789f00e86141a84cd920d3 Cy Schubert 2026-06-02 18:09:43

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

netgraph: remove remnants of IPPROTO_DIVERT
256fa87c9fc31d67c3da27dd1aac0c42db3dcf41 Gleb Smirnoff 2026-06-08 16:35:07

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

netlink: Use unsigned type in nl_process_nbuf
nlmsghdr::nlmsg_len and nl_buf::offset are u_int.  Make msglen match.

Reviewed by:    pouria, glebius
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57474
888d9236e2249cb1bda686aca8729fdcc69a10ac Ed Maste 2026-06-05 19:16:53

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

ipfw nat: Add assertion that mbuf is not a chain
Discarding m_free's return value will result in an mbuf leak if the mbuf
was in a chain.

In general we should use m_freem if the mbuf may be in a chain, or
assert that the return was NULL.  There will not be a chain here due to
m_megapullup, so add an assert.

Reviewed by:    ae
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57479
b16c731b0191d6c47de46a3c6057b0c5ec0dd420 Ed Maste 2026-06-05 21:00:07

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

ip6: Drop dead code in ip6_input_hbh()
After commit 069a67374ed9, ip6_input() quickly rejects packets with
plen == 0, before ip6_input_hbh() is called.  So, there is no need to
check this condition again in the helper function.

Reviewed by:    pouria, zlei, tuexen
Differential Revision:  https://reviews.freebsd.org/D57342
acf0be6e5192c8b1ae2c9a71d86828daf12317b2 Mark Johnston 2026-06-08 22:45:44

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

libalias: Serialize updates to the global instance list
libalias maintains a global list of all libalias handles.  The list was
updated without any locking, but nothing prevents updates from running
concurrently.

MFC after:      1 week
2ff705f32a2033201a8f83f1ade5ddbc0460387d Mark Johnston 2026-06-08 22:46:32

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

net80211: add DEFERRED_WORK.md
Describe the ieee80211_task API, why its used and some of
its shortcomings.

Differential Revision:  https://reviews.freebsd.org/D57261
c3d8aca1d43ee8c569a351b7e1bf2aeb53508b98 Adrian Chadd 2026-06-09 01:00:36

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

net80211: delete the deprecated ieee80211_wepkey struct
This hasn't been used in a long time, and since I am shuffling around
the net80211 crypto API a bunch, let's just delete it instead of
leaving it here and trying to figure out how to support it if it's
used by userland somehow.

Reviewed by:    guest-seuros
Differential Revision:  https://reviews.freebsd.org/D57312
62c1865c9aaef436498c444b460e6ec2fbcaf44d Adrian Chadd 2026-06-09 04:27:12

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

in6_mcast: Fix a race in in6p_set_source_filter()
We drop the inpcb lock in order to copy in the source list, but this
leaves a window where the multicast filter structure might be freed.
This can be exploited to obtain root privileges.

In the v4 code this race is mitigated by holding the global multicast
lock across the gap.

Restructure the code to copy in filters before doing anything else, so
that there's no need to drop the inpcb lock and reason about the
correctness of doing so.  Do the same in the v4 code for consistency.

Approved by:    so
Security:       FreeBSD-SA-26:29.ip6_multicast
Security:       CVE-2026-49412
Reported by:    Andrew Griffiths <andrew@calif.io>
Reported by:    Maik Münch <maik@secfault-security.com>
Reviewed by:    glebius
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57347
1bac7df1baebd233d31d086a973a48df18f99e73 Mark Johnston 2026-05-29 20:12:24

debug: classified in 03-filenames_plain1 by '['sys/netinet/', 'sys/netinet6/']'

pf: free match rules after exiting critical section
This fixes a panic reported on armv7:

sys/netpfil/pf/counters:match_block  ->  panic: free: called with spinlock or critical section held
[...]
vpanic() at vpanic
         pc = 0xc0321b5c  lr = 0xc02f7b5c (free+0x140)
         sp = 0xc8c858bc  fp = 0xc8c858e0
         r4 = 0xe2fad648  r5 = 0xe402ce78
         r6 = 0xc8c859e8  r7 = 0x0000001c
         r8 = 0xc8c858b4  r9 = 0xc0321b5c
        r10 = 0xc8c858bc
free() at free+0x140
         pc = 0xc02f7b5c  lr = 0xe2f4f920 ($a+0x5f8)
         sp = 0xc8c858e8  fp = 0xc8c85930
         r4 = 0xe402ce68  r5 = 0xc8c8599c
         r6 = 0xffffffff r10 = 0x0000001c
[...]
KDB: enter: panic

Consequently, this fixes armv7 CI:
https://ci.freebsd.org/job/FreeBSD-main-armv7-test/2287/consoleText

Fixes:  https://cgit.freebsd.org/src/commit/?id=6353f5d9a5c6f194bb014b8785a57f5314e8c652
Reviewed by:    kp
MFC after:      3 days
432ac5c07c6b1fb960f2e7d8e8cfb1306ce351ff Siva Mahadevan 2026-06-07 01:26:55

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

routing: Enable hash_outbound during nhgrp allocation
Multipath routes can be added via both RTM_F_CREATE and RTM_F_APPEND.
Therefore, it's possible to have mpath routes without calling
add_route_flags_mpath.

Instead of checking V_fib_hash_outbound for every route append,
check it during nhgrp_ctl initialization, which is only called for
the first multipath request per rib_head.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293136
Reviewed by:    glebius
Tested by:      Marek Zarychta <zarychtam@plan-b.pwste.edu.pl>
Differential Revision:  https://reviews.freebsd.org/D57469
de639dcde2e273a6e6f2e877054c0606f9a8da25 Pouria Mousavizadeh Tehrani 2026-06-05 12:12:18

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

System administration

Stuff in man section 8 (other than networking).

fwget: amdgpu: Add needed package for Granite Ridge
Sponsored by: Beckhoff Automation GmbH & Co. KG
5f84c6db7aa16447632c4e6e8959bf28d1bbd8aa Emmanuel Vadot 2026-06-08 07:28:00

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

nuageinit: Create parent directories in write_files
Currently, 'write_files' does not create parent directories, and
'runcmd' cannot be used here, since those scripts run after the files
have been written. The only workaround is to create the files in an
existing directory, such as '/root' or '/tmp', and then move those
files using 'runcmd', but this is cumbersome when there are many files,
even if they are small.

With this change, nuageinit now creates the parent directories for each
file using the path field, which mimics the same behavior as in
cloud-init.

Permissions and ownership can also be configured using 'runcmd'.

Reviewed by:            bapt@
Approved by:            bapt@
Differential Revision:  https://reviews.freebsd.org/D57395
ea3426bc80aad58e689c144ec6ddee0cda7861cb Jesús Daniel Colmenares Oviedo 2026-06-08 21:05:09

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

devd/snd.conf: Handle absent control device properly
If virtual_oss is not enabled when these rules run on startup, dmesg
will show the following messages:

Starting devd.
virtual_oss_cmd: Could not open control device: /dev/vdsp.ctl: No such file or directory
virtual_oss_cmd: Could not open control device: /dev/vdsp.ctl: No such file or directory

Reported by:    olce, Mark Millard <marklmi@yahoo.com>
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
439b219fed3eea8ad3e1204393a8605826b8bbca Christos Margiolis 2026-06-09 15:10:58

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

Commit group #0: nuageinit
nuageinit: use single-quote shell escaping for hostname in rc.conf.d

The hostname value was written inside double quotes in
/etc/rc.conf.d/hostname. POSIX shell performs command substitution
inside double quotes, so a hostname containing $() or backticks would
be executed when the file is sourced (e.g., by rc(8)).

Switch to using the existing shell_escape() helper, which wraps values
in single quotes. In POSIX shell, single-quoted strings are completely
literal — no expansion or substitution of any kind is performed.

While the hostname is already validated to contain only
[a-zA-Z0-9.-], this change provides defense-in-depth so the output
format is safe regardless of future validation changes.

Reported by:    Yazdan Soltani <yazdan.soltani@gmail.com>
da3890fdccfa7d540ea746182248299b81f95345 Baptiste Daroussin 2026-06-09 14:04:18

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


nuageinit: fix shell command injection in multiple rc.conf.d writes
0211c8722ff2ac9367565e526e62837745bb2cce Baptiste Daroussin 2026-06-09 14:16:44

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


nuageinit: fix shell injection in power_state_change delay and add test
09d068e52722dee0ed65eb88c5ea5bff4bb2ba06 Baptiste Daroussin 2026-06-09 14:19:56

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


nuageinit: validate set-name to prevent shell injection in variable names

Shell variable names cannot be safely quoted with shell_escape() —
only alphanumeric characters are valid. Add validation that set-name
only matches [a-zA-Z0-9]+; invalid values are rejected with a
warning and the rename is skipped entirely.
13fb6dbc738f4ba30e78a8fb21efa1382c520d33 Baptiste Daroussin 2026-06-09 14:24:56

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

loader.efi: Search boot device before foreign ZFS pools
When `boot_policy` is `RELAXED`, `find_currdev()` tried ZFS pools on every
disk before searching the boot ESP and sibling partitions. Booting install
media from USB could therefore select an installed ZFS root on internal
storage instead of the intended memstick UFS image.

Extract the boot-device partition walk into `try_boot_device_partitions()`
and run it before relaxed foreign-pool probing. The ZFS search order is
preserved; pools on the boot device are tried first, followed by pools on
other devices when `boot_policy` is `RELAXED` and the boot device yields
no bootable root.

Signed-off-by: Faraz Vahedi <kfv@kfv.io>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2239
1c85c5eea09a4c9649b7634225220337e6005cd4 Faraz Vahedi 2026-05-26 14:35:42

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

bsdinstall(8): Fix GPT label conflicts with disks not managed by us
Signed-off-by: Phil Krylov <phil@krylov.eu>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1735
a62eaf71ddb7463cf51d2be8be6506befbcfff8d Phil Krylov 2025-06-22 02:39:30

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

Warn if hostname is empty
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1700
9a6a2e4b7d203fe9c5ea4f335564f4797bb29a01 ykla 2025-05-18 00:19:06

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

Commit group #1: ppp
ppp: Don't fetch a non-existent variadic argument

Only fetch the optional mode argument to ID0open to pass to open(2) if
O_CREAT is present in the flags argument.  It is UB to fetch an
argument that doesn't exist.  On CHERI this UB results in a fault.

Reviewed by:    brooks
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D57137
b5a8b933d4994835e10226562ff8126298c96693 John Baldwin 2026-06-10 13:44:10

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


ppp: Permit CHAP challenges up to 255 bytes

RFC 1994 does not place any limit on the length of the value field in
challenge messages except that the length is a single octet which
bounds the maximum length to 255.

NB: I'm not sure why the local[] and peer[] arrays contain room for an
authentication name (AUTHLEN) in addition to a challenge value/response,
but I've just left that in place.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271955
Reported by:    Robert Morris <rtm@lcs.mit.edu>
Reviewed by:    des
Differential Revision:  https://reviews.freebsd.org/D57138
7e971892dfc5aac20bd62be7817941dbaed55f42 John Baldwin 2026-06-10 13:44:10

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


ppp: Reject FSM messages whose length is smaller than the message header

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271843
Reported by:    Robert Morris <rtm@lcs.mit.edu>
Reviewed by:    des, emaste
Differential Revision:  https://reviews.freebsd.org/D57139
4d8fde8cff0796f32e659036543aa17d16a15b1b John Baldwin 2026-06-10 13:44:10

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

inetd: Add missing argument to the -p flag description
While here, use the more specific "pidfile" consistently instead of
ambiguous "filename".

Reviewed by:    ziaee
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D57531
75a94ae7d143a067a7a9eef2a1d2072fbd5044cf Mateusz Piotrowski 2026-06-10 15:50:12

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

virtual_oss(8): Properly cleanup cuse(3)
virtual_oss(8) does not currently keep track of the cuse(3) it creates,
nor does it destroy any of them on exit, except for the control device.
This is harmless if virtual_oss(8) is killed after all audio streams
have been shut down, but if it's killed during I/O, the process hangs
and/or goes into uninterruptible sleep state.

To fix this, have pointers to all cuse(3) devices, and explicitly
destroy them on exit. Also make sure we don't leak memory in
dup_profile().

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    jrm
Pull-Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/41
0bd5ef6b43633a3cf77495a087a9376b2b3b11c9 Christos Margiolis 2026-05-29 11:32:42

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

virtual_oss(8): Make sndstat FD global
There is no reason to have per-profile copies, plus this way we open
/dev/sndstat multiple times if more than 1 profile is created.

Also close the FD on exit to avoid leaking.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    jrm
Pull-Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/41
93a234a694f37d373acf303a247d129dda28044e Christos Margiolis 2026-06-09 13:36:48

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

rc.d/routing: Silence errors for loopback routes
_loopback entry in `static_routes` ensures a loopback route
exists in all routing tables.
However, loopback routes may already be added by the kernel.
Therefore, re-adding them triggers an `EEXIST` error on every boot.
This change suppresses those harmless errors.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259553
MFC after:      1 week
Reviewed by:    glebius, jlduran, markj
Differential Revision:  https://reviews.freebsd.org/D57470
9f80c8b90bdaa8ffac887a8c478a16c84d74a87b Pouria Mousavizadeh Tehrani 2026-06-10 11:26:07

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

mixer(8): Retire deprecated control values
Sponsored by: The FreeBSD Foundation
MFC after:      1 week
de2a1366022d71c1d650832d378964c4cbe65ba7 Christos Margiolis 2026-06-13 16:29:40

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

rtld parse_integer(): support binary, octal, and hex C notations
Reviewed by:  des, dim
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57549
4249a9bc098dd9e32105a2965e76abd702de4d4a Konstantin Belousov 2026-06-12 13:55:27

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

rtld-elf: add some tests for parse_integer()
Reviewed by:  des, dim
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57549
3eafe0188410dcccb21c28a4c2e8f19c68861c76 Konstantin Belousov 2026-06-13 00:51:53

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

Libraries

libc: Use slow path in fenv in C++
C++ exposes cfenv functions via using ::func. Our name-mangling
mechanism rewrites all function calls causing symbols such as
std::feclearexcept to be transformed into std::__feclearexcept_int.
Since no such function exists, compilation fails.

The using ::feclearexpect declarations themselves are unaffected because
they are not function calls, which further exposes the mismatch

As a result, enable the fast path only for C and fall back to the slow
path in C++.

Reviewed by:    kib
Fixes:          https://cgit.freebsd.org/src/commit/?id=5bc64b7d417d
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57450
9c0489508695fde3bdd742edfd1b4b681aab4d19 ShengYi Hung 2026-06-04 08:58:28

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

cap_net: add tests for limits drop
Reviewed by:  markj
Differential Revision:  https://reviews.freebsd.org/D56992
97edd37e6279d76efee89d466550587246161dc9 Mariusz Zaborski 2026-06-09 11:34:13

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

libc: Fix assert() sanitiser for C++ contextual bool conversion
Replace the `(bool(*)(bool))` probe in `__assert_sanitize()` with an unevaluated
conditional expression, so types with `explicit operator bool()` that require a
contextually converted constant expression of type `bool` are handled correctly.

Ergo, arity check is now performed separately via `__assert_sanitize_arity()`, a
unary template whose parameter pack must bind to exactly on argument after
`__VA_ARGS__` is substituted into the call.

Also align NDEBUG with C23 requirements.

Reported by:    dim, aokblast
Signed-off-by:  Faraz Vahedi <kfv@kfv.io>
Reviewed by:    aokblast, fuz
MFC after:      1 week
Fixes:          https://cgit.freebsd.org/src/commit/?id=867b51452ea78ece0b312a387e63fdbc2a11056a
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2265
48d20fd1cf90179e778c6155900cbed2be140273 Faraz Vahedi 2026-06-06 11:38:47

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

libc: Suppress <stdalign.h> content for C23 and later
C23 deprecates <stdalign.h> and specifies that the header shall
provide no content (§7.15.1).

Signed-off-by:  Faraz Vahedi <kfv@kfv.io>
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2223
MFC after:      1 month
Reviewed by:    imp, fuz
694baf88c2ae5957fdb24ed163993109987e1ef9 Faraz Vahedi 2026-05-20 10:06:16

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

libc: fix strtold NaN representation on riscv
Regenerate gd_qnan.h on riscv using the qnan.c
config tool found in contrib/gdtoa.

This fixes the following tests in CI:
lib/libc/stdio/scanfloat_test:infinities_and_nans
lib/libc/stdlib/strtod_test:strtold_nan

Reviewed by:    jrtc27
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D57405
1e25cda7f06923d05e28dac8eb1c1c428a5c92dc Siva Mahadevan 2026-06-10 22:29:02

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

libpfctl: retrieve family id only once
Look up the pfctl family id when we open the handle, rather than for
every function call.
This saves us a lot of netlink calls, at the expense of storing one
extra int in the handle.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
2a478dfc7f9cd60037939e121026bf26a01e8c41 Kristof Provost 2026-06-11 12:53:31

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

libpfctl: fix memory leak
When we snl_init_writer() we allocate memory in the struct snl_state in the struct pfctl_handle.
This memory was never released again, leading to a memory leak. We still
had a reference to the memory and would release it on pfctl_close()
(so valgrind did not detect it as a leak), but long-lived users (e.g.
bsnmpd) would eventually run out of memory.

Explicitly reset the snl_state when we're done to prevent this.

MFC after:      2 weeks
Sponsored by:   Rubicon Communications, LLC ("Netgate")
fcb31b57112425a4eb64241651a0206108105298 Kristof Provost 2026-06-11 14:58:20

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

acl_to_text_nfs4.c: Fix a snprintf() for large uid
Commit 6e7c10c79dea fixed a couple of snprintf()s for large
uid/gid numbers above 2Gig.  This patch fixes another one.

Reviewed by:    rmacklem
Differential Revision:  https://reviews.freebsd.org/D57561
69e20977a468c9e570ee896ed7cf04969e86756d Nick Price 2026-06-13 21:15:17

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

Filesystems

cd9660: Don't parse RRIP records whose length overflows the sector boundary
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272896
Reported by:    Robert Morris <rtm@lcs.mit.edu>
Reviewed by:    des, emaste
Differential Revision:  https://reviews.freebsd.org/D57135
0492dbe9212ee0172e8003c487f256015478edd6 John Baldwin 2026-06-10 13:44:10

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

fusefs: only search for FREAD fufh in readdir
The extra search for an FEXEC fufh shall be removed, since readdir
is only supposed to be called on a directory opened with FREAD.  The
sole exception is NFS, which will call VOP_READDIR with directories that
aren't open at all.  fuse already has special code to handle that.

Also remove the fuse_filehandle_get_dir() function, since it's not
used anywhere else.

Signed-off-by:  CismonX <admin@cismon.net>
Reviewed by:    asomers
MFC after:      2 weeks
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1729
4179f1d9deed83977f159c8afea204293ef4c7d7 CismonX 2025-06-20 09:41:46

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

fusefs: fix error handling when reading a directory's sticky bit
When trying to delete or rename a file, fuse_vnop_lookup must check
whether its parent directory's sticky bit is set.  Realistically, the
parent directory's attributes will almost always be cached.  But it's
possible that they won't be, and in that case we must send a new
FUSE_GETATTR request to the server.  If that request fails for some
reason, then we must fail the lookup.  Prior to this change fusefs would
ignore failure of that request.

Reported by:    Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li,
                and Ke Xu of Tsinghua University
MFC after:      2 weeks
Reviewed by:    markj
Differential Revision: https://reviews.freebsd.org/D57588
b4af6a4cccc3b4b0ea461463196c258eb92ad2e5 Alan Somers 2026-06-14 17:37:15

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

Kernel

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

imgact_elf: handle unaligned phdrs
Althought non-compliant, there are binaries which have the phdrs placed
unaligned in the image.  Since we have the code to allocate memory for
off-page phdrs, the same code path can be used to handle unaligned
phdrs.

Relax the requirement for both the activated image and interpreter.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295629
Reviewed by:    emaste, markj, olce
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57498
0b269737f9ca057826a6c9376c2474b1ae5bc91c Konstantin Belousov 2026-06-08 01:22:51

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

exit1(9): do not deadlock if exit is called due to PT_SC_REMOTERQ
The remote syscall is executed in the context where debugger owns a
p_lock hold on the target.  Due to this, exit1() waiting for p_lock
going to zero, never happen.

Postpone the exit1() call to ast then, saving the provided rval and
signo in the struct proc.  Mark the async-exiting proc with the new
p_flag P_ASYNC_EXIT.

While p_xexit can be reused, p_xsig can be only set by actual exit1(),
otherwise it breaks the ptrace mechanism. Allocate a dedicated p_asig
for it.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57482
a2cfe535771ded3ca8526bae405a5b61f71f1f33 Konstantin Belousov 2026-06-05 20:21:59

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

linux: Fix sockopt copyout
The Linux getsockopt did not check the size of the provided buffer when
copying out the value, leading to buffer overflows (e.g., for TCP_INFO).

Fix is to use the smaller of the option value size and the provided
buffer.

MFC after:      1 month
Relnotes:       yes
Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D55881
471fdd91d9156aeab026dc420fb97d97be872d65 Chuck Tuffli 2026-06-08 21:19:34

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

net80211: create IEEE80211_KEYBUF_128_SIZE / IEEE80211_MICBUF_128_SIZE
The IEEE80211_KEYBUF_SIZE and IEEE80211_MICBUF_SIZE are sprinkled
throughout the net80211 stack, ioctl API and drivers.  This makes it
challenging to (eventually) up IEEE80211_KEYBUF_SIZE to support 256 /
384 bit encryption as, well, it'll break every single driver and the
ioctl API in doing so.

So as part of this, let's start to separate out the current key/mic
buffer size from what drivers and the ioctl layer are using.
Drivers especially shouldn't be using these definitions as their
key sizes are hardware / firmware API limits, not net80211 limits.
Ideally drivers would define their own key buffer / mic buffer
sizes and only copy in keys up to that length (and fail keys
that are too large) but the current net80211 API isn't there yet.

This doesn't yet change what defines / buffer sizes are used in the
ioctl layer.  I'm going to plan out some subsequent work to
separate out those defines and ioctl APIs so they maintain using
the 128 bit key/mic buffer sizes and will copy them in/out of any
larger net80211 key buffer size in the future.

Differential Revision:  https://reviews.freebsd.org/D54593
a653fd5560cfdd68f634cca7352c56f2cf7e1473 Adrian Chadd 2026-06-09 04:26:07

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

Commit group #2: tty: Add sysctl knob to globally disable TIOCSTI
tty: Add sysctl knob to globally disable TIOCSTI

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57233
c289291a6736c01dd68fb8459ec3801859b0a59a Ed Maste 2026-05-25 13:59:40

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


vt: Rename sysctl to security.bsd.allow_tiocsti

This is consistent with allow_read_dir and allow_ptrace.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293485
Fixes: https://cgit.freebsd.org/src/commit/?id=c289291a6736 ("tty: Add sysctl knob to globally disable TIOCSTI")
Sponsored by: The FreeBSD Foundation
c94b8eee5bcb5f9d116cce9c831933115cfeeb19 Ed Maste 2026-06-09 18:26:42

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

thr_kill2: Respect p_cansignal()
Approved by:  so
Security:       FreeBSD-SA-26:25.thr
Security:       CVE-2026-45256
Reported by:    Igor Gabriel Sousa e Souza
Reported by:    Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai
Reviewed by:    emaste, kib
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57237
bf1e2c07977d6b987f7a976bb9e5b6bdd1ad3986 Mark Johnston 2026-05-25 15:12:57

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

ktls: Don't attempt to modify non-anonymous mbufs on the receive path
Normally, data processed on the KTLS receive path is contained in
anonymous mbufs that can be modified in place.  Either the data
originates in receive buffers from a NIC driver, or for loopback
connections the data is anonymous-backed mbufs created when writing to
a socket.  One potential source of non-anonymous mbufs are mbufs
created by sendfile(2) which borrow the pages of the underlying file,
either via M_EXTPG or EXT_SFBUF that are sent over a loopback
connection.  For a well-formed loopback TLS session, the sender should
only use sendfile(2) if KTLS is enabled.  If TLS is fully handled in
userspace, the sender must use write(2) or send(2) which allocate
anonymous mbufs.  If KTLS transmit is enabled, then sendfile(2) on a
loopback connection will always use crypto via OCF and will allocate
anonymous pages to hold the encrypted data.

However, if sendfile(2) is used to send file-backed data directly over
a loopback connection where KTLS is not enabled on the sender side,
the KTLS receive path can modify the file-backed pages in place
overwriting the file's data.  One potential fix would be to replace
non-anonymous mbufs in a received TLS record with anonymous mbufs
(e.g. via m_dup()) before passing the record to OCF.  However, there
is no legitimate use case for using sendfile(2) over a loopback TLS
connection without using KTLS on the sender side, so instead simply
fail decryption requests and close the connection if non-anonymous
mbufs are encountered in the RX decryption path.

Add a test for this that verifies that the original data backing the
file descriptor used as the source for sendfile() is unchanged after
being processed.

Approved by:    so
Security:       FreeBSD-SA-26:26.ktls
Security:       CVE-2026-45257
Co-authored-by: Drew Gallatin <gallatin@FreeBSD.org>
Sponsored by:   Chelsio Communications
Sponsored by:   Netflix
3444414cb4639ef2028abd9b46641e76eadf363d John Baldwin 2026-06-03 23:22:00

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

linux: Correct the issetugid check in copyout_auxargs
The runtime linker in glibc relies on the AT_SECURE auxv entry to know
whether the executable is set-ugid, if so then various dangerous
functionality such as LD_PRELOAD is disabled.

The check added in commit 669414e4fb74 failed to take into account the
fact that during execve, P_SUGID may not yet be set for a set-ugid
process.  Correct the test.

Approved by:    so
Security:       FreeBSD-SA-26:30.linux
Security:       CVE-2026-49413
Reported by:    Minseong Kim
Fixes:          https://cgit.freebsd.org/src/commit/?id=669414e4fb74 ("Implement AT_SECURE properly.")
Reviewed by:    kib
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57350
d39be1b1b50df91ad7ab62b25a4a30343e94cba5 Mark Johnston 2026-05-29 21:41:35

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

imgact_elf: Clear no-ASLR and -WXORX flags earlier for setugid images
Otherwise an unprivileged user can disable randomization of the base
address for PIEs even if they are setugid.

Add a regression test.

Approved by:    so
Security:       FreeBSD-SA-26:32.elf
Security:       CVE-2026-49414
Reported by:    David Berard
Reviewed by:    kib
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57397
ebb0ea9f4f599be267641e630ea48279e4f531d1 Mark Johnston 2026-06-02 20:29:00

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

connectat(2): do not enable EMPTYPATH for AT_FDCWD
This restores existing error code for connect(2) over unix domain socket
when the empty string is specified as socket address.

Reported by:    eduardo
Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57509
a248c5545f6fb861ea4200b69a58b2abcf815ce4 Konstantin Belousov 2026-06-09 05:27:49

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

Commit group #3: proc: add tree ref count
proc: add tree ref count

Owning the reference prevents reuse of the struct proc.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57492
85a65e3930924429903e09832d177f8aa09dfb47 Konstantin Belousov 2026-06-06 18:02:29

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


kern_fork: guard against NULL newproc on the failure path

Reported and tested by: pho
Fixes:  https://cgit.freebsd.org/src/commit/?id=85a65e393092 ("proc: add tree ref count")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
9b48646ab366dcf6089fac653eef963331aa1169 Konstantin Belousov 2026-06-10 10:29:05

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

reap_kill_subtree_once: when proctree_lock is dropped, reaper might change
Recalculate it to iterate over the right set of processes.

Prevent reaper' struct proc reuse by holding the tree ref on it.
Since our reference is taken under the proctree lock and we know that
the process is reaper, it cannot go away.  The process hold count
(p_lock) cannot be used there because p_lock intent is prevent exit, but
reaper owns its reap-children until reaped itself, i.e. even a zombie
reaper is still on duty.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57492
44970244e6d872103f36eae34218b672b69579dd Konstantin Belousov 2026-06-05 23:57:16

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

jail: Don't double-free the current prison in kern_jail_set/get
Reported by:  Yuxiang Yang, et al <yangyx22 at mails.tsinghua.edu.cn>
Discussed with: markj
MFC after:      3 days
b52dc2067618fc73e8d4d20e4035d1a67a8b455d Jamie Gritton 2026-06-09 22:31:40

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

linux: Add TCP_INFO support
Implement the getsockopt for TCP_INFO by mapping FreeBSD's version to
what Linux expects.

MFC after:      1 month
Relnotes:       yes
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D55882
925ca9b8355d10a0dc85175dc865095c9b3370c4 Chuck Tuffli 2026-06-10 00:22:49

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

compat32 wait4/6(2): only copy out when there is a pid to report
PR:   https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295965
Reported and tested by: mandree
Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57513
89fa97f0a71d4988891766c4e69eeb9687016b14 Konstantin Belousov 2026-06-09 21:33:56

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

mac_portacl: do not reject unspecific family directly
Reviewed by: imp,emaste
Pull Request: https://github.com/freebsd/freebsd-src/pull/1659
6b61852b4f000431eb83ce26584da806f64d4643 K Rin 2025-04-12 02:28:52

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

elf_common: Add FDO package metadata note type
Reviewed by:  fuz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57525
6365c45d951dd50ca411160b03c3a0427bd54449 Ed Maste 2026-06-10 13:21:06

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

Pause failpoint: replace mtx_sleep with tsleep
Eliminate panic when re-setting a paused failpoint to pause
(address of feq_mtx changes whilst in mtx_sleep, triggering
assertion when reacquiring mtx).

Reviewed by:    rlibby
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2267
331613ddd8a516e8eaf841f293754fa47cb339aa Mark Ranger 2026-05-25 22:32:50

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

LinuxKPI: sync linuxkpi_video with Linux 6.12
MFC after:    1 week
511d749ecc02c6fad142e10f6c8227361b844a01 Vladimir Kondratyev 2026-06-13 18:08:58

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

vfs: work around the race between vget() and vnlru
Specifically, do not let vtryrecycle() to recycle a used vnode. It is
possible for a vnode to be vref-ed or vuse-ed lockless after it is held
by vhold_recycle_free(). Then, since vtryrecycle() does not recheck the
hold count, we might end up freeing vused vnode.

Since vget_finish() increments v_usecount after obtaining the vnode
lock, we would observe the hold reference anyway when the parallel
vget() is blocked waiting on the vnode lock.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281749
Reported and tested by: Steve Peurifoy <ssw01@mathistry.net>, Vladimir Grebenshchikov <vova@zote.me>
Reviewed by:    olce
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57305
36b155a2b3baa747c1968a9094df9fa7fb0d02b3 Konstantin Belousov 2026-05-28 09:42:38

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

sys/rangelock.h: explicitly enumerate padding at the end of the structure
Sponsored by: The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D56912
3d505310b1bb259c3e5f39d8c88a465cf1403934 Konstantin Belousov 2026-04-26 02:22:52

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

struct vnode: assign v_rl.resv1 as v_type and v_rl.resv2 as v_state
Use the avaliable space to introduce vnode-locked flag v_v2flag.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D56912
da6aa0648c0265d6f7bcba44a26f13ed0453dd7a Konstantin Belousov 2026-04-26 02:31:50

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

vnode: move VIRF_KNOTE to v_v2flag
The semantic of the flag has the natural march to the code scope that is
protected by the vnode lock.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D56912
64467d2ec3ede11430554fea68b317d27bf4b5c3 Konstantin Belousov 2026-05-09 19:14:56

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

Commit group #4: LinuxKPI
LinuxKPI: 802.11: add print masks for tx status flags

Add print masks for tx status flags and use them in the TX tracing
in order to more easily debug TX problems.

As a result it was easier to determine that some dirver like the mt7921
(or mt76) do not always zero the status bits of the tx status information
(it is a union with the control bits passed on TX) and thus we get bogus
values back (rather than having flags in a different place than we thought).

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
0cb3b9229876a2a83d217779cf5ecd09eb153fc3 Bjoern A. Zeeb 2026-06-10 11:50:03

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


LinuxKPI: 802.11: set undefined link in TX control info

We are not doing MLO yet so set the undefined link bit in the
TX info control message in case a driver checks if the TX would be
link specific.

Sposnored by:   The FreeBSD Foundation
MFC after:      3 days
f54e9d1b299d73081b33ad3f60471dbb1b243cb3 Bjoern A. Zeeb 2026-06-10 11:55:21

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


LinuxKPI: 802.11: improve hw_crypto key operations

mt7921 would happily receive traffic (MC/BC) and decrypt it correctly
when hw_crypto was used but TX would only have garbled data in frames.

The problem came from the fact with keys for which we do not have an
address the driver will pick the "sta" information from different places
(driver view of sta or vif).
In the downcall this is signalled by the sta argument being NULL as
the linux keyconf has no address field.

Us passing the sta for first the pairwise key and then also for the
group key likely overwrote the pairwise key on the sta and allowed
the MC/BC RX operations to succeed anyway (the observed behaviour).

Software crypto was fully fine for mt7921 and showed no problems.

Looking some other drivers:
- iwlwifi/mld picks the ap_sta if the sta argument is NULL; thus it
  always worked with our previous logic and this went unnoticed.
- rtw88 in rtw_sec_write_cam() decides whether to use the sta address
  or a broadcast address.
- rtw89 in rtw89_cam_attach_sec_cam() picks the rtwsta_link if sta is
  not NULL and has follow-up logic checking on that.

It is yet unclear if some of the MC problems observed on rtw8x
stem from the same problem.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
ff6c95d2c2dffbb024ad19ed306334a7993d964f Bjoern A. Zeeb 2026-06-13 11:14:11

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


LinuxKPI: 802.11: force update of net80211 crypto key flags

Several drivers (rtw8x, mt76) do not announce the supported ciphers suites
in the wiphy instance.  This means we never populate net80211 ic_cryptocaps
on device creation and thus not announcing any supported hw crypto
offload forcing a fallback to software crypto.

However when the mac80211 (*set_key) succeeds we know we can offload
crypto.  At that point the net80211 key flags have IEEE80211_KEY_SWCRYPT
set which we want to clear.  Historically the net80211 API does not
allow this though there should be no ill side effects (base on a
quick code inspection).  We thus have to DECONST the key argument
for now.  It is expected that with MFP support this will need to
become a common operation and the API will need to change as we
will only get the information of some details from the driver on a
per-cipher case when the (*set_key) downcall returns.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
31ded414b1282abdebcb24c18cc6dbebf84210f2 Bjoern A. Zeeb 2026-06-13 11:25:42

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

linudebugfs: fix simple_attr_write_common() kernel buffer
With 2cf15144daf7e we added a kernel buffer for parsing input copying the
user buffer into that.  The problem is that we only copy exactly as many
bytes as the user supplied.  printf 1 would have a write_size of 1, while
echo 1 would have a write_size of 2 (1\n).  But in order to check and
parse we need a terminating '\0'.

Overallocate the kernel buffer by 1 and make sure it is always '\0'
terminated.

Remove the check that the string needs to be of different length than
the write_size as this will always fail unless the user passes in, e.g.,
"1\02\n\0" somehow in which case we won't bother as kstrto*ll() will
not only handle the '\n' but also stop at '\0' and should be fine or
it will fail and we will error.

In theory we could use a static buffer here as well as we know a maximum
possible length of digits plus \n and \0 and take a min of that buffer
length and write_size and then error on a small buffer but given this is
an optional debug interface, do not bother with any alloc (size).

Fixes:          https://cgit.freebsd.org/src/commit/?id=2cf15144daf7e ("lindebugfs: Pass user buffer pointers ..")
Sponsored by:   The FreeBSD Foundation
Reviewed by:    dumbbell
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D57522
3fa40c5eb8f57972bf0b329fd2d36af4d2700b8d Bjoern A. Zeeb 2026-06-10 11:04:20

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

lindebugfs: improve an error message
In case the fill function fails do not report (read/write) but the
actual operation only given we can easily determine it.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    dumbbell, emaste
Differential Revision: https://reviews.freebsd.org/D57523
84008e34ce5fb92c69b63cdf1ce2938c5006320b Bjoern A. Zeeb 2026-06-10 11:18:47

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

callout: ddb: resolve symbol of callout function
In the ddb show callout function try to resolve the symbol of the
callout function to improve debugging.  In my case I went through
various callouts from show ktr to check what they were and this saved
me opening lldb/gdb next to it (and still having the old kernel as
the panic to debug was upon reboot).

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    rlibby
Differential Revision: https://reviews.freebsd.org/D57521
b8ec4929e9f4c83bf02f412de1f9022b17abf867 Bjoern A. Zeeb 2026-06-10 11:57:09

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

LinuxKPI: 802.11: lock down mac80211 downcalls
Add lock assertions and "might_sleep" annotations to various
mac80211 operation downcalls into the driver.

Make sure the code to these is all covered by locks--pushing more wiphy
lock into the code--or lock assertions as well.  Split up parts of the
MC code up into an unlocked and locked version to avoid recurive locking.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
1c601bf516ebefb1670f5612316c501f2ae2654a Bjoern A. Zeeb 2026-06-05 10:22:38

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

kldload: Improve error handling
Address a failure in linker_load_module (sys/kern/kern_linker.c) to
verify that an already-loaded module matches the version requirement,
which caused the method to return the error (EEXIST).  This was then
propagated back up to kldload, which incorrectly printed that the module
had already been loaded.

Add a lookup to modlist_lookup2 to distinguish between the two cases:
- A module is already loaded that is of the correct version, so the
  error EEXIST should be returned
- An already-loaded module is of the incorrect version, so the error
  ENOEXEC is returned (changed from ENOENT)

Reviewed by:    imp, kib
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57002
db887713de2bf5c77494220a9e0ddfa7d4290155 Jim Huang Chen 2026-05-25 16:23:29

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

Build system

GCE: Apply public-image label on GCE images
Update the GCE image creation process to automatically apply the
'public-image=true' label when publishing new images. This aligns
with standard labeling expectations for images hosted in public
projects.

MFC after:      3 days
c85542b92acd286d9e4b034b2ab4d6b6cd46c740 Xin LI 2026-06-10 02:33:03

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

src.opts.mk: enable OPENSSL_KTLS by default on riscv64
1e649491b8567151270095fda3bce8faea394952 enabled KERN_TLS in
riscv/conf/GENERIC, but didn't enable OPENSSL_KTLS.

This passes all testcases in the sys/kern/ssl_sendfile suite and
fixes CI failures seen here:
https://ci.freebsd.org/job/FreeBSD-main-riscv64-test/16606/testReport/sys.kern/ssl_sendfile/

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293810
Fixes:  https://cgit.freebsd.org/src/commit/?id=1e649491b8567151270095fda3bce8faea394952
MFC after:      3 days
Reviewed by:    gallatin, ngie
Differential Revision:  https://reviews.freebsd.org/D57316
b61ab2d693c04d4be5468e7db4b03d5777228f95 Siva Mahadevan 2026-06-10 22:30:14

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

amdsmu(4): Add manpage
Sponsored by: The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57366
4733b4dca5519920a4effa82a62d319c47ef50af Aymeric Wibo 2026-06-11 20:39:37

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

vmimage.subr: Add ability to install src in VM image
In some cases having a src tree in a VM image is convenient
for development or debugging. Add a WITH_SRC variable,
which, when set, will cause the vm-release target to include
FreeBSD-set-src in the list of packages installed in an image.

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

Sponsored by:   Intel Corporation

Reviewed by:    cperciva
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D57143
4ea4116f8d2069194563c8692c1f28d88c319ca8 Krzysztof Galazka 2026-06-12 18:21:14

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

Internal organizational stuff

OpenSSL: update MAINTAINERS/CODEOWNERS
I've been the quasi-defacto component maintainer for OpenSSL since
14.0-RELEASE. Make it official via CODEOWNERS/MAINTAINERS.

The goal is to help guide those interested in making changes in this
space to solicit my input with the new vendor import process and
coordinate fixes with upstream until things are at a point where most of
this is automated a system of automated checks and balances to confirm
that the updates being made to the component help maintain a security
supply chain for this given component.

Thank you benl and jkim for your past efforts in this component area.
Hopefully I can do my part to help improve this critical space further
as you both did in your respective tenures.

MFC after:      3 days
8f9aabbdbcd55b25b698bd762e8693d43f295bbd Enji Cooper 2026-06-09 19:34:41

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

Testing

tests/ptrace: Validate PT_SC_REMOTE with some tricky syscalls
Reviewed by:  kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D57485
6cd8a1bf4f15ff8a9b646dc94ac90b3fe0926650 Mark Johnston 2026-06-08 22:45:54

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

mac_portacl tests: rewrite the test program and test unspecific family.
Reviewed by: imp,emaste
Pull Request: https://github.com/freebsd/freebsd-src/pull/1659
ce08af63788da219c0c5826fc3f2345fb2ce29f4 K Rin 2025-04-12 03:05:47

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

libc/tests: copy ieeefp tests out from contrib/netbsd-tests and rename them as FreeBSD test convention.
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1656
85e449cfcfdf3a3ea99bae7fed9f3cd436eb21ec K Rin 2025-04-10 02:33:21

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

libc/tests: Enable fpsetround_basic which was never triggered since ported.
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1656
2671607f1b5c6e787eb754b0d291a2b5e28e8ac9 K Rin 2025-04-10 04:34:47

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

libc/fortify_uio_test: replace stdin in base readv tests
This fixes the readv_before_end and preadv_before_end test
timeout failures on riscv.

See https://ci.freebsd.org/job/FreeBSD-main-riscv64-test/lastCompletedBuild/testReport/lib.libc.secure/fortify_uio_test/readv_before_end/

Reviewed by:    kevans, emaste
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D57420
9f2a38cf40f2632472b3889505fd1ab5d6ba9e1b Siva Mahadevan 2026-06-10 22:27:42

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

memfd_test: skip hugetlb testcase when large page requests are not supported
64b053f879a8b3c4aa31e1ab99340dfe0ddfea0c Siva Mahadevan 2026-06-11 00:08:37

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

tools/test/stress2/misc/all.debug.inc: skip undefined variables
On my ZFS based systems, no allocations occur with tags "newblk" or
"freework". This leads to errors executing the tests that check for
memory leaks. Skip the checks if the output of wmstat -m does not
contain lines corresponding to those allocations.

MFC after:      3 days
6e5b990c509777544b790cc8e490965166d04684 Stefan Eßer 2026-06-11 11:15:12

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

tools/test/stress2/misc/msdos24.sh: improve surrogate pair test
Instead of varying only the low surrogate do also randomly choose a
suitable high surrogate.

MFC after:      3 days
596dadbbb5a711477f811fed65a6c463801d16c5 Stefan Eßer 2026-06-11 11:36:09

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

tools/test/stress2/misc/all.exclude: remove msdos24.sh
Remove test for UFC-16 surrogate pairs in file names from this exclude
list, since kernel support has been committed and the test can be now
expected to succeed.

MFC after:      3 days
3260c42c4183ac817cf08fcaa236d4d21b4fc0d2 Stefan Eßer 2026-06-11 11:39:19

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

tools/test/stress2/misc/msdos12.sh: fix permission issue
This test runs with rights of an un-privileged user writing to a file
system only writable by the owner. Since no UID was provided in the
mount command, the owner of the file system was "root", and thus
writing was not allowed for $testuser. Fix this issue by mounting
with "-u $testuser".

MFC after:      3 days
b440741db4ea1ccfa17acc2b3c37863dd819dcf3 Stefan Eßer 2026-06-11 11:42:23

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

tests/jaildesc: Add some more test scenarios
MFC after:    1 week
Differential Revision:  https://reviews.freebsd.org/D57147
fe03a78c5d5966992c8df482d984bae83dc92b45 Mark Johnston 2026-06-12 14:58:19

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

tests/jaildesc: Use a more efficient mechanism to block
MFC after:    1 week
Differential Revision:  https://reviews.freebsd.org/D57148
75b23c102e8d797654025affdfada0b6771a95ba Mark Johnston 2026-06-12 14:58:43

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

Style, typos, and comments

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

mxge(4): Fix a typo in a source code comment
- s/deterimine/determine/

MFC after:      3 days
14e93e3e360718f2272028fbf99775df3c192e83 Gordon Bergling 2026-06-11 04:03:02

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

style.mdoc.5: Document Nd style
The Nd macro takes the rest of the line as an argument,
so there is no need for extra quoting.

MFC after:      3 days
4ef1a73c22f8cd07f733bdeb6ff49da28ea8aa93 Mateusz Piotrowski 2026-06-13 10:54:09

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

aic7xxx: Fix two typos in source code comments
- s/Diable/Disable/
- s/connonical/canonical/

MFC after:      3 days
49ced8d765f46c3f81214590ad384846cfdfbbf8 Gordon Bergling 2026-06-14 08:45:52

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

sdhci(4): Fix a typo in a source code comment
- s/freqency/frequency/

MFC after:      3 days
dd8ba1f2fc513cea3ef18b6cdfed0e7d4260bb1a Gordon Bergling 2026-06-14 08:47:14

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

ufshci(4): Fix a typo in a source code comment
- s/Diable/Disable/

MFC after:      3 days
54e4b9c9faf0d4d478eea41fed0a7c7f0bac5eda Gordon Bergling 2026-06-14 08:48:18

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

qcom_clk: Fix a typo in a source code comment
- s/freqency/frequency/

MFC after:      3 days
6280a0630089d6e1726f9942ce9118556a32bb59 Gordon Bergling 2026-06-14 08:50:02

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

et(4): Fix a typo in a source code comment
- s/Diable/Disable/

MFC after:      3 days
0ea84e9cce72e9df9d621b731ddd7247e175b3a7 Gordon Bergling 2026-06-14 08:50:59

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

clk: Fix a typo in a source code comment
- s/freqency/frequency/

MFC after:      3 days
58cf810066c850131d29de2eee32239e6f817c58 Gordon Bergling 2026-06-14 08:51:59

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

acpi(4): Fix a typo in a source code comment
- s/freqency/frequency/

MFC after:      3 days
f2574978567e63a1eb518c6d325ddf424a22a5e0 Gordon Bergling 2026-06-14 08:52:48

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

umass.4: Correct a typo in the manual page
- s/Sotrage/Storage/

MFC after:      5 days
89234ff7bd09053627727d577eaaa143ccdd5668 Gordon Bergling 2026-06-14 09:34:06

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

d.7: Correct a few typos in the manual page
- s/occurance/occurrence/
- s/Univeristy/University/

MFC after:      5 days
8a13adf80cb0dffb9fa7ca515664171c2362ad5e Gordon Bergling 2026-06-14 09:36:36

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

Contrib code

auditd: Fix signal handling
Rewrite the main loop to use ppoll() instead of just blocking on read,
blocking the signals we care about when we aren't polling.

I didn't bother replacing alarm() with setitimer(); the alarm code
is dead anyway since there is no way for max_idletime to acquire a
non-zero value.

While here, avoid leaking the pid file and trigger descriptors to the
log child.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295840
MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D57451
5bd78cfc800339fd7f3945498052d67553af9e3c Dag-Erling Smørgrav 2026-06-08 22:45:34

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

openssl: Fix multiple vulnerabilities
This is a rollup commit from upstream to fix:
  Reject oversized inputs in ASN1_mbstring_ncopy()
  cms: kek_unwrap_key: Fix out-of-bounds read in check-byte validation
  cms: kek_unwrap_key: test for fix out-of-bounds read in check-byte validation
  Avoid length truncation in ASN1_STRING_set
  pkcs12: verify that the pbmac1 key length is safe
  Reject potentially forged encrypted CMS AuthEnvelopedData messages
  QUIC stack must limit the number of PATH_CHALLENGE frames processed in RX
  Fix NULL dereference in QUIC address validation
  Fix potential NULL dereference processing CMS PasswordRecipientInfo
  Fix potential NULL dereference in OSSL_CRMF_ENCRYPTEDVALUE_decrypt()
  Enforce implicit rejection for CMS/PKCS#7 decryption
  Use the correct issuer when validating rootCAKeyUpdate
  Match the local q DHX parameter against the peer's q
  Apply the buffered IV on the AES-OCB EVP_Cipher() path
  Fix handling of empty-ciphertext messages in AES-GCM-SIV and AES-SIV
  Fix possible use-after-free in OpenSSL PKCS7_verify()

Approved by:    so
Obtained from:  OpenSSL
Security:       FreeBSD-SA-26:35.openssl
Security:       CVE-2026-7383
Security:       CVE-2026-9076
Security:       CVE-2026-34180
Security:       CVE-2026-34181
Security:       CVE-2026-34182
Security:       CVE-2026-34183
Security:       CVE-2026-42764
Security:       CVE-2026-42766
Security:       CVE-2026-42767
Security:       CVE-2026-42768
Security:       CVE-2026-42769
Security:       CVE-2026-42770
Security:       CVE-2026-45445
Security:       CVE-2026-45446
Security:       CVE-2026-45447
e508c3431d8e1ace6118e150837a0d0d67f1672a Gordon Tetlow 2026-04-29 08:23:24

debug: classified in 03-filenames_plain1 by 'crypto/openssl/'

ldns: Fix query response validation
Approved by:  so
Security:       FreeBSD-SA-26:36.ldns
Security:       CVE-2026-10846
980ba4177b69655726485daa5ff3e931f19aa738 Gordon Tetlow 2026-06-07 15:09:39

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

MFV: openssl 3.5.7
This change is a security release which resolves several issues with OpenSSL 3.5,
the highest severity issue being ranked "High". Users are strongly encouraged to
update to this release.

More information about the release (from a high level) can be found in
the release notes [1].

1. https://github.com/openssl/openssl/blob/openssl-3.5.7/NEWS.md

All conflicts were resolved with `--theirs`, taking the release diff
over the local diff; the conflicts occurred due to preemptive security
fixes applied by so@ in e508c343.

MFC after:      3 days (the important security issues have been
preemptively addressed)
Merge commit '3a71a35ad9dad0e5d2cad8efecc8ba9d57c42d43'

Conflicts:
        crypto/openssl/include/internal/quic_channel.h
        crypto/openssl/ssl/quic/quic_channel_local.h
        crypto/openssl/ssl/quic/quic_rx_depack.c
        crypto/openssl/test/cmsapitest.c
        crypto/openssl/test/evp_extra_test.c
1523ccfd9c8c254f7928143d31c305384b05fd11 Enji Cooper 2026-06-10 15:25:28

debug: classified in 03-filenames_plain1 by 'crypto/openssl/'

crypto/openssl: update artifacts to match 3.5.7 release
MFC after:    3 days
MFC with:       1523ccfd9
0881f6cf3f44883b03c21dc7e5ab2140275b5afd Enji Cooper 2026-06-10 15:32:04

debug: classified in 05-summary-prefix by 'crypto/openssl:'

Remove `$FreeBSD$` from upstream-provided config file
This diff reduces with the content provided by upstream (OpenSSL).

MFC after:      1 week
2de6d07e16aa4d902b7b322a869f89a07348e851 Enji Cooper 2026-06-12 05:45:28

debug: classified in 03-filenames_plain1 by 'crypto/openssl/'

Remove fips-module related diff
This particular change didn't come from upstream. It was added locally
in 7a991ecd1 when attempting to enable the fips provider with 3.0.

Given the fact that we no longer build the fips provider and the fips
provider build process (including sources) is very prescribed to
specific build steps and source versions, there's no reason why we need
to continue carrying around this diff anymore.

MFC after:      1 week
Signed-off-by: Enji Cooper <ngie@FreeBSD.org>
d6e3662bc1f5054d81b1ceab641396047c2cad94 Enji Cooper 2026-06-12 05:48:19

debug: classified in 03-filenames_plain1 by 'crypto/openssl/'

Merge commit 93a67259cf23 from llvm git (by ShengYi Hung):
  [ToolChains][FreeBSD] Set default Linker to LLD for FreeBSD (#190596)

  When the linker is specified as ld, toolchain applies special handling
  by invoking (triple)-ld instead of resolving ld via standard PATH
  lookup. This causes GNU ld installed via the system package manager to
  take the precedence (since (triple)-ld appears earlier in the search
  path), effectively overriding ld.lld.

  As a result, we set the default Linker on FreeBSD to ld.lld to indicate
  we want to use lld by default.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292067
MFC after:      3 days
2b619b7c7b5300cbaf59e4e9d75bc8472df014e9 Dimitry Andric 2026-06-13 10:03:11

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

mt76: mt7921: prevent PM from scheduling another delayed work on detach
Amongst others mt76_connac_pm_unref() is calling mt76_connac_power_save_sched()
which will (normaly) re-schedule the pm_work.
In various parts we also cancel that work, also during PCI detach ("shutdown",
"remove" in LinuxKPI terms).
However we also keep calling mt76_connac_pm_unref() in the detach path and thus
we get to a point where we re-scheduled the work but then the device goes away.
At that point LinuxKPI delayed work has a callput pending which is embedded in
the work structure (pm_work).  The moment we free the device that structure
and callout is gone but the callout is still on the list and once that list
is walked we panic.

Simply prevent mt76_connac_power_save_sched() from getting to the point of
possibly re-scheduling the pm_work by setting pm->enable to false in the
beginning of the detach path.

The are likely more paths which will need the same treatment as the code
is by far anything from "symmetric" (that is the attach path is highly
bus independent while the detach path is implemented per-bus).  Also
other chipsets share the same "logical paths" with their own names, so
they will need this too once we get to them.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
009d92b25f7c2d6ddf3fb4202d0a6a4612a716f1 Bjoern A. Zeeb 2026-06-14 16:37:10

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

Commit group #5: mt76
mt76: ensure net80211 com instance before returning from driver load

Do as we have done for iwlwifi (f808c43ad923,  bee60c989745) add a
completion event for device registration which calls into 802.11
and creates the wifi "device" (net80211 com instance).
This is needed as otherwise the deferred work in the mt76 drivers
(mt7915, mt7921, mt7925, mt7996; but not the 7615 [*]) would make
driver loading return before the wifi device is there.  We would then
continue, e.g., during rc startup and race possibly trying to create
a vap (wlan interface) with the underlying device not being registered
yet and fail.

[*] the 7615 does not seem to do this asynchronously so is fine.

Sponsored by:   The FreeBSD Foundation
Tested on:      7921, others to be tested at time
MFC after:      3 days
baf8561bdc3f39c542a82cd1235fbf4bf97b4310 Bjoern A. Zeeb 2026-06-08 06:50:30

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


mt76: mt7921: terminate fw log messages with \n

In order to make the firmware messages spewed on the console readable
write one message per line and not one very long line.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
b662295ecb620b8ebf00188a111ff16701b0375d Bjoern A. Zeeb 2026-06-10 11:22:44

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


mt76: mt7921: depend on lindebugfs and turn debugfs support on

Add the missing MODULE_DEPEND() calls for lindebugfs.
It is unfortunate that they are shared code between various bus
implementations.  Ideally we would leave the MODULE_DEPEND() calls
in the debugfs.c file instead of adding extra #ifdef guards to the
bus attachment files.

Turn debugfs support on for mt76(core) and the mt7921 module for now.

Sponsonred by:  The FreeBSD Foundation
MFC after:      3 days
134e90e01da181a6048f0ca3368e466818def1b3 Bjoern A. Zeeb 2026-06-10 11:24:04

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

Reverted commits

Commit & revert pair: improve renice user error messages
improve renice user error messages

Improve error handling for invalid user names and UIDs in renice:
- Use warnx() and err() for consistent error reporting
- Set errno = EINVAL for invalid input
- Provide clearer error messages for invalid user names and UIDs
- Add test cases for invalid user input

Signed-off-by: androvonx95 <androvonx95@tutamail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1768
925f53682469ea12c017b48114b16e8f1627fb0b androvonx95 2025-07-15 18:01:28

debug: classified in 00-reverts by 'This reverts commit \b([0-9a-fA-F]{40})\b'


Revert "improve renice user error messages"

This reverts commit 925f53682469ea12c017b48114b16e8f1627fb0b. The tests are wrong,
so I'm reverting and reopening the pull request.
0d644b41d6e485a482040c5e249ec12ff305c8a1 Warner Losh 2026-06-11 05:58:02

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 2026-07-20 03:53:58+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2026-06-08 (release)