FreeBSD/src f461e7b — contrib/bsnmp/lib bsnmplib.3 bsnmpclient.3, contrib/bsnmp/snmp_target snmp_target.3

bsnmp manpages: Fix unusual Xr order
DeltaFile
+2-2contrib/bsnmp/snmp_target/snmp_target.3
+1-1contrib/bsnmp/snmpd/snmpmod.3
+1-1contrib/bsnmp/lib/bsnmplib.3
+1-1contrib/bsnmp/lib/bsnmpclient.3
+1-1contrib/bsnmp/lib/bsnmpagent.3
+1-1contrib/bsnmp/lib/asn1.3
+7-76 files

FreeBSD/src c7d3801 — contrib/elftoolchain/addr2line addr2line.1, contrib/elftoolchain/readelf readelf.1

elftoolchain manpages: Fix unusual Xr order
DeltaFile
+2-2contrib/elftoolchain/addr2line/addr2line.1
+1-1contrib/elftoolchain/readelf/readelf.1
+3-32 files

FreeBSD/src 15bf2c9 — contrib/pf/pflogd pflogd.8

pflogd.8: hyperv manpages: Fix unusual Xr order
DeltaFile
+2-2contrib/pf/pflogd/pflogd.8
+2-21 files

FreeBSD/src d82081e — contrib/hyperv/tools hv_vss_daemon.8 hv_kvp_daemon.8

hyperv manpages: Fix unusual Xr order
DeltaFile
+4-4contrib/hyperv/tools/hv_kvp_daemon.8
+3-3contrib/hyperv/tools/hv_vss_daemon.8
+7-72 files

FreeBSD/src 4062791 — contrib/tzdata southamerica theory.html

contrib/tzdata: import tzdata 2026f

Changes: https://github.com/eggert/tz/blob/2026f/NEWS

(cherry picked from commit 5a2e900390155ca00ca321230e498f94d449eff5)
DeltaFile
+94-19contrib/tzdata/NEWS
+50-23contrib/tzdata/northamerica
+0-40contrib/tzdata/backzone
+13-26contrib/tzdata/leapseconds.awk
+18-20contrib/tzdata/theory.html
+25-10contrib/tzdata/southamerica
+200-1383 files not shown
+226-1589 files

FreeBSD/src f89814a — libexec/rtld-elf rtld.c

dl_iterate_phdr(3): do not return garbage for objects not using TLS

(cherry picked from commit 175595ba6c5253e395c028e792787dffd2875910)
DeltaFile
+6-2libexec/rtld-elf/rtld.c
+6-21 files

FreeBSD/src 8e231b6 — libexec/rtld-elf rtld.c

rtld: fix leak in get_program_var_addr() on the error path

(cherry picked from commit 91d8163803b4fa25e51afe1209d0f5c30c603b93)
DeltaFile
+3-1libexec/rtld-elf/rtld.c
+3-11 files

FreeBSD/src e3440c4 — libexec/rtld-elf rtld.c

rtld: some cosmetics in donelist_init()

(cherry picked from commit e2979f4cbbf6546daa7ad9fd1cd544d22c286315)
DeltaFile
+5-5libexec/rtld-elf/rtld.c
+5-51 files

FreeBSD/src ffc17f8 — sys/arm64/linux linux_sysvec.c

arm64 linux: Allow FUTEX_REQUEUE on arm64 by setting the brand flag

PR:     299836

(cherry picked from commit a3d1d4e88ae7435cfc32a886999dcde2173839cd)
DeltaFile
+2-1sys/arm64/linux/linux_sysvec.c
+2-11 files

FreeBSD/src 66da936 — sys/x86/include sysarch.h

x86: make machine/sysarch.h usable from assembler

(cherry picked from commit dc1514eda55c5a2439cb5b8fa5c08e78468b7d3b)
DeltaFile
+8-4sys/x86/include/sysarch.h
+8-41 files

FreeBSD/src 42094ab — sys/compat/linux linux_misc.c

linux: correct errors from mremap(2)

PR:     299835

(cherry picked from commit 9a8d5af1ba0174ec5fcc3eedba545aec9a627987)
DeltaFile
+5-1sys/compat/linux/linux_misc.c
+5-11 files

FreeBSD/src 6d705f2 — usr.sbin/rpc.tlsservd rpc.tlsservd.c

rpc.tlsservd.c: Check the malloc return

The NULL return is used by the following memcpy()
call.  Fail the request instead.

Unlikely to happen in practice, since the rpc.tlsservd
daemon runs as root and does not allocate a lot or memory.

Reviewed by:    rmacklem
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D60927
DeltaFile
+2-0usr.sbin/rpc.tlsservd/rpc.tlsservd.c
+2-01 files

FreeBSD/src 8f375eb — contrib/tzdata southamerica theory.html

contrib/tzdata: import tzdata 2026f

Changes: https://github.com/eggert/tz/blob/2026f/NEWS

(cherry picked from commit 5a2e900390155ca00ca321230e498f94d449eff5)
DeltaFile
+94-19contrib/tzdata/NEWS
+50-23contrib/tzdata/northamerica
+0-40contrib/tzdata/backzone
+13-26contrib/tzdata/leapseconds.awk
+18-20contrib/tzdata/theory.html
+25-10contrib/tzdata/southamerica
+200-1383 files not shown
+226-1589 files

FreeBSD/src 9b8bc7b — sys/dev/qlnx/qlnxe qlnx_def.h qlnx_os.c

qlnx: Report SR-IOV VF status

Retain the PF-known MAC and allocated transmit and receive queue counts
for each VF and expose them through the PF ifnet.  Sum queues across all
hardware functions rather than reporting only the first one.

Publish and snapshot the VF cache under the existing hardware lock.
Unpublish it before hardware teardown, and invalidate queue-allocation
knowledge when error recovery releases the underlying VF resources.

Initialize the cache, release it on failed initialization, and reject an
out-of-range VF index instead of continuing into the array.

Tested by:      zlei
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D58742
DeltaFile
+143-23sys/dev/qlnx/qlnxe/qlnx_os.c
+2-0sys/dev/qlnx/qlnxe/qlnx_def.h
+145-232 files

FreeBSD/src 0729ab5 — tools/tools/git Makefile git-arc.1

git-arc: add initial non-FreeBSD and `$HOME` install support

Modify the existing code to permit setting a prefix via the `PREFIX`
make variable, similar to what `--prefix` provides in autotools-based
projects.

Add the required compatibility glue in order to function with vanilla
bmake, which enables installing the commands with Linux and macOS:
- vanilla bmake requires `scripts.mk` to install `SCRIPTS`.
- vanilla bmake does not tack `/man` on to the end of `MANDIR`, like
  with FreeBSD.

While here, make the origins for various packages more generic, and
encourage end-users to install the package via the package/port instead
of installing it directly from source.

NOTE:
- regarding Linux support: this should now function out of the box with
  Linux as long as the host has access to an appropriate `arc` binary.

    [7 lines not shown]
DeltaFile
+20-11tools/tools/git/git-arc.sh
+8-7tools/tools/git/git-arc.1
+12-1tools/tools/git/Makefile
+40-193 files

FreeBSD/src 2c379ef — sys/dev/bnxt/bnxt_en if_bnxt.c bnxt.h

bnxt: Report SR-IOV VF status

Expose the PF-known effective per-VF MAC, allocated transmit and receive
queue counts, and policy state through the iflib VF status method.
Snapshot the state under the SR-IOV lock so concurrent trust and
anti-spoof sysctl updates cannot produce a torn report.  Mark known queue
allocations present even when their value is zero.

Cache a VF-selected MAC only after firmware accepts the forwarded
request.  Prefer that address in status.  Replay the accepted address,
trust state, and MAC anti-spoof policy after firmware recovery.

Record completion of the per-VF configuration callback separately from
firmware resource allocation.

Track successful PCI SR-IOV attachment independently of the active VF
count.  This lets a supported but unconfigured PF return an empty status
while unsupported devices and failed attachments omit it.


    [2 lines not shown]
DeltaFile
+145-18sys/dev/bnxt/bnxt_en/bnxt_sriov.c
+3-0sys/dev/bnxt/bnxt_en/bnxt_sriov.h
+1-0sys/dev/bnxt/bnxt_en/if_bnxt.c
+1-0sys/dev/bnxt/bnxt_en/bnxt.h
+150-184 files

FreeBSD/src 0f111a8 — sys/dev/mlx5/mlx5_en mlx5_en_main.c

mlx5en: Report the configured RSS tuple selections

Derive SIOCGIFRSSHASH's TCP and UDP selections from the same boot-time
hash configuration used by mlx5e_build_tir_ctx().  The query previously
advertised all six IPv4/IPv6 hash types even when the transport-specific
TIRs selected only the IP addresses.  In particular, the default RSS
configuration disables UDP four-tuple hashing.

Continue reporting IPv4 and IPv6 two-tuple hashing unconditionally,
matching the driver's IP-only TIRs.  Do not report IPv6 extension-header
variants which the query did not previously claim.  Leave key selection,
TIR programming, and the receive datapath unchanged.  This lets consumers
such as hn(4) match the VF's hash inputs instead of enabling incompatible
UDP four-tuple hashes on their own receive path.

Fixes:          a00718e1dfcd ("Implement SIOCGIFRSSKEY and SIOCGIFRSSHASH and mlx5en(4).")
MFC after:      2 weeks
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D59807
DeltaFile
+20-7sys/dev/mlx5/mlx5_en/mlx5_en_main.c
+20-71 files

FreeBSD/src 0c08d85 — sys/dev/mlx5 vport.h, sys/dev/mlx5/mlx5_core eswitch.h mlx5_vport.c

mlx5en: Report SR-IOV VF status

Query each enabled eswitch vport to report its effective MAC and VLAN
configuration and administrative link-state policy.  Serialize the
query with vport enable and disable, and hold the interface state lock
so teardown joins an in-progress report.

Propagate firmware errors from MAC, administrative link-state, and
supported VLAN queries instead of returning a partially initialized
configuration.  When the hardware lacks CVLAN enforcement, report the
remaining status with no imposed access VLAN.

Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D58740
DeltaFile
+127-0sys/dev/mlx5/mlx5_en/mlx5_en_main.c
+19-9sys/dev/mlx5/mlx5_core/mlx5_eswitch.c
+17-3sys/dev/mlx5/mlx5_core/mlx5_vport.c
+2-0sys/dev/mlx5/vport.h
+1-0sys/dev/mlx5/mlx5_core/eswitch.h
+166-125 files

FreeBSD/src 914892d — sys/dev/tpm tpm20.c

tpm20: Preserve all harvested random bytes

The TPM requests 16 random bytes every ten seconds, but a random
harvest event retains at most eight bytes.  random_harvest_queue()
reduces a larger input to one 32-bit Jenkins hash, so each successful
TPM request contributed only four bytes to the entropy accumulator.

Split the response into harvest event sized chunks.  This preserves all
16 random bytes without increasing the TPM command rate or changing its
high quality source classification.

MFC after:      2 weeks
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D59246
DeltaFile
+23-1sys/dev/tpm/tpm20.c
+23-11 files

FreeBSD/src 4bcd10f — share/man/man4 tpm.4, sys/arm/conf GENERIC

tpm: Harvest entropy from TPM 1.2 devices

The TPM 2.0 driver periodically contributes TPM-generated random bytes
to the kernel entropy pool, but the TPM 1.2 driver does not.

Issue TPM_GetRandom every ten seconds and submit successful responses
as RANDOM_PURE_TPM.  Keep each exchange under the TPM transaction lock.
Defer harvesting while the character device is open or a command is
pending so the task cannot consume a user response.  Drain the task for
suspend and detach, rearming it after resume or a failed suspend.

Document the expanded scope of RANDOM_ENABLE_TPM and update the kernel
configuration comments that described it as TPM 2.0-only.

Validated on a STMicroelectronics TPM 1.2 TIS device.  DTrace observed
periodic entropy submissions; a raw GetRandom response remained intact
while the device was held open across a harvest interval; and module
unload/reload deregistered and restored the entropy source cleanly.


    [4 lines not shown]
DeltaFile
+198-1sys/dev/tpm/tpm.c
+9-1share/man/man4/tpm.4
+6-0sys/dev/tpm/tpmvar.h
+1-1sys/riscv/conf/GENERIC
+1-1sys/arm64/conf/std.arm64
+1-1sys/arm/conf/GENERIC
+216-56 files

FreeBSD/src f0ac0f7 — sys/dev/tpm tpm_crb.c

tpm: crb: Improve ACPI control and buffer addresses

The TPM2 ControlAddress identifies the control area, not necessarily a
PTP locality block.  Hyper-V exposes a start-method-7 control area at the
beginning of its ACPI memory resource, with command and response buffers
in separate reserved memory pages.  Assuming control registers are at
resource + 0x40 instead writes CANCEL as LOC_CTRL and fails attach.

Map the control area using ControlAddress and map buffers using their
reported physical addresses.  Reuse the resource mapping for contained
ranges and track ownership of independent mappings for cleanup.  Request
locality only when the resource contains the preceding 64-byte PTP header.
Keep the existing Pluton notification callbacks and locality behavior for
that layout.  Control, locality, and buffer accesses use their respective
mappings directly, without the tpm_bus accessor class.

Bound transfers by the mapped buffer sizes and TPM_BUFSIZE.  Clamp an
overstated buffer that starts within the ACPI resource to its remaining
extent, while requiring room for a complete response header.  Keep strict

    [20 lines not shown]
DeltaFile
+273-134sys/dev/tpm/tpm_crb.c
+273-1341 files

FreeBSD/src 084f245 — sys/dev/tpm tpm.c

tpm: Tie exclusive-open cleanup to the file lifetime

Use a cdevpriv destructor to abort an unfinished TPM 1.2 transaction and
release exclusive-open ownership. Register it before setting TPM_OPEN so
a failed registration leaves the device available. The last reference to
the successful open triggers cleanup, including after dup() or fork().

Suggested by:   kevans
MFC after:      2 weeks
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D59812
DeltaFile
+12-22sys/dev/tpm/tpm.c
+12-221 files

FreeBSD/src 6362e50 — sys/dev/tpm tpm_isa.c tpmvar.h

tpm: Validate firmware interrupt routes and fall back cleanly

A host IRQ resource is not necessarily an LPC SIRQ selector.  Let the
frontend configure the route: ACPI uses the allocated _CRS interrupt and
_SRS when present, preserving the firmware selector, while ISA supplies a
separate, range-checked SIRQ.  Match trigger and polarity to the host route
and TPM capabilities, including opaque INTRNG resource mappings.
Pass the firmware descriptor unchanged to _SRS; apply the x86 ISA polarity
override only when computing the TPM mode.  ISA chips without rising-edge
support now poll instead of substituting a level mode for the host route.

For both FIFO drivers, require a complete GetRandom transport response and
a fresh DATA_AVAIL interrupt before selecting interrupt waits.  Perform
the test with polling before publishing the device, and repeat it after
resume.  During cold boot, defer the test and publication to an interrupt
configuration hook so the IRQ grace wait can sleep and the handler can run.
Drain the hook before teardown; failed deferred initialization remains
unpublished and can be detached safely.  Missing or failed routes release
the handler and IRQ resource;

    [33 lines not shown]
DeltaFile
+455-326sys/dev/tpm/tpm.c
+351-137sys/dev/tpm/tpm_tis_core.c
+122-0sys/dev/tpm/tpm_acpi_subr.c
+42-0sys/dev/tpm/tpm_irq.h
+18-3sys/dev/tpm/tpmvar.h
+18-0sys/dev/tpm/tpm_isa.c
+1,006-4666 files not shown
+1,039-46712 files

FreeBSD/src 8d710f5 — sys/dev/tpm tpm.c

tpm: Validate TIS 1.2 IRQs and quiesce delivery before teardown

The TIS 1.2 driver uses the IRQ resource value directly as the four-bit
LPC SIRQ selector in TPM_INT_VECTOR, without validating it before
narrowing. Add the missing range check on the full resource value and use
polling for routes outside 1 through 15. This restriction reflects the
driver's current routing support: parent interrupt numbers need not equal
LPC SIRQ channels.

Attach also installs a handler when the chip's quirks select polling.
Release the IRQ resource when initialization selects polling. Retain an
interrupt cookie only after successful setup and require it for interrupt
waits.

Share verified interrupt masking across initialization, resume, and
detach. Quiesce after draining cdev methods and before removing a handler,
including polling devices whose failed resume left firmware delivery on.
Preserve an owned locality until the existing abort path discards any
pending response. Report quiesce failures while completing detach cleanup.

    [17 lines not shown]
DeltaFile
+138-46sys/dev/tpm/tpm.c
+138-461 files

FreeBSD/src d1a465f — sys/kern kern_jailmeta.c, tests/sys/kern jailmeta.sh

jailmeta: reject empty keys in metadata lookups

Reject empty keys in metadata lookups with EINVAL to prevent an infinite
loop while holding allprison_lock and pr_mtx. Add tests for empty-key
reads and writes with empty and populated meta/env buffers, trailing
newlines, and empty final values.

Reviewed by:    igoro, jamie
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D61025
DeltaFile
+28-0tests/sys/kern/jailmeta.sh
+4-0sys/kern/kern_jailmeta.c
+32-02 files

FreeBSD/src 53dd6b7 — share/man/man4 ure.4

ure.4: Remove non-USB devices from HARDWARE

The RTL8168, RTL8169 and RTL8110 are PCI/PCIe Ethernet controllers
supported by re(4), and the RTL8211 is a standalone gigabit PHY.  None
of these are supported by ure(4).

The list appears to come from rgephy(4), which drives the internal PHY
on some ure-supported devices.

Fixes: 76ed6f2db316 ("ure.4: add a HARDWARE section + add RTL8156BG as a compatible controller")
Reviewed by:    Kenneth Raplee <kenrap at kennethraplee.com>
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D61061
DeltaFile
+2-3share/man/man4/ure.4
+2-31 files

FreeBSD/src 99a5880 — sys/kern kern_descrip.c

fdcopy(): properly update fd_freefile when skipping non-copyable fd

fd_freefile is maintained to fulfill the POSIX guarantee that the lowest
possible file descriptor is allocated on open.  If we skip copying an
fd, it is a possible candidate for the lowest index.

First, the file descriptor installed with a kqueue created
without KQUEUE_CPONFORK missed this handling [*].

Second, fd_freefile should be updated only when the current fd index is
below it.  A skipped fd above fd_freefile could raise it past a free slot.

PR:     300234 [*]
Reported by:    Andrea Venturoli <freebsd at netfence.it>
Reviewed by:    markj
Fixes:  1265516c5c61 ("struct file: add DFLAG_FORK, indicate copying on fork")
Fixes:  809f3121be66 ("fd: assign fd_freefile early when copying")
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D61054
DeltaFile
+5-2sys/kern/kern_descrip.c
+5-21 files

FreeBSD/src eb0f28d — sys/dev/usb/net if_ure.c

ure: Handle SIOCGIFXMEDIA

The SIOCGIFXMEDIA ioctl is uesd to report extended Ethernet media
subtypes.

ure(4) commit d4cf41a99b40 added support for some newer devices and
added a special case to call ifmedia_ioctl() instead of uether_ioctl()
for those devices, but only for SIOCGIFMEDIA and SIOCSIFXMEDIA.

Fixes: d4cf41a99b40 ("Add support for RTL8153B, RTL8156 and RTL8156B to if_ure(4).")
Reviewed by:    kbowling
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D61049
DeltaFile
+1-0sys/dev/usb/net/if_ure.c
+1-01 files

FreeBSD/src 86bdf7a — sys/dev/e1000 if_em.c

e1000: Honor the common RSS hash-field policy

Use rss_gethashconfig() to select MRQC hash fields in both the em and
igb multiqueue paths, including kernels built without options RSS.

igb previously enabled UDP four-tuple hashing unconditionally, while
the stack defaults to hashing only the addresses unless
net.inet.rss.udp_4tuple is enabled.  Honor that setting and include the
configured IPv6 extension-header address hash.

Limit the 82574 mapping to its supported fields.  Its TCP/IPv6 selector
is bit 18, named IPV6_TCP_EX in the shared definitions; bit 21 and the
UDP selectors are reserved.  Its default field selection is unchanged.

MFC after:      3 days
Sponsored by:   BBOX.io
DeltaFile
+39-15sys/dev/e1000/if_em.c
+39-151 files

FreeBSD/src d2cb520 — sys/dev/e1000 if_em.c

e1000: clear VFTA when last VLAN is removed

The conventional VLAN filter update skipped zero shadow words. Removing
the final VLAN represented by a VFTA word therefore left the hardware
bit programmed even though the software shadow was clear.

Pass the changed word to em_if_vlan_filter_write() and write it even
when its new value is zero. Retained nonzero words continue to be
replayed as before.

(cherry picked from commit a9305a6f50be89f22c7a469aeee4c3bea2086ace)
DeltaFile
+10-5sys/dev/e1000/if_em.c
+10-51 files