FreeBSD git weekly: 2026-09-21 to 2026-09-27

Introduction

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

This report is still in progress.

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

Table of contents and commits per category:

(0) Highlighted commits (these are copies, not in stats)
0 0.0% Userland programs
9 30.0% Documentation
11 36.7% Hardware support
2 6.7% Networking
3 10.0% System administration
0 0.0% Libraries
0 0.0% Filesystems
4 13.3% Kernel
0 0.0% Build system
0 0.0% Internal organizational stuff
1 3.3% Testing
0 0.0% Style, typos, and comments
0 0.0% Contrib code
0 0.0% Reverted commits
0 0.0% Unclassified commits
30 100% total
Technical notes about this page

debug: info about the automatic classification

num % num changed stage
9 30.0% 0 02-filenames_wildcards
1 3.3% 0 02b-filenames_wildcards2
13 43.3% 0 03-filenames_plain1
7 23.3% 0 04-filenames_plain2
0 0.0% 0 Manually-classified commits
0 0.0% 0 Unclassified commits

debug: more stats

num % stage
0 0.0% Misclassified commits
30 100.0% Classified commits, no corrections

debug: groups

0 0.0% num in revert
0 0.0% num in fixes
9 30.0% num in consecutive
9 30.0% 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.

-- no commits in this category this week --

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.

ufoma: Describe better, short SYNOPSIS, tag SPDX
This driver is for NTT DoCoMo 3G cellular equiment, which afaict all
went offline six months ago. Tidy up the entry until we can remove it.

MFC after:      3 days
acaab48a73229c54ca1b4ec197508285c3f97970 Alexander Ziaee 2026-09-21 03:31:10

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

ufshci.4: Canonicalize SYNOPSIS, LOADER TUNABLES
+ Update SYNOPSIS to the new standard format
+ Rename CONFIGURATION to the usual LOADER TUNABLES
+ Adjust tunable markup for inclusion in the search index
+ Editorial nit: Unwind a parenthetical

MFC after:      3 days
0a81077f432d74dd2d064fb5f2b1b2a546be5347 Alexander Ziaee 2026-09-21 16:06:59

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

ugen.4: Canonicalize SYNOPSIS + tag SPDX
MFC after:    3 days
8943d47938216bfe5e162aaf237f27de2e3ce659 Alexander Ziaee 2026-09-21 16:20:16

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

ugold.4: Canonicalize SYNOPSIS, HARDWARE, tag SPDX
MFC after:    3 days
6a075798bfdfc5ff50fc635fe8c2acbbee0178f2 Alexander Ziaee 2026-09-21 16:25:58

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

uhid.4: Canonicalize SYNOPSIS, tag SPDX
MFC after:    3 days
7d1edc5b36805f8fb80a75583c8e820ab58c9b7f Alexander Ziaee 2026-09-21 16:29:10

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

uhso.4: describe better, SYNOPSIS, HARDWARE, SPDX
+ Update SYNOPSIS to the new standard format
+ Give this a clearer description in apropos
+ Give this a clearer description in hardware note
+ Spinoff SYSCTL VARIABLES from HARDWARE
+ Pet linter for long lines and trailing punctuation
+ Tag SPDX

MFC after:      3 days
2407b84c683582ad2fb8840df5a13637d0a8f405 Alexander Ziaee 2026-09-21 16:43:06

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

ufoma.4: Improve HARDWARE introductory sentence
MFC after:    3 days
00d693e47efd305cfc011ffe85972483f4fe12f8 Alexander Ziaee 2026-09-21 16:50:47

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

uipaq.4: Canonicalize SYNOPSIS, tag SPDX
MFC after:    3 days
f1a4ac4aca47b2b6ac7ed4a06a6f3b0f253f13f3 Alexander Ziaee 2026-09-21 16:53:36

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

ukbd.4: Canonicalize SYNOPSIS, tag SPDX
Also add a missing Cd tag for consistency.

MFC after:      3 days
f4e7e5eced392b90fb265b06f4223c0301d777ff Alexander Ziaee 2026-09-21 17:02:13

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

Hardware support

Hardware drivers and architecture-specific code.

arm64: Add a wfe function
And replace inline assembly

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D59482
d95b62db76b9bb4d51bc5e555b26a3aaf8afa44a Andrew Turner 2026-09-18 11:27:25

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

Commit group #0: arm64/smmu
arm64/smmu: Move smmu later

We need to wait for the interrupt drivers to attach before the smmu
driver. As both of these happened at BUS_PASS_INTERRUPT +
BUS_PASS_ORDER_MIDDLE there was no guarantee this would happen in the
correct order.

Fix by moving the smmu driver to BUS_PASS_ORDER_LATE.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D59485
0bcd0616ff86675869d998a491eccc38e413cdad Andrew Turner 2026-09-18 11:28:31

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


arm64/smmu: Start handling errata

Handle the Arm MMU-600 erratum 1076982 where when we poll for a sync
command completion we can't use the wait-for-event instruction.

This is in preparation for later adding support for polling for sync
command completion and is not an issue on stable branches.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D59486
6dca6e2aa89d877cf2bc8135c6936008e2a6af72 Andrew Turner 2026-09-18 11:28:41

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


arm64/smmu: Split out waiting for sync completion

In preparation for adding a non-MSI method split out waiting for sync
completions from smmu_sync.

While here fix the loop to wait for sync timeout to the worst case
Linux uses.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D59487
54393bf5361a653c530170da20323181e515d7a1 Andrew Turner 2026-09-18 11:28:51

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


arm64/smmu: Support polling for sync completion

When the hardware doesn't support MSIs we need to poll to wait for
sync operations to complete. Add support for this to support booting
on this hardware.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D59488
0689a5ea451bdef62f7e81ffb3e5f580c5c99b2b Andrew Turner 2026-09-18 11:29:02

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


arm64/smmu: Only MSI poll when cache-coherent

Only use the MSI polling method when we support MSIs and the SMMU is
cache-coherent.

The SMMU writes to a memory location. If it is not cache-coherent then
the CPU may read the existing value in its cache and miss the signal
the sync operation has completed.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D59489
50e01b6351b1a4955814cce021852c65a5b5bb9f Andrew Turner 2026-09-18 11:29:19

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

Commit group #1: vmm
vmm: Normalize a zero PIT count before starting channel 0

pit_timer_start_cntr0() does not schedule a callout when the initial
count is zero.  The counter write handler normalizes a programmed zero
count only after calling it, leaving an initially unarmed channel 0
without a scheduled timer event.

Move the existing normalization before the timer-start call.  Retain the
historical 0xffff representation of a zero count.

Reviewed by:    markj
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59749
3330226fd33ae6b747c9edc97315244360ad5e54 Hayzam Sherif 2026-09-21 16:33:36

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


vmm: Synchronize long-mode state when emulating CR0 writes

vmx_emulate_cr0_access() sets EFER.LMA and the IA-32e guest VM-entry
control when enabling paging with EFER.LME set, but does not clear them
when disabling paging.  This can leave an inconsistent guest state that
fails VM entry.

Update both fields in either direction based on EFER.LME and the CR0
value written to the VMCS.  Use the mask-adjusted CR0 value so the
resulting state remains consistent with the VMX fixed-bit requirements.

Reviewed by:    markj
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59756
d400b1ca31fd9b12655c83f9a7b3e8cdb68646dd Hayzam Sherif 2026-09-21 16:33:55

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


vmm: Fix a page wiring leak in MOVS emulation

When emulating a MOVS from MMIO to guest RAM, the kernel's
vm_copy_setup() wires the destination pages.  If the subsequent
MMIO read fails, emulate_movs() skips vm_copy_teardown(), leaking
the page wire references acquired during setup.

Run vm_copy_teardown() regardless of the MMIO read result, and
only copy the value to guest memory if the read succeeds.
Preserve the existing error return.

This matches illumos change 13309.

Reviewed by:    markj
Obtained from:  illumos 83cd75bb2949d26e6eb38ddefc60fdeed1909643
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59823
ce5b70657f94d2051566664d3ea7167d104803b0 Hayzam Sherif 2026-09-21 16:34:08

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


vmm: Re-arm the PIT callout for square wave mode

The 8254's square wave mode (mode 3) is periodic, with the same
interrupt rate as the rate generator mode (mode 2), but
vatpit_callout_handler() only re-arms the channel 0 callout for
TIMER_RATEGEN.  A guest that programs mode 3 therefore receives a
single IRQ0 and no further timer interrupts.

Re-arm the callout for TIMER_SQWAVE as well, matching illumos
change 13301.

Reviewed by:    markj
Obtained from:  illumos 93d78aba5b32996fc2ae893a6237a0d3972f86b2
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59816
fc44154841fc2ebb1530a10cad719edb58559a88 Hayzam Sherif 2026-09-21 16:34:37

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

amd64/*sigtramp.S: re-enable some cfi annotations for special registers
Also explicitly specify .cfi_sections to emit the cfi bytecode into the
loadable .eh_frame section.

Reviewed by:    mchoo
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D59838
64a73d1b6dc93d92daea1e2d0603fda1dddadf4a Konstantin Belousov 2026-09-19 09:46:19

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

Networking

Network-related commands, library, and kernel.

udp: Let jail policy rewrite the dstaddr for v6 sendto()s
When performing an unconnected sendto() on a v6 UDP socket in a classic
jail, we were not applying the usual policy of replacing the loopback
addr with the jail's primary IP.  Compare with, e.g., udp6_connect() or
the IPv4 udp_send().  Fix that.

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:    bz, glebius
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59772
fecb9537a83b6746bc731a7cb3bcf6a33df79562 Mark Johnston 2026-09-21 14:05:01

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

pfsync: when importing a state clear take the interface name into account
When one pfsync host clears states it informs its peers about this.
While processing such messages, in pfsync_in_clr() we failed to take the
interface name into account.
This meant that if one host cleared states on one interface the peers
would clear all states, not just those on the affected interface.

Actually check for the interface in pfsync_in_clr()

Sponsored by:   Rubicon Communications, LLC ("Netgate")
6a34abbe976626019d61d9d08a624f4ed14ddbd0 Kristof Provost 2026-09-21 11:39:39

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

System administration

Stuff in man section 8 (other than networking).

bhyveload: validate character disk devices
Currently, bhyveload(8) does not validate the supplied disk
image path. For example, it allows passing the /dev/null
device, which later fails in userboot because it does not
support DIOCGSECTORSIZE and DIOCGMEDIASIZE ioctls (see
userdisk_init() in stand/userboot/userboot/userboot_disk.c).

Fix that by checking DIOCGSECTORSIZE and DIOCGMEDIASIZE ioctls early.
A similar check already exists in bhyve(8). While here, make
cb_diskioctl() report the obtained sector size instead of
hard-coding 512.

Reviewed by:    markj
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59253
51234535ddd6ec0afe9dd4e3f34a31b92d5cdd78 Roman Bogorodskiy 2026-08-28 17:51:31

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

bhyve: fix boot device ordering
EDK2's QemuBootOrderLib inspects the bootorder file provided
via fw_cfg and requires it to be NUL-terminated. Otherwise,
it rejects the supplied bootorder and falls back to its
default boot order.

Currently, bhyve registers bootorder with qemu_fwcfg_add_file()
using bootorder_len returned by open_memstream(), which excludes
the trailing NUL byte.

Fix that by passing bootorder_len + 1 to qemu_fwcfg_add_file() so
the fw_cfg payload is properly NUL-terminated.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279720
Reviewed by:    markj
Found with:     codex (gpt-5.6-sol)
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59859
b27a221ef79d6d77d6173897f12118e1126453d8 Roman Bogorodskiy 2026-09-20 14:41:55

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

pciconf: Add -C option to filter by class name
Differential Revision:        https://reviews.freebsd.org/D59602
MFC after:      3 weeks
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289923
Reviewed by:    bnovkov
46d383af0dbdb3871354f344b9c1ba99da691121 Federico Angelilli 2026-09-21 18:23:10

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

Libraries

-- no commits in this category this week --

Filesystems

-- no commits in this category this week --

Kernel

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

dtrace/arm64: Fix copyout and copyoutstr
Calling dtrace_copy and dtrace_copystr with the kaddr and uaddr
arguments inversed does not work with PAN. Rename them
dtrace_copyin_pan and dtrace_copyinstr_pan, respectively, and
implement dtrace_copyout_pan and dtrace_copyoutstr_pan.

Avoid excessive faulting by checkin DTrace's CPU flags. Implement the
trick from OpenSolaris/Illumos of only checking the flags when
crossing into a new page, altough more effectively by examining the
vaddr instead of the count.

Reviewed by:    markj
MFC after:      3 weeks
Differential Revision:  https://reviews.freebsd.org/D59449
a6deeaa2fb3b28a61ae56a85f2275f67fcf23262 Benjamin Jacobs 2026-09-16 13:07:01

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

kern_linker: use __func__ correctly in diagnostics
__func__ is a variable not a string literal so pass it to printf.  This
only manifest when KLD_DEBUG was defined so wasn't tested by an kernel
including LINT.

Reported by:    Mark Millard <marklmi@yahoo.com>
Sponsored by:   Innovate UK
0a3d54a47eb6f71b2309fec79b2dce109bb72240 Brooks Davis 2026-09-21 09:30:15

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

LINT: enable KLD_DEBUG
Without this, no kernel config contained this option so it was easy to
break.

Sponsored by:   Innovate UK
e376d28ce86135a12e3a9b31ca31fe80c59611be Brooks Davis 2026-09-21 09:51:26

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

lockf: Truncate the active lock list earlier in lf_purgelocks()
Otherwise vfs_report_lockf() can race with lf_purgelocks() while the
latter is freeing active lock entries without any locks held.

Reviewed by:    kib
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59768
e20ed58d265cd6eba9b28efc8e8956324937d4c3 Mark Johnston 2026-09-21 14:14:45

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

Build system

-- no commits in this category this week --

Internal organizational stuff

-- no commits in this category this week --

Testing

gh-bc/tests: run tests in parallel
Helps to mitigate failures due to timeout in CI on emulated architectures:
https://ci.freebsd.org/job/FreeBSD-main-riscv64-test/16565/testReport/usr.bin.gh-bc/

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59547
1b9aea382e31f1c72bdfefbe01db51dc7bd60952 Siva Mahadevan 2026-09-21 18:15:52

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

Style, typos, and comments

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

-- no commits in this category this week --

Contrib code

-- no commits in this category this week --

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.21 at 2026-09-21 19:44:48+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2026-09-21 (release)