FreeBSD git weekly: 2026-08-31 to 2026-09-06

Introduction

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

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)
1 9.1% Userland programs
2 18.2% Documentation
3 27.3% Hardware support
1 9.1% Networking
0 0.0% System administration
0 0.0% Libraries
1 9.1% Filesystems
1 9.1% Kernel
0 0.0% Build system
0 0.0% Internal organizational stuff
0 0.0% Testing
0 0.0% Style, typos, and comments
2 18.2% Contrib code
0 0.0% Reverted commits
0 0.0% Unclassified commits
11 100% total
Technical notes about this page

debug: info about the automatic classification

num % num changed stage
1 9.1% 0 02-filenames_wildcards
9 81.8% 0 03-filenames_plain1
1 9.1% 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
11 100.0% Classified commits, no corrections

debug: groups

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

cat: add -A, -E and -T flags
Support cat -A, -E and -T, which are commonly used by Linux shell
scripts.  -E prints a "$" at the end of each line, -T renders tabs
as ^I, and -A is equivalent to -vET.

MFC After:      1 week
Discussed with: jrtc27
Reviewed by:    jrtc27, ziaee
Differential Revision:  https://reviews.freebsd.org/D59250
d2cfdf4c12a76db3612c83575403150811f5aa9a Baptiste Daroussin 2026-08-21 14:41:54

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

Documentation

Man pages, release notes, etc.

RELNOTES: Add an entry for the NFS over RDMA "glue" commits
9bec8a959bd6206cceb1afd583b47822bc8ccd16 Rick Macklem 2026-08-31 02:00:45

debug: classified in 03-filenames_plain1 by 'RELNOTES'

fortune: Fix tag width in fortune.6 man-page
Reported by: ziaee

Reviewed by:    ziaee
Differential Revision:  https://reviews.freebsd.org/D59242
5a223ae08e736d3aabfd43dbb5c89cd86b3e1739 Devin Teske 2026-08-31 16:40:07

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

Hardware support

Hardware drivers and architecture-specific code.

e1000: Rework Wake-on-LAN policy and programming
The driver used the NVM APME default as both the hardware-support
decision and the mutable filter mask.  Consequently, an NVM-disabled
but capable port did not advertise wake support, disabling a wake mode
once could keep it disabled across later suspends, and directed-unicast
wake could never be selected.

Require the PCI power management capability to report D3hot PME support
before advertising or arming wake.  A PM capability alone does not mean
the function can signal PME from the state used during system sleep.

Separate the board and port capability matrix from the NVM-selected
magic packet default.  Read the proper per function NVM word on igb
controllers, cover the newer PCH generations, and retain the documented
legacy, multi-port, and OEM restrictions.  Decode the distinct APM
Enable locations used by 82544, 82541EI/82547EI, and the later 8254x
parts.  Do not advertise wake on the 82541ER, whose power-management
logic cannot assert PME for wake events.  For I210/I211 internal iNVM,
use the hardware-loaded WUC.APME state; the shared reader does not
expose the optional Initialization Control 3 word.

Build WUFC from the enabled ifnet capabilities for each suspend.
Reconstruct RAR0, the multicast table, and the receive filter after the
stop-time reset so unicast and multicast wake use the current interface
state.  Fill the MTA on legacy PCI/PCI-X controllers and 82575 through
82580 when the address list overflows; their multicast wake matchers
require the indexed MTA bit and do not use RCTL.MPE as a substitute.

Do not access PF-only wake CSRs from the igb VF suspend and resume
paths.

Use the shared BM page access helpers and propagate every PHY receive
address and wake-register programming failure.  On resume, perform the
required LCD reset before clearing host PHY-wake ownership, report the
saved PHY or MAC wake cause, and clear PCI PME after removing the device
wake source.  Preserve management engine wake ownership throughout.
Keep WUC.APME set only when early 82545EM/82546EB manageability needs
its D3 clock-tree workaround; ordinary host wake uses PCI PME.

Keep the link powered while host wake is armed.  With no host wake,
evaluate management pass-through at each suspend.  Leave a
management-owned link untouched and keep PCI PME enabled.  Otherwise,
use the Intel shared code PHY power-down hook, or its matching SerDes
shutdown hook on igb fiber and SerDes devices.  Track that state and
restore the link without another PHY reset before hardware
initialization.  Ordinary ifconfig down behavior is unchanged.

Apply and undo the PCH Sx workarounds across their full supported range.
Use controller-specific CTRL and laser semantics, and restore RCTL when
wake setup fails.  Always run the pending PCIe-transaction drain and
bus-master-disable sequence before D3.  Suspend reports a
wake programming failure rather than sleeping without wake, shutdown
logs it and continues through the fencing sequence.

Do not apply the ICH/PCH IGP3 D3 power-down workaround to igb
controllers.  The merged driver inherited an unconditional call from the
em-only driver.  On 82575 and 82576 it asserted CTRL.PHY_RST after the
wake filters were armed, preventing the link from receiving wake
traffic.

The implementation was checked against the Intel controller data
sheets, the Intel Linux e1000, e1000e, and igb lifecycle code, DPDK,
and the Intel FreeBSD em-7.7.8 and igb-2.5.31 drivers.  The 8254x audit
also covered the PCI/PCI-X Software Developer's Manual, the 82541/82547
NVM guide, and the 82544, 82545, and 82546 specification updates.  The
out of tree drivers carry the family-specific power down and reset block
hooks but do not call them from suspend.  DPDK supplies the stop/start
pairing.

On PCH controllers including an 82579LM, I217-LM, and various I219s,
device-only D3 tests observed PME and BM_WUS.MAG for a magic packet, no
PME with every host filter disabled, and BM_WUS.EX with only
directed-unicast wake enabled.  With dev.em.0.wake enabled, ACPI S3
slept until a delayed magic packet and resumed with the interface
operational.  After wake traffic stopped and resume completed, a second
cycle again waited for a newly delayed magic packet.  Traffic restored
after both host and firmware wake were enabled.

An 82574L woke from S3 after one magic packet, reported MAC wakeup
status, and returned with link and traffic operational.

On 82571EB and 82573L adapters, device-only D3 tests observed WUS.MAG
and PCI PME status after a magic packet, then returned to D0 with link
and traffic operational.  Full S3 did not wake either add-in card.
The positive device tests and negative S3 isolate the remaining failure
outside the MAC filter programming and my cards may lack aux power
wiring because the link was off in S3.

On 82575EB and 82576 adapters, pre-fix device only D3 tests left PMCSR
at 0x2103 despite ten verified magic packets, and the handoff showed
CTRL.PHY_RST asserted.  With the em-family gate, identical tests changed
PMCSR from 0x2103 to 0xa103, resume reported WUS.MAG, and both links
returned operational.  S3 testing on these separated controller from
board behavior.  An Intel 82576 card retained link in S3 and woke the
system from a delayed magic packet, reported WUS.MAG, and returned with
interface operational.  The tested 82575 add-in card lost its
link LED in S3 and retained no WUS cause after manual resume, although
its identical D3hot test passed.   That points the 82575 S3 result to
card aux power wiring as well.

D3 tests were performed on I210 and I350 but S3 has not yet been
attempted on them.

lem(4) testing has not been attempted yet.

Community reports of success and failure are welcome.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=232708, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238411, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295443, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296675
MFC after:      2 weeks
Sponsored by:   BBOX.io
46cf612d98e99967204185829fe829350cfa51a1 Kevin Bowling 2026-08-30 06:06:02

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

e1000: Configure PCH low-power link modes for suspend
The PCH suspend path kept a wake link fully powered and did not restore
the negotiated EEE modes after its stop-time reset.  Intel provides the
ULP entry and exit machinery in the shared code, but FreeBSD did not
invoke its Sx policy.

Enter ULP on LPT and newer PCH controllers when wake is armed without
directed-unicast, multicast, or broadcast filters, which ULP cannot
preserve.  For a link retained by host wake or management, restore the
100BASE-TX and 1000BASE-T LPI controls selected by the local
advertisement and the cached link-partner ability.

Keep these power reductions best-effort: wake filters and PME are
already configured independently, and a ULP or EEE failure is logged
without converting an optional power optimization into a suspend
failure.  The existing PCH resume workaround forcibly exits ULP and
clears automatic Sx LPI state before normal initialization.

Validated on a ThinkPad T440p with an I217-LM.  FBT confirmed that the
helper received the magic-wake mask during device suspend.  The shared
ULP helper returned its documented no-op for the initial I217 device ID.
A full S3 cycle resumed cleanly.

On a ThinkPad P51 with an I219, full S3 waited for a magic packet and
then resumed with the 1-Gbps link and traffic restored.

MFC after:      2 weeks
Sponsored by:   BBOX.io
52fbff96549904933898908644f3a99e5cd4cdca Kevin Bowling 2026-08-30 08:25:09

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

igbv: Fence DMA while sanitizing retained queues
The 82576 and I350 retain VF queue enable and DMA address state
across VFLR.  iflib enables PCI bus mastering before driver attach, so
stale state left by a previous owner can otherwise issue DMA before
igbvf has completed its first reset and queue sanitization.

Disable PCI bus mastering immediately after mapping the VF BAR.  Keep
it disabled until reset and queue sanitization succeed, verify both
disable and enable through PCI command-register readback, and wait for
pending transactions before treating the fence as complete.
Resanitize on stop before iflib releases queue mappings.

The sanitizer and recovery were exercised on I350 and 82576 VFs.  Forced
queue-disable failure left the VF down, and a later administrative
down/up recovered it; successful I350 VFs passed bidirectional traffic
with no errors or drops.

Sponsored by:   BBOX.io
037d45a0526f452d96f44059e88f735298a9063d Kevin Bowling 2026-08-26 09:21:56

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

Networking

Network-related commands, library, and kernel.

tcp md5: improve handling of tcps_sig_err_sigopt counter
For non listening TCP endpoints, increment the tcps_sig_err_sigopt
counter when TCP MD5 is not enabled in the TCP connection, but a
segment containing a TCP MD5 option is received.
Also increment the counter when using the RACK or BBR stack.

Reported by:            Hannes Elfert
Reviewed by:            rrs
MFC after:              1 week
MFC to:                 stable/14
MFC to:                 stable/15
Differential Revision:  https://reviews.freebsd.org/D59249
c6ae11c1b0d96fd2ed0b55c655ff58a46b26ddcb Michael Tuexen 2026-08-31 13:12:54

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

System administration

Stuff in man section 8 (other than networking).

-- no commits in this category this week --

Libraries

-- no commits in this category this week --

Filesystems

nfs_clvfsops.c: Silence a compiler warning
MFC after:    3 months
Fixes:  https://cgit.freebsd.org/src/commit/?id=884ee8d6c9b4 ("nfscl: Add some glue for client side NFS over RDMA")
d8d9f39df5431cbb554173da0f473c0e576aa7cb Rick Macklem 2026-08-31 00:56:13

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

Kernel

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

LinuxKPI: 802.11: add != NULL check in ieee80211_tx_status_ext()
There seems to be another possible race with net80211 state machine
changing the bss from under us (another lvif_bss_synched case).
Just do the != NULL check to avoid a NULL pointer deref in
ieee80211_ratectl_rate().

(bz extended the original comment and wrote the commit message).

Sponosred by:   The FreeBSD Foundation (commit)
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=297184
MFC after:      3 days
0211e64ce1e5ba208f4b96453ce6740a49689b91 Kim Shrier 2026-08-31 16:28:51

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

-- no commits in this category this week --

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

contrib/lutok: update from 0.4 to 0.6.2
More information about what's included in the new release can be found
[here](https://github.com/freebsd/lutok/compare/lutok-0.4...lutok-0.6.2).

MFC after:      1 week
Merge commit '447d4fe61d8bf55ffa21698ecee0ac51010a9a0f'
132f818ddbf457ee67d502cd89b5a18e0a34713d Enji Cooper 2026-08-31 16:29:06

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

ath10k: remove some early FreeBSD-specific debugging
The extra DELAY seems to no longer be needed and the dump_stack()
is definitively a problem now.  Remove all this.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
523c3992cf9e50dce7948372ef703f0057e22561 Bjoern A. Zeeb 2026-02-19 23:21:10

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

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-08-31 18:15:44+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2026-08-31 (release)