FreeBSD git weekly: 2025-12-29 to 2026-01-04

Introduction

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

Table of contents and commits per category:

(2) Highlighted commits (these are copies, not in stats)
0 0.0% Userland programs
7 6.8% Documentation
34 33.0% Hardware support
4 3.9% Networking
6 5.8% System administration
12 11.7% Libraries
1 1.0% Filesystems
17 16.5% Kernel
12 11.7% Build system
1 1.0% Internal organizational stuff
3 2.9% Testing
2 1.9% Style, typos, and comments
4 3.9% Contrib code
0 0.0% Reverted commits
0 0.0% Unclassified commits
103 100% total
Technical notes about this page

Highlighted commits

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

libc: add glibc-compatible tdestroy(3)
The function clears the whole tree.

Relnotes:       yes
Reviewed by:    alc, emaste
Discussed with: dougm
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54365
b8c99e7d912f0dad84cec80f8c4331646b87a3ec Konstantin Belousov 2025-12-25 23:38:25
powerpc: put the isync inside the TD_LOCK() checking loop
Fix a narrow window where the lock is unlocked but the checking CPU
hasn't flushed things appropriately.

Inside this window the CPU inside cpu_switch() will loop forever thinking
the destination thread is still blocked/locked even though it is not.

This manifests as the system hanging after starting all APs.

I've seen this reliably trigger in qemu-system-ppc64 running power9 pseries
guests; the more CPUs the more likely it triggers at boot.

PR: kern/https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292167
Differential Revision:  https://reviews.freebsd.org/D54478
Reviewed by:    jhibbits
MFC after:      1 week
Relnotes:       yes
8df2e542146801fd01675e56724eaa567d04c209 Adrian Chadd 2026-01-03 22:52:14

Userland programs

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

-- no commits in this category this week --

Documentation

Man pages, release notes, etc.

exterror.9: describe formatting of optional arguments
Reviewed by:  emaste, mckusick
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54380
14bd57d0a78dcd98449597fd3e19749799e36935 Konstantin Belousov 2025-12-27 16:21:37
man pages: provide some description for extended errors
, related functions, and the EXTERROR_VERBOSE environment variable.

Reviewed by:    emaste, mckusick
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54380
3088263177da2813dd09364171feadd0e31d1fc3 Konstantin Belousov 2025-12-28 20:41:38
genet.4: Only for AArch64 + tag spdx
MFC after:    3 days
c4bd487da73a28887f86750a5dc5832303592c5a Alexander Ziaee 2025-12-29 17:16:37
cpuctl.4: Formatting nits
+ Align ioctl list + Pad code examples + Tag spdx license identifier

MFC after:      3 days
c6bd2aa8353c6c34dbff487132a7f7372752d0ad Alexander Ziaee 2025-12-29 17:17:09
ioctl.2: Mention EACCES
ioctls can fail with EACCES, see sys/kern/tty.c

PR:                     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239504
MFC after:              3 days
Reviewed by:            ziaee
Reported by:            Brennan Vincent <brennan@umanwizard.com>
Differential Revision:  https://reviews.freebsd.org/D49072
e2afbc45258f2fa4bdcf126e959ac660e76fc802 Felix Johnson 2025-12-29 19:21:26
kyua manuals: Correct --results-file short form
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290647
Ref:            kyua/cli/common.cpp#104
MFC after:      3 days
Reviewed by:    ziaee
Closes:         https://github.com/freebsd/kyua/issues/267
bbaa7d628175ee484e31a054fb3cf7b7866cad13 Yan-Hao Wang 2025-12-29 20:13:16
jdec_dimm(4): add a reference to smbmsg(8) to jedec_dimm(4) and smbus(4)
Add a cross reference to smbmsg(8) which is useful for discovering local
devices and difficult to find otherwise.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=247749
Reviewed by: pauamma@gundo.com
Differential Review: https://reviews.freebsd.org/D40839
b52347f5b93822ee970b6cf4b5d893d60c3ceee8 Johannes Totz 2026-01-02 15:03:24

Hardware support

Hardware drivers and architecture-specific code.

qlnxe: Avoid out-of-bounds reading the multicast ethernet address
The correct length of an ethernet address is ETHER_ADDR_LEN but not
ETHER_HDR_LEN.

MFC after:      1 week
85f499be90c15a3de02d1c62ce03b99fab52f925 Zhenlei Huang 2025-12-29 14:20:12
snd_hda: Default to 256 when corb/rirb is invalid
PR:           https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289284
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D54339
2455db44ef088797d113397f863d46c50e77134f Christos Margiolis 2026-01-02 15:49:33
Commit group #0: sound
sound: Retire pcm_feeder->desc_static

Not sure what the value of this was.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D54103
84976625da387a266f01b0a566aab447426609f7 Christos Margiolis 2026-01-02 16:55:44

sound: Update pcm/feeder.h LICENSE

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
2b088823df5b0f28c3839bf381c9517b7b0d60c0 Christos Margiolis 2026-01-02 16:55:47

sound: Retire unused pcm_feeder->align

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
6002ce537b6a0e524da1a60ccd70493d8cd59b9b Christos Margiolis 2026-01-02 16:55:51

sound: Get rid of unnecessary breaks

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
21a2aa785d7d7610b3e90e028ae782893d8c095a Christos Margiolis 2026-01-02 16:55:54

sound: Stop building midi as a module

There is no reason for this. The midi functions are used by drivers
on-demand anyway. Use SYSINIT(9) instead to do the appropriate
(de-)initilizations.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D54125
45bb10e0ed5a0b87adcae33635400b5bc36337ec Christos Margiolis 2026-01-02 16:55:57

sound: Retire midi_devs and mstat_lock

Nowadays midi_devs only has two uses:

1. To verify in midi_init() if a given device unit exists, as well as to
   calculate the next device unit. Instead, make sure we always get a
   unique unit and channel number using unr(9).
2. To keep track of all midi devices, so that it can destroy them all at
   once in midi_sysuninit(). However, since we stopped building midi as
   a kernel module, there is no reason to do that, simply let the
   drivers tear down the devices themselves.

Also retire mstat_lock since it's only used to protect midi_devs.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261071
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54126
c508be8ca9578ef6e3e4b31de1baca8038c0e0ae Christos Margiolis 2026-01-02 16:56:02
snd_dummy: Initial MIDI support
Because testing the midi/ code of sound(4) requires a physical MIDI
device, add some basic MIDI support to snd_dummy(4) so that we can test
patches to midi/ easier.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54127
e963472ef8533fb39b581e746cdc2ddc7447dca2 Christos Margiolis 2026-01-02 16:56:07
Commit group #1: sound
sound: Retire snd_midi->qlock

snd_midi->qlock is used to protect snd_midi->{in,out}q. However, apart
from the numerous LORs present already in the code, there is no reason
not to use snd_midi->lock, as we do for the rest of the structure

Started by:     https://github.com/freebsd/freebsd-src/pull/1902
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    dev_nicolas-provost.fr
Differential Revision:  https://reviews.freebsd.org/D54129
4cc78f5dd7c2e82571ced6e23fa22d48c6cd1697 Christos Margiolis 2026-01-02 16:56:12

sound: Update midi/midi.* LICENSE

Spsonsored by:  The FreeBSD Foundation
MFC after:      1 week
fb945a50e2649c9a1c3a9b38ffb84f53e37abd0a Christos Margiolis 2026-01-02 16:56:15

sound: Merge midi_destroy() with midi_uninit()

Also always call MPU_UNINIT(). It does not make sense not to if we are
deallocating everything.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D54192
d912ea5879cd6b1042671ae3986d496c63be4d49 Christos Margiolis 2026-01-02 16:56:19

sound: Retire snd_midi->busy

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
d54c782fde63d3b17433551da0b7ec94bc2a5ed4 Christos Margiolis 2026-01-02 16:56:22

sound: Remove dead if-statement

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
d2baf9301be3093c5f53a7ce1de858a0c690cd07 Christos Margiolis 2026-01-02 16:56:24

sound: Rename midi_cdevsw name to "midi"

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
d6121f7b508bf889359e116da1efab08f848e129 Christos Margiolis 2026-01-02 16:56:27

sound: Retire MIDI_DEBUG

Better logging will be implemented.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
c288595c4eac14616f94c5b7eb84aad2eeeffc1f Christos Margiolis 2026-01-02 16:56:29

sound: Retire MIDIQ_DEBUG

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
3b9e776498a7e3e96c1a351fdd561f25803718df Christos Margiolis 2026-01-02 16:56:31

sound: Improve snd_midi->{in,out}q allocation

Currently we lock and allocate the buffers with M_NOWAIT, without
checking if the return value of malloc(). This is not necessary as
subsequent check below will eventually check that. However, for
correctness, allocate the buffers with M_WAITOK (there is no reason not
to) and lock afterwards.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D54131
b9db6c21287311b9e861893c065289d987a75804 Christos Margiolis 2026-01-02 16:56:34

sound: Move sndstat out of pcm/

Needed by follow-up patches that will add sndstat support for midi/

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D54140
bafa8c951d8cfaec75e774af03d7ab6fadb448b9 Christos Margiolis 2026-01-02 16:56:41

sound: Take device type into account in sndstat

sndstat will be extended to work with MIDI devices as well, so separate
functionality based on the device type.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D54141
2aa16666e2fa5c98be8d330cd0c32c9dc3801ba7 Christos Margiolis 2026-01-02 16:56:46

sound: Do not check for NULL before free()

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D54174
792251295cdf6c3e1cbb1aa6291434539632912f Christos Margiolis 2026-01-02 16:56:52

sound: Get rid of unused midi/midi.c defines

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
4a2d1532e84135a50ba8414ceaafc0c3a1bfe94b Christos Margiolis 2026-01-02 16:56:55

sound: Retire mpu_callbackp()

It is the exact same as mpu_callback().

No functional changed intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
e3b57ceffef0158a72a7a5aedfa9df88b3a8a88b Christos Margiolis 2026-01-02 16:56:58

sound: Make mpu_if definitions static

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
3094c5e388df296f1b84579f70a5583ddc3bc26a Christos Margiolis 2026-01-02 16:57:00

sound: Get rid of unused MIDIQ macros

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
3f8a85a085c710f50b8bcd4efe915268882129d2 Christos Margiolis 2026-01-02 16:57:03

sound: Allocate mpu401 with M_WAITOK

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
fd1312d3629cda9691c67af6154946cd55467076 Christos Margiolis 2026-01-02 16:57:06

sound: Retire unused snd_midi->name

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
a9c3bb39bc9181b8762e67c40d00886474e9ae06 Christos Margiolis 2026-01-02 16:57:08

sys/conf/files: Fix sndstat path

Reported by:    CI
Fixes:          https://cgit.freebsd.org/src/commit/?id=bafa8c951d8c ("sound: Move sndstat out of pcm/")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
8c7a7d7df508faa75515d4f0b8ef58c30ad4ccc9 Christos Margiolis 2026-01-02 17:46:48
snd_uaudio: Do not use pcm_channel->lock to protect uaudio_chan
This is a layering violation, but it also makes the control flow
confusing; snd_uaudio(4) should have its own lock to protect its
structures.

Fixes:          https://cgit.freebsd.org/src/commit/?id=5cc34a83e1 ("Revert "sound: Merge chn_intr() with chn_intr_locked()"")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54102
c234740c9d34c2b953c6010f6a01b0aca9648c08 Christos Margiolis 2026-01-02 17:20:36
sound: Merge chn_intr() with chn_intr_locked()
There is no scenario where chn_intr() is called with the channel lock
already held.

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D53854
0794365d5d3cc93940b873553382288a2a2c88c4 Christos Margiolis 2026-01-02 17:20:41
Commit group #2: hwpstate: add CPPC support for pstate driver on AMD
hwpstate: add CPPC support for pstate driver on AMD

Implement CPPC interface for AMD Pstate Driver.
This feature is only enabled when the CPUID shows it support CPPC.

The CPPC is implemneted by the following steps:

1. Write MSR to enable it.
2. Read capability registert which indicates binary value of levels
about lowest, best energy efficient, guarantee, and max performance.
3. Write request register with epp in energy balanced mode. And let
CPU and firmware to enter autonomous mode.

Also, create a sysctl handler to allow userspace to change epp value.
In intel's hwpstate, The epp value can be in package level and core level.
However, in AMD's one, there is only core level. Thus, to sync with the
intel's code, we implement package level control in software and provide
another sysctl (machdep.hwpstate_pkg_ctrl) to control it.

Reviewed by:    olce, khng
Approved by:    lwhsu (mentor)
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D49587
3e6e4e4a0d42fa24f3b2a1c087e9ad25f9594081 ShengYi Hung 2025-07-08 11:45:26

hwpstate_amd: Fix compile error

Add parentheses between OR and AND operator to pass the compiler check.

Approved by:    lwhsu (mentor)
Fixes:  https://cgit.freebsd.org/src/commit/?id=3e6e4e4a0d42 ("hwpstate: add CPPC support for pstate driver on AMD")
MFC aftert:     2 weeks
Differential Revision: https://reviews.freebsd.org/D54465
3642ba2a9840734d83dd77ca4c1aa0ecb3bfe879 ShengYi Hung 2026-01-03 05:07:15
asmc: improve asmc_dumpall to read actual SMC key count
The asmc_dumpall debug function previously used a hardcoded loop limit
of 0x100 (256) keys with a "XXX magic number" comment.

This change improves asmc_dumpall to:

* Read the actual number of keys from the ASMC_NKEYS SMC key
* Print the key count being dumped for better debugging output
* Loop only up to the actual key count (e.g., 297 on Mac Mini 5,1)

This provides more accurate debug output and removes the magic number.

Tested on Mac Mini 5,1 (FreeBSD 16.0-CURRENT):

* Rebuild kernel with DEBUG enabled in asmc driver
* Boot with new kernel
* Verify dmesg shows "asmc_dumpall: dumping 297 keys" (or actual count)
* Verify all 297 keys are dumped

Differential Revision:  https://reviews.freebsd.org/D54436
Reviewed by:    markj, adrian
2a7c4685b7693bfa15e2bd4d5e82905a368b0030 Abdelkader Boudih 2026-01-03 18:33:11
powerpc: put the isync inside the TD_LOCK() checking loop
Fix a narrow window where the lock is unlocked but the checking CPU
hasn't flushed things appropriately.

Inside this window the CPU inside cpu_switch() will loop forever thinking
the destination thread is still blocked/locked even though it is not.

This manifests as the system hanging after starting all APs.

I've seen this reliably trigger in qemu-system-ppc64 running power9 pseries
guests; the more CPUs the more likely it triggers at boot.

PR: kern/https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292167
Differential Revision:  https://reviews.freebsd.org/D54478
Reviewed by:    jhibbits
MFC after:      1 week
Relnotes:       yes
8df2e542146801fd01675e56724eaa567d04c209 Adrian Chadd 2026-01-03 22:52:14

Networking

Network-related commands, library, and kernel.

pf: move DIOCRCLRASTATS into libpfctl
Sponsored by: Rubicon Communications, LLC ("Netgate")
c2e7a52374b3e4bef41c5cad4c24f158c870b476 Kristof Provost 2025-12-29 09:45:48
pf: convert DIOCRCLRASTATS to netlink
Sponsored by: Rubicon Communications, LLC ("Netgate")
96c7e70c18a42e8cad9305db2a3b30328d76d84f Kristof Provost 2025-12-29 16:50:08
pf: sprinkle const over pf_addr_cmp()
Sponsored by: Rubicon Communications, LLC ("Netgate")
fb476c70311788dfd6850d73a3f8d9abb7c3d58c Kristof Provost 2026-01-02 14:10:53
bridge: Allow BRDGSIFVLANSET without IFBRF_VLANFILTER
Currently, we disallow BRDGSIFVLANSET when IFBRF_VLANFILTER is disabled.
There's no particular reason to do this, and it causes some undesirable
behaviour such as not being able to remove the tagged config on a member
after disabling vlanfilter on the bridge.

Remove the restriction so BRDGSIFVLANSET is always accepted.

PR:     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292019
MFC after:      1 week
Reviewed by:    zlei, p.mousavizadeh_protonmail.com
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D54435
2e92aeede85c8986bd6f4dde65d2ac2449eccf51 Lexi Winter 2026-01-03 01:13:22

System administration

Stuff in man section 8 (other than networking).

bhyve: Use a blocking socket in the helper process
The send_packet callback does not handle EAGAIN, and on the recv side we
already use poll() and MSG_DONTWAIT to implement a non-blocking loop.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291616
Tested by:      novel
Fixes:          https://cgit.freebsd.org/src/commit/?id=0e62ebd20172 ("bhyve: Move the slirp backend out into a separate process")
Differential Revision:  https://reviews.freebsd.org/D54340
daef625cf884dea33d50ad7a0e2da0879a442495 Mark Johnston 2025-12-22 19:12:34
Commit group #3: pfctl: allow network programs select DSCP_VA for network ToS
pfctl: allow network programs select DSCP_VA for network ToS

OK stsp@

Obtained from:  OpenBSD, phessler <phessler@openbsd.org>, f8a2f73b65
Sponsored by:   Rubicon Communications, LLC ("Netgate")
190c1f3d9326afbc1eabd48e5cb3fe96043508c9 Kristof Provost 2025-12-29 09:52:39

pfctl: remove duplicate "va" entry

It turns out we'd already added this a few years ago, so didn't need to
add it again.

Fixes:          https://cgit.freebsd.org/src/commit/?id=190c1f3d9326
Reported by:    Seth Hoffert <seth.hoffert@gmail.com>
Sponsored by:   Rubicon Communications, LLC ("Netgate")
4fecc8e3fe9408621429777b1028c9afb83c3925 Kristof Provost 2025-12-30 21:23:58
periodic/801.trim-zfs: Fix daily-trim-zfs-flags
This variable was named incorrectly, resulting in any specified flags
being silently ignored.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292074
MFC after:      3 days
Reported by:    CrazyMihey@Ya.Ru
Fixes:          https://cgit.freebsd.org/src/commit/?id=493908c4b45c (Add a daily zfs trim script)
68d6abd9714384a41028dc0d5086b4930366bbea Alexander Ziaee 2026-01-01 17:53:31
loader.efi: probe for UGA if GOP isn't found
Probe for UGA instead of returning early if we can't find GOP.

Reviewed by:    tsoome
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291935
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54431
5d85dde27b4769604fc108b89328607e70e767ed Ahmad Khalifa 2026-01-04 13:15:02
loader.efi: only use firmware provided Blt on GOP
gfx_state.tg_private points to a EFI_GRAPHICS_OUTPUT_PROTOCOL only when
using GOP.

The firmware provided Blt functions on UGA platforms have been observed
to not work on old MacBooks, and are likley hit or miss anyways as UGA
has been deprecated since 2006.

Reviewed by:    tsoome
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291935
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54432
9595055ae7494997bb07b4aaed544f88ac4c5e7f Ahmad Khalifa 2026-01-04 13:15:37

Libraries

libc/gen/err.c: remove 'extended error' herald from extended error output
Reviewed by:  emaste, mckusick
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54380
37ddbbe5535cb6c27b8a026b2f28d64319b9f802 Konstantin Belousov 2025-12-27 13:53:58
exterror: add support for the format specifiers in the extended error msg
Note that we trust kernel code to only request the printout of integer
types, and use the 'j' modifier always.

Reviewed by:    emaste, mckusick
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54380
8bff95f3ce0396ff40b4f7d943ea856ac3f846c3 Konstantin Belousov 2025-12-27 13:54:42
exterror: Add EXTERROR_VERBOSE env variable to control verbosity
If the variable is set and the process is not suid, __uexterr_format(),
used by err(3), prints errno/category/source line/pX always, not only
when there is no kernel message provided.

Requested by:   mckusick
Reviewed by:    emaste, mckusick
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54380
42210fe8dcd4684a45e0e4db1b8194e291dc8fda Konstantin Belousov 2025-12-28 00:23:27
Add automatically generated file libc/gen/exterr_cat_filenames.h
MFC after:    1 week
5685c07b5a8e4ccc19140eeaa5987a38dca7c668 Konstantin Belousov 2025-12-28 14:23:43
exterr: in verbose mode, print the source file name
Reviewed by:  emaste, mckusick
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54380
874cdf6af695c42d561647f7165c99c2d3df0faa Konstantin Belousov 2025-12-28 14:13:49
geom_part: Fix format string issues
This fixes a segfault on i386 and armv7 and numerous style violations.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292008
Fixes:          https://cgit.freebsd.org/src/commit/?id=4f809ffec69c ("gpart: add libxo support for "show" subcommand + man page updates")
Reviewed by:    js
Differential Revision:  https://reviews.freebsd.org/D54393
faff7013187b03f4240af6f52f608e7ebafe19f3 Dag-Erling Smørgrav 2025-12-29 13:20:52
libc: add glibc-compatible tdestroy(3)
The function clears the whole tree.

Relnotes:       yes
Reviewed by:    alc, emaste
Discussed with: dougm
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54365
b8c99e7d912f0dad84cec80f8c4331646b87a3ec Konstantin Belousov 2025-12-25 23:38:25
Commit group #4: libgeom
libgeom: Fix segfault in 32-on-64 case

We were using strtoul() to parse object identifiers, which are kernel
pointers.  This works fine as long as the kernel and userland match,
but in a 32-bit libgeom on a 64-bit kernel this will return ULONG_MAX
for all objects, resulting in memory corruption when we later pick the
wrong object while resolving consumer-producer references.

MFC after:      1 week
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292127
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D54452
27894e20f140ee2729c14b589035870c8185b87d Dag-Erling Smørgrav 2026-01-03 09:09:51

libgeom: Clean up xml2tree code

MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D54453
fad6707e2589d8557ceb6b6bf11f22323b265f01 Dag-Erling Smørgrav 2026-01-03 09:09:58

libgeom: Improve type safety of xml2tree code

When resolving references, assert that the type of the object we find
is what we expect.  This will help prevent memory corruption if two
objects of different types somehow end up with the same identifier.

MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D54454
4b0d5d1d6a7c9773e38882feb4747a76b37a645c Dag-Erling Smørgrav 2026-01-03 09:10:03

libgeom: Fix 32-bit gcc build

MFC after:      1 week
Fixes:          https://cgit.freebsd.org/src/commit/?id=27894e20f140 ("libgeom: Fix segfault in 32-on-64 case")
17355cf50fcbd0d8ddb638e1f2fd5861b526edbe Dag-Erling Smørgrav 2026-01-03 20:34:44
libc/amd64: fix stpncpy.S again
The previous fix introduced a regression on machines without the BMI1
instruction set extension.  The TZCNT instruction used in this function
behaves different on old machines when the source operand is zero, but
the code was originally designed to never trigger this case.  The bug
fix caused this case to be possible, leading to a regression on
sufficiently old hardware.

Fix the code by messing with things such that the source operand is
never zero.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291720
Fixes:          https://cgit.freebsd.org/src/commit/?id=66eb78377bf109af1d9e25626bf254b4369436ec
Tested by:      cy
Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D54303
2f83319214d9adb8ab7a77e35d1014658b3f9cae Robert Clausecker 2025-12-18 23:37:33

Filesystems

nfscl: Fix handling of POSIX draft default ACLs
A POSIX draft default ACL may not exist.  As such,
an ACL with zero ACEs needs to be allowed.

This patch fixes acquisition of POSIX draft default
ACLs when they do not exist on the directory.

Fixes:  https://cgit.freebsd.org/src/commit/?id=a35bbd5d9f5f ("nfscommon: Add some support for POSIX draft ACLs")
e8567de718a4a16edbf5490e1c36360563e16667 Rick Macklem 2025-12-31 02:43:23

Kernel

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

vm/vm_mmap.c: inline erronous argument values for extended errors
Reviewed by:  emaste, mckusick
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54380
2904edaf2f09934142f9f6a6d2886879395145cc Konstantin Belousov 2025-12-27 13:56:22
fs/fuse: use dedicated category per source file
Submitted by: mckusick
Reviewed by:    emaste, mckusick
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54380
54b52f655e0fdaef21c3cde85e8bf030efa7b86e Konstantin Belousov 2025-12-28 14:22:36
Commit group #5: LinuxKPI
LinuxKPI: 802.11: add compat.linuxkpi.80211.IF.dump_stas_queues

Extend the normal compat.linuxkpi.80211.IF.dump_stas sysctl by
queue information.  This was helpful for debugging various issues,
like selecting the outbound queue, stopping queues for BAR and helped
finding multiple bugs.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
32ea8209825af594cbfa1fc654d45eb9a6aab528 Bjoern A. Zeeb 2025-12-28 17:03:41

LinuxKPI: 802.11: assign sequence numbers to frames

While all native drivers were converted to call
ieee80211_output_seqno_assign() after changes to net80211 if needed,
LinuxKPI 802.11 was not fixed.  Add the missing call.
Given we are currently only supporting STA mode, we can provide
sequence numbers for all frames (mgmt/beacon would be a problem in
AP mode).

This greatly helps LinuxKPI based drivers other than iwlwifi(4).
If drivers do their own sequence numbers, they will overwrite what we
pre-set unless we would pass a txflag not to do so (beware the
consequences).

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=eabcd1773fa3, https://cgit.freebsd.org/src/commit/?id=785edcc2af5a
9cf85457b13bc7aa125388d63c82acf2b21e9e9e Bjoern A. Zeeb 2025-12-28 17:06:23

LinuxKPI: 802.11: reset hdr after crypto in lkpi_80211_txq_tx_one()

When lkpi_80211_txq_tx_one() calls into the crypto offloading parts to
possibly make space in the headroom, the beginning of our frame moves.
We have to reset hdr after that call as otherwise later classifications
based on the hdr->frame_control will fail or cause wrong classificaiton
of packets.
This makes sure frames will either be directly sent using (*mo_tx)()
or use the correct tid for the correct queue.  This helps to get
rtwx8 packets flowing after BA was negotiated.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=11db70b6057e4
f0395993e1ea83705e0da6623843e7d5d03f7269 Bjoern A. Zeeb 2025-12-28 17:15:23

LinuxKPI: 802.11: fix rx_nss with VHT

When fixing single-stream chipsets, like iwlwifi(4) AX101, we started
masking the announced with the hardware supported values.  This would
probably limit, e.g., rx_nss.  During these works we fixed a loop
checking from the highest nss=7 to lowest nss=0 (8..1) and would set
rx_nss if the stream was supported.  This left us with always setting
rx_nss on nss=0 to nss + 1 = 1.  Instead only update once when we hit
the first supported MCS value (highest number of supported streams).
Looking at the diff of the mentioned commit hash which gets fixed it
looks like even the old code was not correct either.

This only fixes the logic to calculate rx_nss.  This does not yet help
with modern drivers to actually update the value.  Code for this will
come in a later commit.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=adb4901ac9ae
8494be1b5af7fe4f765532f802ac0a145e061d73 Bjoern A. Zeeb 2025-12-28 19:38:16
Commit group #6: vm_object_coalesce()
vm_object_coalesce(): remove commented out code

Reviewed by:    alc, markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54263
efcb109940ca607130af4498e1e33b54c58ba43c Konstantin Belousov 2025-12-20 16:09:38

vm_object_coalesce(): simplify common expression

Add the next_end variable to replace commonly occuring the
next_pindex + next_size expression.

Suggested by:   alc
Reviewed by:    alc, markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54263
e7053d9a126a60b3c0b1348b6c5131b5f2025894 Konstantin Belousov 2025-12-18 22:14:29

vm_object_coalesce(): do not account holes twice

alc wrote:
Suppose that the object is OBJ_ONEMAPPING and that we, in fact,
have a single mapping to it. Then, we punch a hole in that mapping.
vm_map_entry_delete() only subtracts from the object's charge when
we shrink the size of the object. Now, suppose that we perform
mmap(MAP_ANON) to reallocate some of the hole. Aren't we going to add to
the charge here, even though vm_map_entry_delete() never subtracted from
the charge for the hole that was created?

Only account the change in the charged object size that was added to it.

Noted by:       alc
Reviewed by:    alc, markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54263
353ba3bf08fdef69b77e3e565435e50784a51412 Konstantin Belousov 2025-11-27 21:53:24

vm_object_coalesce(): return swap reservation back if overcharged

It is possible for both vm_map_insert() and vm_object_coalesce() to charge
both for the same region.  The issue is that vm_map_insert() must charge
in advance to ensure that the mapping would not exceed the swap limit,
but then the coalesce might decide to extend the object, and already
(partially) backs the mapped region.

Handle this by passing to vm_object_coalesce() exact information about
the charging mode of the extending range 'not charging', 'charged' using
flags instead of simple boolean.  In vm_object_coalesce(), detect
overcharge and undo it if needed.

Note that this relies on vm_object_coalesce() call being the last action
in vm_map_insert() before extending the previous map entry.

Reported and tested by: pho
Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54338
7685aaea8850f5b6995a17740a016019e0956c70 Konstantin Belousov 2025-12-20 16:03:40
crypto: avoid warnings about too-long initializer strings
Mark `sigma` and `tau` as `__non_string`, to avoid warnings from clang
21 similar to:

    sys/crypto/chacha20/chacha.c:53:31: error: initializer-string for character array is too long, array size is 16 but initializer has size 17 (including the null terminating character); did you mean to use the 'nonstring' attribute? [-Werror,-Wunterminated-string-initialization]
       53 | static const char sigma[16] = "expand 32-byte k";
          |                               ^~~~~~~~~~~~~~~~~~
    sys/crypto/chacha20/chacha.c:54:29: error: initializer-string for character array is too long, array size is 16 but initializer has size 17 (including the null terminating character); did you mean to use the 'nonstring' attribute? [-Werror,-Wunterminated-string-initialization]
       54 | static const char tau[16] = "expand 16-byte k";
          |                             ^~~~~~~~~~~~~~~~~~

MFC after:      3 days
Reviewed by:    markj
Differential Revision: https://reviews.freebsd.org/D54364
710ec409dffed3306ced253bba85dbdc7758510b Dimitry Andric 2025-12-30 12:46:20
linuxkpi: Don't clobber result on failure
In kstrto*(), don't assign to *res until we know the conversion is
successful, and address issues that may result in warnings if code
that uses <linux/kstrtox.h> is compiled at high warning levels.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    bz, emaste
Differential Revision:  https://reviews.freebsd.org/D54440
3542d60fb8042474f66fbf2d779ed8c5a80d0f78 Dag-Erling Smørgrav 2026-01-02 07:30:06
linuxkpi: Correct kstrtobool
Implement the exact same logic as in Linux:

* Accept 'e', 't', 'y', '1', "on" for true.

* Accept 'd', 'f', 'n', '0', "of" for false.

* Disregard any characters beyond that.

* Check that the string is not null, but don't check the result pointer.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    bz, emaste
Differential Revision:  https://reviews.freebsd.org/D54451
f86148d2777d4d7985ed8f4ae957c41c44bd2484 Dag-Erling Smørgrav 2026-01-03 09:09:41
cam: Minor comment cleanup
Some minor comment cleanup, add a comment about an unused value, etc.
No functional change.

Sponsored by:           Netflix
8ac77ea6a3c6ce99d39e1dd4e19adb444b2b4d5a Warner Losh 2026-01-03 17:50:04
linuxkpi: Add option to skip trailing newline in `lkpi_hex_dump()`
This will be useful in the upcoming implementation of
`hex_dump_to_buffer()` which doesn't add one.

Reviewed by:    bz, emaste
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51844
43b5a264c6f665ac451102d828a8f51307efe626 Jean-Sébastien Pédron 2025-08-09 10:28:27
linuxkpi: Add hex_dump_to_buffer()
This function prints a single line of hex dump to the given line buffer.

The implementation relies on `lkpi_hex_dump()` to format the string.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51559
b1bef9f7e0e182a9eee222639ffc8af4883ec0fa Jean-Sébastien Pédron 2025-07-10 23:03:51
vm/vm_object.h: clarify the OBJ_ONEMAPPING semantic
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential revision:  https://reviews.freebsd.org/D54459
9c923575606bbd29dcf0ec3384150d2d67136cbb Konstantin Belousov 2025-12-31 22:26:38

Build system

Add a script to auto-generate mapping from exterr category to source file
Reviewed by:  emaste, mkusick
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54380
3ef25acf3600fb822bdf1487036184b4978d737f Konstantin Belousov 2025-12-28 14:04:28
cross-build: Avoid adding <sys/cdefs.h> to SYSINCS
Summary:
The sys/cdefs.h in src is incompatible with glibc's sys/cdefs.h so
cross-building broke when the former was added to SYSINCS in 1c9ff80f06. This
commit adds a guard around that to only do that when building on FreeBSD. This
should fix github CI.

Test Plan:
Ran buildkernel using tools/build/make.py on linux in github CI and
locally on FreeBSD to double check nothing broke.

Reviewed by:    dim
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D54385
b6672803a1cf10dd1c912fe6571a8d426b8868bd Ayrton Munoz 2025-12-29 02:02:28
qat: Export missing symbols in qat_common
Some symbols required by dependent modules were missing from
qat_common.ko and qat_api.ko, causing load failures when local symbol
resolution is disabled.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291271
Reviewed by:    zlei, markj
Differential Revision:  https://reviews.freebsd.org/D54107
6ea05372bea5bdb19ca329c27c4c6510cbeed7c8 Rupesh Pilania 2025-12-29 16:13:48
linux: Add required symbol to EXPORT_SYMS list
3e2093de47251de5e6e61c08d2955251137afd01 Ed Maste 2025-11-28 21:25:26
libc/stdlib/Makefile: one line for each source file name
Reviewed by:  alc, emaste
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54365
04a664d87607d25d87baf56903090707cc91e2e0 Konstantin Belousov 2025-12-25 23:36:48
tdestroy(3) man page
Reviewed by:  alc, emaste, ziaee
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54365
b0d4b059cf8425cbe094f93362a61c56a26d45f3 Konstantin Belousov 2025-12-26 18:27:32
Move MK_REPRODUCIBLE_PATHS to bsd.opts.mk
In commit faeaa25f5624 MK_REPRODUCIBLE_PATHS was introduced, but some
ports that include bsd.debug.mk then started to fail with:

    make: /usr/share/mk/bsd.debug.mk:19: Variable "MK_REPRODUCIBLE_PATHS" is undefined
            in /usr/share/mk/bsd.lib.mk:525
            in /wrkdirs/usr/ports/devel/libsysinfo/work/libsysinfo-0.0.3/Makefile:16
    make: Fatal errors encountered -- cannot continue

This is because bsd.debug.mk includes bsd.opts.mk, not src.opts.mk. Move
the MK_REPRODUCIBLE_PATHS option to bsd.opts.mk to fix this.

Reviewed by:    imp, emaste
Fixes:          https://cgit.freebsd.org/src/commit/?id=faeaa25f5624
660416fd1943bf9e69895f910902e305e195b860 Dimitry Andric 2025-12-29 15:13:10
Makefile.inc1: Make NO_INSTALLKERNEL less of a hack
Rather than adding a dummy entry which requires everyone to know to skip
it, introduce a new INSTALLEXTRAKERNELS which contains the set of
kernels to install as kernel.KERNCONF.

Reviewed by:    ivy
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54291
2c0e9a76c1cee8766245a0b5bdad73e995b790c6 Jessica Clarke 2025-12-31 17:36:10
depend-cleanup: Force a clean build when options change
Similar to the build epoch check, cache a list of source options in the
object tree, and force a clean build if the cached list does not match
the current list, after filtering out options which are known not to
affect the build (e.g. CLEAN, TESTS, WARNS).

This also adds a DEPEND_CLEANUP option (which defaults to yes unless
the CLEAN option is set) which can be used to skip depend-cleanup for
faster incremental builds.

MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D52011
1d52d5c5372a43655a252880d34088fa56aa2530 Dag-Erling Smørgrav 2025-12-31 13:10:20
depend-cleanup.sh: Reduce repetition
MFC after:    1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D54329
aa611fa7e835ae77a623cc6d05020f5ee76dc881 Dag-Erling Smørgrav 2025-12-31 13:10:39
Makefile.inc1: Indicate that no-clean builds are on by default
a6afa194f382e4f81277fdc7e81e229d3c8caf5f Ed Maste 2026-01-02 20:16:00
bsd.sys.mk: suppress another gcc warning for libc++
Similar to base 63d1c3c43690, suppress -Wc++20-extensions for gcc.
Otherwise libc++ headers will lead to many -Werror warnings, due to our
use of -Wsystem-headers, which is not officially supported upstream.

MFC after:      3 days
62a7fdc13ab45b48977424ef77bbc0f11f601e39 Dimitry Andric 2026-01-02 20:29:05

Internal organizational stuff

copyright: Happy New Year 2026!
We are now one quarter into the 21st century.
8f41677ea4963254a3a190ede7cea16f2486cb1d Xin LI 2026-01-01 00:29:23

Testing

exterr_test: loosen the error string pattern
After addition of the prot and max_prot values, the old error substring
no longer satisfy the check.

Reviewed by:    emaste, mckusick
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54380
543c86636f73119fa1dab860f07396df5a1884d4 Konstantin Belousov 2025-12-28 03:35:03
tdestroy(3): add tests
Reviewed by:  alc, emaste
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54365
3204c097fd08436805f059c0d7f676d29ee9bb62 Konstantin Belousov 2025-12-26 22:00:09
pf tests: avoid cleanup failures on skipped tests
If we skip the nat:binat_* tests (e.g. because pf.ko isn't loaded) the
inetd_tester.pid file isn't created. We still run the cleanup function,
which tries to use this file to clean up the test environment. This
results in 'broken: Test case cleanup did not terminate successfully'.
Avoid this by checking if the pid file exists before using it.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
2eec2bcca2972b58fb8e9acb65c208af423f2181 Kristof Provost 2025-12-30 10:30:15

Style, typos, and comments

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

Fix typo in tools/build/options/WITH_REPRODUCIBLE_PATHS
8e951583936980909d34a6104ace781541fb62b1 Dimitry Andric 2025-12-29 21:34:22
linuxkpi: Avoid trailing whitespaces in lkpi_hex_dump()
We use the return value of the callback to track the number of bytes
written. We use it to determine if a group of characters should be
prepended with a whitespace. This way, we never add a trailing
whitespace.

We need to pay attention to the return value of the callback: if it is
negative, it's an error and we return immediately. Otherwise, we would
decrease the number of written bytes and possibly make it negative.

Reviewed by:    bz, christos
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51558
38d757b6c29c990de72dc51ac123922d3f095f53 Jean-Sébastien Pédron 2025-07-26 15:30:40

Contrib code

ncurses: avoid warnings about too-long initializer strings
Increase the size of `assoc::from` to 8 bytes, to avoid warnings from
clang 21 similar to:

    contrib/ncurses/progs/infocmp.c:702:10: error: initializer-string for character array is too long, array size is 4 but initializer has size 5 (including the null terminating character); did you mean to use the 'nonstring' attribute? [-Werror,-Wunterminated-string-initialization]
      702 |     DATA("\033[2J", "ED2"),     /* clear page */
          |          ^~~~~~~~~
    contrib/ncurses/progs/infocmp.c:716:10: error: initializer-string for character array is too long, array size is 4 but initializer has size 5 (including the null terminating character); did you mean to use the 'nonstring' attribute? [-Werror,-Wunterminated-string-initialization]
      716 |     DATA("\033[!p", "DECSTR"),  /* soft reset */
          |          ^~~~~~~~~

Reviewed by:    markj
Obtained from:  https://invisible-island.net/archives/ncurses/6.5/ncurses-6.5-20241207.patch.gz
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D54371
667259b392ec0a86d066ccc6ba0f4025b3d2a083 Dimitry Andric 2025-12-30 12:48:07
zfs: rename several printf attribute declarations to __printf__
For kernel builds, we redefine `__printf__` to `__freebsd_kprintf__`, to
support FreeBSD kernel printf(9) extensions with clang.

In OpenZFS various printf related functions are declared with
__attribute__((format(printf, X, Y))), so these won't work with the
above redefinition. With clang 21 and higher, this leads to errors
similar to:

    sys/contrib/openzfs/module/zfs/spa_misc.c:414:38: error: passing 'printf' format string where 'freebsd_kprintf' format string is expected [-Werror,-Wformat]
      414 |         (void) vsnprintf(buf, sizeof (buf), fmt, adx);
          |                                             ^

Since attribute names can always be spelled with leading and trailing
double underscores, rename these instances.

Note that in FreeBSD proper we usually use `__printflike` from
<sys/cdefs.h>, but that does not apply to OpenZFS.

Reviewed by:    emaste
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D54388
bcd9ea853b14c85a61eb9079c59e966eed336578 Dimitry Andric 2025-12-30 12:50:24
Merge commit faa5141b9be4 from file git (by Christos Zoulas):
  PR/656: harry.sintonen: Fix bug in byte swapping that was caused by the change to make flags uint16_t and cont_level uint8_t.

This fixes using a magic.mgc built with a different endianness than
file(1) itself, e.g. when building powerpc64 on amd64.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292079
Fixes:          https://cgit.freebsd.org/src/commit/?id=ae316d1d1cff ("MFV: file 5.46.")
MFC after:      3 days
39047538cf5d8f26112f7b08b3c56967f70f7f94 Jessica Clarke 2025-12-31 17:14:55
crypto/openssl: update vendor update instructions
This change fills out the requirements for doing vendor updates,
documents the new vendor update process, and guides whoever needs to do
the next version update a bit better than the documentation did prior to
this change so everyone can pitch in with version updates a bit better.

Convert the document to Markdown while here to make it easier to
render/print out the directions in a structured format.

MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53190
08cdcff58acb2aec881e42c7f097d6492d864898 Enji Cooper 2025-10-11 21:12:55

Reverted commits

-- no commits in this category this week --

Unclassified commits

Not classified automatically, and waiting for manual attention.

-- no commits in this category this week --

Technical notes

Dates:

Automatic grouping:

Automatic categories:

Source code:


Generated with commits-periodical 0.20 at 2026-01-13 20:42:49+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2025-12-29 (debug) (contains info about the classification)