FreeBSD/src 96e2a9a — sys/dev/sound/pci hdsp.h hdsp.c

snd_hdsp: Use saved resource IDs on detach

Release resources with the IDs used to allocate them.
Rename irqid to rid to reflect that it stores a resource ID.

This mirrors the corresponding snd_hdspe change.

MFC after:      3 days
Sponsored by:   BBOX.io
DeltaFile
+5-5sys/dev/sound/pci/hdsp.c
+1-1sys/dev/sound/pci/hdsp.h
+6-62 files

FreeBSD/src d33ab9d — sys/dev/sound/pci hdspe.h hdspe.c

snd_hdspe: Use saved resource IDs on detach

Release resources with the IDs used to allocate them.
Rename irqid to rid to reflect that it stores a resource ID.

Reviewed by:    br
MFC after:      3 days
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D58373
DeltaFile
+5-5sys/dev/sound/pci/hdspe.c
+1-1sys/dev/sound/pci/hdspe.h
+6-62 files

FreeBSD/src 5355c97 — sys/dev/sound/pci hdsp.h hdsp-pcm.c

snd_hdsp: Use busdma for DMA buffers

Program DMA buffer registers with the bus addresses returned by busdma.
Require one full-size contiguous DMA segment per direction and validate
its alignment and 32-bit address range.

Synchronize buffer ownership around playback, capture, clearing, and
teardown.  Disable channels before clearing their DMA buffers, and unwind
partially allocated resources on failure.

This mirrors snd_hdspe's DMA handling, adapted to HDSP's single base
address per direction.

MFC after:      3 days
Sponsored by:   BBOX.io
DeltaFile
+84-29sys/dev/sound/pci/hdsp.c
+20-4sys/dev/sound/pci/hdsp-pcm.c
+3-0sys/dev/sound/pci/hdsp.h
+107-333 files

FreeBSD/src a94d4de — sys/netpfil/pf pf.c

pf: allows TCP RST packets in the backwards window if ACK matches

TCP reset packets are generated for the sequence numbers that have
been acknowledged.  Our pf(4) is quite strict regarding sequence
numbers of reset packets to avoid evil connection drops.  It expected
exact match and did not allow a sequence window for resets.  As pf
tracks neither gaps in the sequence space nor the acknowledged data,
it does not know where exactly the reset is expected by the TCP
stack.

Problem was that legit reset packets before a gap but not at the
highest sequence numbers were blocked by pf.  Solution is to fix
pf_tcp_track_full().  Now it allows sequence number windows if the
packet has ACK+RST flags set and the acknowlege number matches
perfectly.  This still prevents reset number guessing by an attacker.

Curiously the TCP stack behaves correctly and accepts only resets
before the gap.  pf only allowed resets after the final data.  So
any reset was ignored by the system.  When the other side processed

    [9 lines not shown]
DeltaFile
+5-1sys/netpfil/pf/pf.c
+5-11 files

FreeBSD/src 46b3383 — sys/dev/sound/pci hdspe.h hdspe-pcm.c

snd_hdspe: Use busdma for DMA buffers

Program DMA pages from busdma segments and synchronize buffer ownership.
Unwind partially allocated resources on failure.

Reviewed by:    br
MFC after:      3 days
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D58372
DeltaFile
+101-31sys/dev/sound/pci/hdspe.c
+20-4sys/dev/sound/pci/hdspe-pcm.c
+5-0sys/dev/sound/pci/hdspe.h
+126-353 files

FreeBSD/src 0b420c6 — sys/net ieee8023ad_lacp.c

lacp: fix lacp for interfaces with unknown media

Fall back to if_baudrate if ifmedia_baudrate() returns 0 in
lacp_aggregator_bandwidth().

When lacp_aggregator_bandwidth() returns 0, lacp will
never come up, due to aggregator selection starting with a 0.
This is why its important for interfaces with unknown media
(meaning  ifmedia_baudrate() returns 0) to fall back to
using if_baudrate in order to avoid this state.

Differential Revision: https://reviews.freebsd.org/D61084
Reviewed by: kbowling
Sponsored by: Netflix
DeltaFile
+2-0sys/net/ieee8023ad_lacp.c
+2-01 files

FreeBSD/src a25ad36 — sys/dev/sound/pci hdsp-pcm.c

snd_hdsp: Serialize rate and latency updates

Protect running-state checks and register updates with the softc lock.
Keep the pointer reset and the HDSP 9632 frequency rewrite in the same
critical section as the latency update.

Drop the lock around sndbuf_resize(), which may sleep, and recheck the
running state after reacquiring it.  Preserve resize error handling so
that a failed resize leaves the hardware unchanged.

This mirrors the locking in snd_hdspe.

MFC after:      3 days
Sponsored by:   BBOX.io
DeltaFile
+16-2sys/dev/sound/pci/hdsp-pcm.c
+16-21 files

FreeBSD/src d1dcb2b — sys/dev/sound/pci hdspe-pcm.c

snd_hdspe: Serialize rate and latency updates

Protect running-state checks and register updates with the softc lock.

Drop the lock around sndbuf_resize(), which may sleep, and recheck the
running state after reacquiring it.  Keep the resize ahead of the latency
register update so that a failed resize leaves the hardware unchanged.

Reviewed by:    br
MFC after:      3 days
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D58371
DeltaFile
+18-2sys/dev/sound/pci/hdspe-pcm.c
+18-21 files

FreeBSD/src c4b6df9 — sys/netinet6 nd6.h nd6_rtr.c

netinet6: Fix ND link-layer address option layout for IPoIB (stable/15)

RFC 4391 (IP over InfiniBand), section 9.3, lays the ND source/target
link-layer address option out as type, length (3), two reserved zero octets,
then the 20-octet IPoIB link-layer address. The ND code assumed the Ethernet
layout (RFC 4861, section 4.6.1) everywhere and read/wrote the address directly
after the option header, i.e. two octets early. The option-length sanity check
computes 24 for both layouts for a 20-octet address, so the mismatch was silent.

Against a conformant peer (e.g. Linux) this broke IPv6 over IPoIB in both
directions: the address parsed from a received NS/NA option was shifted by two
bytes, so the cached link-layer address embedded a GID that does not exist on
the fabric and replies were sent nowhere, and the options we built carried our
address at the wrong offset for the peer. IPv4/ARP was unaffected. This blocked
everything IPv6 over IPoIB against Linux, including rdma_cm's IP-to-GID
resolution and therefore NFS-over-RDMA-over-InfiniBand with IPv6.

Add nd6_lladdr_opt_pad(), the analog of Linux's ndisc_addr_option_pad(): the
number of reserved octets between the option header and the address (2 for

    [19 lines not shown]
DeltaFile
+31-4sys/netinet6/nd6_nbr.c
+7-2sys/netinet6/icmp6.c
+5-2sys/netinet6/nd6_rtr.c
+1-0sys/netinet6/nd6.h
+44-84 files

FreeBSD/src 27ac437 — . Changes, lib entities.h xmlparse.c

Vendor import of expat 2.10.0
DeltaFile
+731-138lib/xmlparse.c
+246-0tests/entities_tests.c
+180-1tests/misc_tests.c
+99-0lib/entities.h
+89-0Changes
+48-15tests/basic_tests.c
+1,393-15428 files not shown
+1,641-19234 files

FreeBSD/src bc7366a — sys/fs/nfsserver nfs_nfsdstate.c

nfs_nfsdstate.c: Partial revert of 64857418bb23

Dropping the cached reply that is too large causes
a correctness problem that is too difficult to fix,
so revert this and leave it the way it was.

Although there is an argument that not doing could
cause resource exhaustion, it has not been reported
in the field as a problem.

MFC after:      1 month
DeltaFile
+0-4sys/fs/nfsserver/nfs_nfsdstate.c
+0-41 files

FreeBSD/src e4a2b19 — sbin/pfctl parse.y

pfctl: err(3) family functions should not be used with trailing \n

Obtained from:  OpenBSD, deraadt <deraadt at openbsd.org>, 3c04d8eee2
Sponsored by:   Rubicon Communications, LLC ("Netgate")
DeltaFile
+2-2sbin/pfctl/parse.y
+2-21 files

FreeBSD/src 73bd8d4 — sys/netpfil/pf pf_ioctl.c

pf: fix DIOCXBEING/DIOCXROLLBACK/DIOCXCOMMIT error handling

 - ensure the anchor name is always 0-terminated
   strlcpy() won't overflow, but will walk off the end of the provided
   buffer looking for a 0.
 - don't overwrite the pf_begin()/... return value with the copyout()
   return value
 - stop on the first copyout() error

Fixes:  2636cc0414fd (pf: have DIOCXBEGIN/DIOCXROLLBACK/DIOCXCOMMIT use the new functions, 2026-10-27)
Reported by:    markj's Post-Commit LLM Review Service
Sponsored by:   Rubicon Communications, LLC ("Netgate")
DeltaFile
+10-1sys/netpfil/pf/pf_ioctl.c
+10-11 files

FreeBSD/src d8b2c29 — sys/netpfil/pf if_pfsync.c

pfsync: improve underflow check

We checked the state's expiry time to make sure it was large enough to
not underflow if we subtracted the already expired time from the remote
end, but we failed to account for the state's expiry time being in
miliseconds and the pfsync time delta being in seconds.

Take that multiplication by 1000 into account.

Fixes:  78b620b781b0 (pfsync: avoid underflow on different timeouts, 2026-10-21)
Reported by:    markj's Post-Commit LLM Review Service
Sponsored by:   Rubicon Communications, LLC ("Netgate")
DeltaFile
+3-3sys/netpfil/pf/if_pfsync.c
+3-31 files

FreeBSD/src 04b6d3e — sys/netpfil/pf if_pfsync.c

if_pfsync: add missing unlock

Fixes:  c6a520af95b2 (pfsync: improve handling of large packets, 2026-10-30)
Reported by:    markj's Post-Commit LLM Review Service
Sponsored by:   Rubicon Communications, LLC ("Netgate")
DeltaFile
+1-0sys/netpfil/pf/if_pfsync.c
+1-01 files

FreeBSD/src 240a767 — sys/netpfil/pf if_pfsync.c

if_pfsync: fix mbuf leaks on errors

Some of the pfsync input handlers freed the mbuf on errors, others did
not. Unify this by having the caller free the mbuf on error.

Fixes:  c6a520af95b2 (pfsync: improve handling of large packets, 2026-10-30)
Reported by:    markj's Post-Commit LLM Review Service
Sponsored by:   Rubicon Communications, LLC ("Netgate")
DeltaFile
+1-3sys/netpfil/pf/if_pfsync.c
+1-31 files

FreeBSD/src af53132 — sys/netpfil/pf pf_nl.c

pf: don't leak transaction elements on error

If nlmsg_reply() or nlmsg_end() in pf_handle_trans() failed we did not
call pf_trans_free(), leaking the pf_trans_e elements in it.

Reported by:    markj's Post-Commit LLM Review Service
Sponsored by:   Rubicon Communications, LLC ("Netgate")
DeltaFile
+8-4sys/netpfil/pf/pf_nl.c
+8-41 files

FreeBSD/src 3f2f6bb — sbin/hastd hastd.c

hastd: Remove pidfile on exit

Make hastd remove its pidfile before exit after catching a signal or a
stop control message, not just on failure to start.

MFC after:      1 week
Reviewed by:    ngie
Differential Revision:  https://reviews.freebsd.org/D60192
DeltaFile
+1-0sbin/hastd/hastd.c
+1-01 files

FreeBSD/src 18bce6e — sys/fs/tarfs tarfs_subr.c

tarfs: Fix length calculation for file read

When the offset is within a block rather than at its beginning, the
length should be clamped to the remaining length of the block, not its
total length.

Reported by:    n0ps1ed
MFC after:      1 week
Reviewed by:    markj, emaste
Differential Revision:  https://reviews.freebsd.org/D60904
DeltaFile
+3-2sys/fs/tarfs/tarfs_subr.c
+3-21 files

FreeBSD/src a380332 — sys/fs/tarfs tarfs_subr.c

tarfs: Limit file name length

When indexing the tarball on mount, fail if a file or directory name
exceeds MAXNAMLEN.

Reported by:    n0ps1ed
Reported by:    Franz Bettag <franz at bett.ag>
MFC after:      1 week
Reviewed by:    markj, emaste
Differential Revision:  https://reviews.freebsd.org/D60903
DeltaFile
+2-0sys/fs/tarfs/tarfs_subr.c
+2-01 files

FreeBSD/src d667885 — lib/libfetch common.c

libfetch: Apply timeout to SSL handshake

When the SSL handshake cannot proceed because the server is slow to
respond, poll() with a timeout instead of spinning.

MFC after:      1 week
PR:             298962
Event:          Oslo Hackathon 2026
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D60975
DeltaFile
+39-3lib/libfetch/common.c
+39-31 files

FreeBSD/src 581d509 — lib/libfetch http.c

libfetch: Use C locale for dates

MFC after:      1 week
PR:             299084
Reviewed by:    arrowd, kevans
Differential Revision:  https://reviews.freebsd.org/D60901
DeltaFile
+19-9lib/libfetch/http.c
+19-91 files

FreeBSD/src 48ac411 — sys/conf files.riscv, sys/riscv/include intr.h imsic.h

riscv: Incoming MSI Controller support.

Support for Incoming Message Signalling Interrupt Controller (IMSIC)
defined by the RISC-V Advanced Interrupt Architecture (AIA) specification.

This is based on early work of Himanshu Chauhan on IMSIC support for
IPI delivery. This change, however, does not include IPI delivery support,
instead it provides MSI support for peripheral devices.

IMSIC is a core-local interrupt controller with non-global interrupts,
which means that interrupt identity is effectively (hart, interrupt ID).

When IMSIC present on hart, APLIC does not trap the CPU directly,
instead it delivers the interrupt to the IMSIC instance associated with
the target hart. Upon reception of interrupt, IMSIC on hart invokes APLIC
for handling. Note that PCIe devices deliver interrupt directly to IMSIC.

Apart from IMSIC support, this includes APLIC changes:
- Obtain the interrupt trigger type from FDT and configure the interrupt

    [9 lines not shown]
DeltaFile
+808-0sys/riscv/riscv/imsic.c
+320-159sys/riscv/riscv/aplic.c
+31-0sys/riscv/include/imsic.h
+7-2sys/riscv/include/intr.h
+1-0sys/conf/files.riscv
+1,167-1615 files

FreeBSD/src 24558f2 — sys/riscv/riscv intc.c

riscv intc: convert to a bus.

Convert the RISC-V Interrupt Controller (INTC) device to a bus;
try to find and attach Incoming Message Signalling Interrupt Controller
(IMSIC) device.

This allows to establish parent-child relationships between two and
to propagate PIC_INIT_SECONDARY call from the INTC (parent) to the
IMSIC (child).

Reviewed by:    mhorne, mmel
Sponsored by:   EPSRC ("UKRI3001: CHERI Research Centre")
Differential Revision:  https://reviews.freebsd.org/D59813
DeltaFile
+115-2sys/riscv/riscv/intc.c
+115-21 files

FreeBSD/src 7ef59cc — sys/dev/sound/pci/hda hdac.h hdac.c

Revert "snd_hda: Identify AMD Audio Coprocessor"

Apparently this device might need a separate driver altogether.

This reverts commit 8dac0bdb4df0815e14db219e9a7fb5d0be5737b8.
DeltaFile
+0-1sys/dev/sound/pci/hda/hdac.h
+0-1sys/dev/sound/pci/hda/hdac.c
+0-22 files

FreeBSD/src 7868958 — sys/dev/ixgbe ixgbe.h ixgbe_e610.h

ix(4): Support Total Port Shutdown on E610

Firmware controls the physical link state on E610 adapters, similarly to
X700 and E800 adapters. As a result, running "ifconfig down" does not
disable the physical link unless Total Port Shutdown is enabled.

Read the Link Default Override TLV from NVM to detect when Total
Port Shutdown was enabled for given port in system setup. In that
case, force the link down when the interface is stopped and restore
it during link configuration. Leave link state management unchanged
when the TLV is unavailable or the feature is not enabled.

Co-authored-by: Miłosz Linkiewicz <milosz.linkiewicz at intel.com>
Co-authored-by: Tomasz Lichwala <tomasz.lichwala at intel.com>
Signed-off-by: Krzysztof Galazka <krzysztof.galazka at intel.com>

Tested by:      Mateusz Moga <mateusz.moga at intel.com>
MFC after:      1 week
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D60643
DeltaFile
+82-1sys/dev/ixgbe/if_ix.c
+79-0sys/dev/ixgbe/ixgbe_e610.c
+17-0sys/dev/ixgbe/ixgbe_type_e610.h
+4-0sys/dev/ixgbe/ixgbe_e610.h
+2-0sys/dev/ixgbe/ixgbe.h
+184-15 files

FreeBSD/src b9f1f9b — sys/fs/p9fs p9fs_vnops.c p9fs_vfsops.c

fix p9fs_vget_common() panics

(cherry picked from commit 2d21dbaaaf75558b42a000561eb6224b6c1c0615)
DeltaFile
+15-41sys/fs/p9fs/p9fs_vfsops.c
+0-3sys/fs/p9fs/p9fs_vnops.c
+15-442 files

FreeBSD/src 584f442 — sys/dev/sdhci sdhci_pci.c

sdhci_pci: Add Intel Sunrise Point-LP SDXC controller

Co-authored-by: Michael Osipov <michaelo at FreeBSD.org>
PR:             300175
Reviewed by:    imp
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D60973
DeltaFile
+2-0sys/dev/sdhci/sdhci_pci.c
+2-01 files

FreeBSD/src cfbf113 — sys/dev/bnxt/bnxt_en bnxt_ktls.h if_bnxt.c

if_bnxt: skip HW kTLS on old firmware and add a tunable to disable it

Older Thor2 firmware serves key context allocation requests very
slowly, about a second each. The driver allocates key contexts in
batches of 128, so setting up 500k sessions takes roughly 3900
requests and driver load appears to hang.

Enable hardware kTLS only when the firmware's HWRM interface version
is 1.10.3.99 or newer. Keep the full four-part version in
hwrm_spec_code_ext for the comparison.

Also add a disable_hw_ktls loader tunable that turns hardware kTLS off
for a device without unloading kTLS support, which helps isolate kTLS
problems in the field.

Reviewed by:    gallatin
Sponsored by:   Broadcom Inc
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D60977
DeltaFile
+14-0sys/dev/bnxt/bnxt_en/bnxt_ktls.c
+6-0sys/dev/bnxt/bnxt_en/bnxt_sysctl.c
+6-0sys/dev/bnxt/bnxt_en/bnxt.h
+2-1sys/dev/bnxt/bnxt_en/if_bnxt.c
+3-0sys/dev/bnxt/bnxt_en/bnxt_hwrm.c
+2-0sys/dev/bnxt/bnxt_en/bnxt_ktls.h
+33-16 files

FreeBSD/src aca2e5f — sys/dev/bnxt/bnxt_en bnxt.h bnxt_hwrm.c

if_bnxt: size MRAV from the AV split entry for backing store V2

On RoCE-capable Thor2, attach fails with
HWRM_FUNC_BACKING_STORE_CFG_V2 returning INVALID_PARAMS, as MRAV is
sized the pre-V2 way and the firmware's AV split value is sent as is.

Size MRAV from the AV split entry, and move the legacy entry-count
packing into bnxt_hwrm_func_backing_store_cfg().

Fixes: d5ce906da7c5 ("bnxt_en: Add backing store V2 support")
Reviewed by:    gallatin
Sponsored by:   Broadcom Inc
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D60976
DeltaFile
+12-12sys/dev/bnxt/bnxt_en/if_bnxt.c
+11-1sys/dev/bnxt/bnxt_en/bnxt_hwrm.c
+2-0sys/dev/bnxt/bnxt_en/bnxt.h
+25-133 files