FreeBSD/src 01e9a8bshare/man/man4 ubsa.4

ubsa.4: Canonicalize SYNOPSIS + tag SPDX

Event:          EuroBSDcon 2026
MFC after:      3 days
DeltaFile
+7-13share/man/man4/ubsa.4
+7-131 files

FreeBSD/src 2c92e4cshare/man/man4 uath.4

uath.4: Canonicalize SYNOPSIS

Event:          EuroBSDcon 2026
MFC after:      3 days
DeltaFile
+8-16share/man/man4/uath.4
+8-161 files

FreeBSD/src 2b67a5bshare/man/man4 uath.4

uath.4: Canonicalize FIRMWARE -> FILES

Event:          EuroBSDcon 2026
MFC after:      3 days
DeltaFile
+11-11share/man/man4/uath.4
+11-111 files

FreeBSD/src 372b946share/man/man4 ubser.4

ubser.4: Canonicalize SYNOPSIS + tag SPDX

Event:          EuroBSDcon 2026
MFC after:      3 days
DeltaFile
+8-13share/man/man4/ubser.4
+8-131 files

FreeBSD/src 1bf7d54share/man/man4 vmx.4

vmx.4: Canonicalize device number

Event:          EuroBSDcon 2026
MFC after:      3 days
DeltaFile
+9-9share/man/man4/vmx.4
+9-91 files

FreeBSD/src 2f2938dshare/man/man4 uart.4

uart.4: Conicalize sections a bit better

Sections are in all caps, and subsections are in title case. Sections
also have a standard order. This manual could certainly be reformatted
more to conform further to our conventions, but this is a step in the
right direction. While here, remove the stray hyphen from the beginning
of this document.

Event:          EuroBSDcon 2026
MFC after:      3 days
DeltaFile
+42-43share/man/man4/uart.4
+42-431 files

FreeBSD/src 7ec06b4share/man/man4 u3g.4

u3g.4: Canonicalize SYNOPSIS, fix stray hyphen

Event:          EuroBSDcon 2026
MFC after:      3 days
DeltaFile
+6-17share/man/man4/u3g.4
+6-171 files

FreeBSD/src ca87782share/man/man4 uark.4

uark.4: Canonicalize SYNOPSIS + tag SPDX

Event:          EuroBSDcon 2026
MFC after:      3 days
DeltaFile
+8-13share/man/man4/uark.4
+8-131 files

FreeBSD/src 1689b87lib/libc/stdtime strftime.c

libc/stdtime: Catch up with tzcode 2026d

Fixes:          212e35249432 ("tzcode: Update to 2026c")
DeltaFile
+2-6lib/libc/stdtime/strftime.c
+2-61 files

FreeBSD/src 212e352contrib/tzcode zic.8 theory.html

tzcode: Update to 2026c

MFC after:      1 week
DeltaFile
+167-232contrib/tzcode/localtime.c
+60-58contrib/tzcode/tz-link.html
+114-1contrib/tzcode/NEWS
+49-40contrib/tzcode/zic.c
+32-31contrib/tzcode/theory.html
+28-17contrib/tzcode/zic.8
+450-3799 files not shown
+505-40915 files

FreeBSD/src 4d4fdb7. zic.8.txt theory.html

Import tzcode 2026d
DeltaFile
+167-232localtime.c
+60-58tz-link.html
+114-1NEWS
+49-40zic.c
+32-31theory.html
+23-21zic.8.txt
+445-38311 files not shown
+531-42817 files

FreeBSD/src 3caa8d2lib/libc/tests/stdlib test-search.h bsearch_test.c

libc: Preserve const qualifier on bsearch(3) results in tests

Reviewed by:    dteske, fuz
Approved by:    dteske (mentor), fuz (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59611
DeltaFile
+1-1lib/libc/tests/stdlib/test-search.h
+1-1lib/libc/tests/stdlib/bsearch_test.c
+1-1lib/libc/tests/stdlib/bsearch_s_test.c
+1-1lib/libc/tests/stdlib/bsearch_b_test.c
+4-44 files

FreeBSD/src 73d3c96lib/libc/gen syslog.c getgrent.c, lib/libc/iconv bsd_iconv.c

libc: Preserve const qualifier on strchr(3), strrchr(3), and memchr(3) results

Reviewed by:    dteske, fuz
Approved by:    dteske (mentor), fuz (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D59612
DeltaFile
+4-3lib/libc/net/getaddrinfo.c
+2-2lib/libc/gen/getgrent.c
+1-2lib/libc/iconv/bsd_iconv.c
+2-1lib/libc/inet/inet_cidr_pton.c
+2-1lib/libc/gen/syslog.c
+1-1lib/libc/stdio/mktemp.c
+12-104 files not shown
+16-1410 files

FreeBSD/src c389738lib/libc/stdlib bsearch.c, lib/libc/string wmemchr.c wcsstr.c

libc: Parenthesise qualifier-preserving function definitions

Required to prevent function-like macros with the same name from
being expanded in the definitions once they become active in a
later C mode.  Without the parentheses, the macro would rewrite
the declarator, and the file would consequently fail to compile.
This style is already used for similar cases such as mempcpy().

Reviewed by:    fuz
Approved by:    fuz (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59600
DeltaFile
+3-3lib/libc/stdlib/bsearch.c
+1-1sys/libkern/strchrnul.c
+1-1lib/libc/string/wmemchr.c
+1-1lib/libc/string/wcsstr.c
+1-1lib/libc/string/wcsrchr.c
+1-1lib/libc/string/wcspbrk.c
+8-812 files not shown
+20-2018 files

FreeBSD/src 4cc85d1tests/sys/geom/class/raid3 9_test.sh 8_test.sh

tests: Fix graid3 insert tests

The script was passing the wrong device name to `graid3 insert` and
didn't notice that the command was failing.

MFC after:      1 week
Event:          EuroBSDcon 2026 DevSummit
Reviewed by:    delphij
Differential Revision:  https://reviews.freebsd.org/D59564
DeltaFile
+1-1tests/sys/geom/class/raid3/9_test.sh
+1-1tests/sys/geom/class/raid3/8_test.sh
+1-1tests/sys/geom/class/raid3/7_test.sh
+1-1tests/sys/geom/class/raid3/6_test.sh
+4-44 files

FreeBSD/src 9094f86sys/geom/raid3 g_raid3_ctl.c

graid3: Restore lock acquisition

The lock acquisition in g_raid3_ctl_insert() was improperly dropped a
while ago, making it impossible to add or replace a device in an
existing graid3.  This went unnoticed because the tests are broken.

MFC after:      1 week
Fixes:          fcf69f3dbce6 ("Consistently use gctl_get_provider instead of home-grown variants.")
Event:          EuroBSDcon 2026 DevSummit
Reviewed by:    delphij
Differential Revision:  https://reviews.freebsd.org/D59563
DeltaFile
+1-0sys/geom/raid3/g_raid3_ctl.c
+1-01 files

FreeBSD/src 49b4137bin/chflags chflags.1, lib/libc/gen strtofflags.c

chflags: Alias nocache to noucache for consistency

Event:                  EuroBSDcon 2026
Requested by:           fuz
Reviewed by:            fuz, rmacklem
Differential Revision:  https://reviews.freebsd.org/D59588
DeltaFile
+2-3lib/libc/gen/strtofflags.c
+2-2bin/chflags/chflags.1
+4-52 files

FreeBSD/src 116c727share/man/man4 aq.4

aq.4: Canonicalize SYNOPSIS

Event:          EuroBSDcon 2026
MFC after:      3 days
DeltaFile
+14-10share/man/man4/aq.4
+14-101 files

FreeBSD/src b0a216alib/geom/label glabel.8

glabel.8: Fix description, improve table, tag spdx

- restore missing search keyword "disk", GEOM provider is a lgoical disk
- editorial nits on file system table to improve search and rendering
- correct msdosfs terminology, they are FAT filesystems
- use consistent spelling of filesystem

Fixes:          05a2d40ac240
Event:          EuroBSDcon 2026
MFC after:      3 days
Discussed with: bcr, vishwin
DeltaFile
+28-25lib/geom/label/glabel.8
+28-251 files

FreeBSD/src 11ad849sys/dev/evdev evdev_utils.c

evdev: map ChromeOS "Vivaldi" top-row action keys

Chromebook keyboards driven by the ChromeOS EC emit the top-row action
keys as scancode set 1 codes 0xE0 0x11 - 0xE0 0x1E (see the codeset 1
comments on the SCANCODE_* enum in chrome-ec
include/keyboard_8042_sharedlib.h).  The e0 half of the
evdev_scancode2key() translation table leaves eleven of those at NONE,
so on FreeBSD those keys emit no evdev event at all and userspace
remappers such as keyd have nothing to bind to:

  e0 11  fullscreen             KEY_ZOOM
  e0 12  overview               KEY_SCALE
  e0 13  screenshot             KEY_SYSRQ
  e0 14  brightness down        KEY_BRIGHTNESSDOWN
  e0 15  brightness up          KEY_BRIGHTNESSUP
  e0 16  privacy screen toggle  KEY_PRIVACY_SCREEN_TOGGLE
  e0 17  kbd backlight down     KEY_KBDILLUMDOWN
  e0 18  kbd backlight up       KEY_KBDILLUMUP
  e0 1a  play/pause             KEY_PLAYPAUSE

    [13 lines not shown]
DeltaFile
+9-4sys/dev/evdev/evdev_utils.c
+9-41 files

FreeBSD/src 5de4183share/man/man4 wlan_amrr.4 ixl.4

manpages: Convert links from http to https when valid

Many of our man pages contain links to websites that are still using
http. Convert them to use https. I skipped those that:
- were not available anymore,
- did not provide an SSL page,
- had caused an SSL validation error,
- were not the original link anymore (i.e. aquisition)
- where the site structure had changed, causing 404s on the new site

Event:                  EuroBSDcon 2026
Reviewed by:            carlavilla (very fast, thanks for that)
Differential Revision:  https://reviews.freebsd.org/D59629
DeltaFile
+4-4share/man/man4/dc.4
+3-3share/man/man4/pcm.4
+2-2share/man/man4/ixl.4
+2-2share/man/man4/iavf.4
+2-2share/man/man4/cxgbe.4
+1-1share/man/man4/wlan_amrr.4
+14-1425 files not shown
+39-3931 files

FreeBSD/src 05a2d40lib/geom/label glabel.8

glabel.8: clarify volume labels, metadata identifiers, and generic GEOM labels

Change description of manual page to add precision. Split out
filesystem, GPT and GEOM labels.  Give an example for each filesystem
for the program to show how to set a label. Clarify examples and use ada
device names consistently.

PR:                         262207
Differential Revision:      https://reviews.freebsd.org/D51030
DeltaFile
+73-56lib/geom/label/glabel.8
+73-561 files

FreeBSD/src c1e7332sys/compat/freebsd32 freebsd32_misc.c, sys/kern kern_sendfile.c

sendfile(2): rework compat implementation

Rename the sendfile() function to kern_sendfile(), expand the arguments
previously passed in struct sendfile_args, and extend with two function
pointer arguments to copy in the header/trailer structure and the
create uio's for the header and trailer as required.  Use this to allow
the removal of freebsd32_do_sendfile() which was a nearly identical
duplicate of sendfile() with attendant maintenance cost.

Reviewed by:    kib, markj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Differential Revision:  https://reviews.freebsd.org/D59034
DeltaFile
+17-76sys/compat/freebsd32/freebsd32_misc.c
+29-28sys/kern/kern_sendfile.c
+18-0sys/sys/syscallsubr.h
+64-1043 files

FreeBSD/src 79e290dsys/compat/linuxkpi/common/src linux_work.c

linuxkpi: Fix cancel_delayed_work_sync() return value

Align behavior between the Linux cancel_delayed_work_sync()
function return value and the LinuxKPI equivalent.

Linux cancel_delayed_work_sync() returns whether delayed
work was pending, even if canceled before executing. This
includes the case where the timer fired and work was queued
but the callback had not yet started.

The LinuxKPI version used the return value from taskqueue_cancel()
as the return value of the public facing API, which inverted the
behavior of two cases, violating the Linux API contract.
Queued work which was removed before running would return false, and
work whose callback was already executing would return true.

Track the taskqueue pending count separately from the
taskqueue_cancel() return value.
Use the pending count for the public return value.

    [11 lines not shown]
DeltaFile
+24-13sys/compat/linuxkpi/common/src/linux_work.c
+24-131 files

FreeBSD/src 5fe1964tools/test/stress2/misc unionfs23.sh unionfs22.sh

stress2: add two new unionfs test scenarios

These exercise lookup traversal from tmpfs into unionfs, which is
useful because, unlike UFS, tmpfs does not allow recursion on its vnode
locks by default.

unionfs22.sh exercises these lookups with a normal unionfs mount, while
unionfs23.sh uses '-o below' for the unionfs mount and reproduces the
panic described in PR 298201.

Reviewed by:    kib, markj, pho
Tested by:      pho
Differential Revision:  https://reviews.freebsd.org/D59494
DeltaFile
+77-0tools/test/stress2/misc/unionfs23.sh
+77-0tools/test/stress2/misc/unionfs22.sh
+154-02 files

FreeBSD/src f57ce26sys/kern vfs_lookup.c

vfs_lookup_cross_mount(): fix missing LK_CANRECURSE

This was a rather dumb miss on my part in commit 42442d7a6e.
LK_CANRECURSE is clearly needed in any case in which the covered vnode
is held exclusive across the call to VFS_ROOT(), regardless of whether
it was initially held exclusive or upgraded.  The commit message for
that change also noted that unionfs lookup only worked without
LK_CANRECURSE due to a coincidence of the then-current unionfs
implementation.  As it happens, said coincidence was recently removed
in commit b952606b4f ("unionfs_lock(): eliminate LK_CANRECURSE special-
case").

PR:             298201
Reported by:    olivier
Fixes:          42442d7a6e "Generalize the VV_CROSSLOCK logic in
vfs_lookup"
Reviewed by:    kib, markj, pho
Tested by:      pho
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D59494
DeltaFile
+8-4sys/kern/vfs_lookup.c
+8-41 files

FreeBSD/src f616f8asys/dev/iwx if_iwx.c

iwx: fix kernel panic on module unload with assertions enabled

When interface is up and running 'kldunload if_iwx' stops the device and executes RUN -> INIT state transition.
Since the device is already stopped iwx_run_stop fails to stop the device again and returns non-zero exit code from iv_newstate callback which triggers 'INIT state change failed' assertion.

I reused IWX_FLAG_SHUTDOWN flag to:
a) set it in iwx_detach
b) check it in iwx_newstate_sub - when it is set all custom state transition logic is skipped

Accidentally found while experimenting with iwlwifi / iwx drivers

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59624
DeltaFile
+4-0sys/dev/iwx/if_iwx.c
+4-01 files

FreeBSD/src 3e27156sys/dev/pci pci.c pcivar.h

pci: Adapt PME capability queries to stable/14

Add explicit D3hot and D3cold names and the bounds needed by
pci_has_pme(), while retaining PCI_POWERSTATE_D3 == 3.  D3cold is a
capability-query state here, not a newly supported power transition.
This avoids importing the ACPI D3cold changes for the PME and igc
Wake-on-LAN backports.

Use pci_has_pm() to check capability presence instead of pp_location,
which is not present in stable/14.  Keep the PCI configuration structure
layout unchanged.

Fixes: d831cb2ad3d8 ("pci: Expose PME support by power state")
Fixes: 443dc80b712c ("igc: Correct Wake-on-LAN filter programming")
DeltaFile
+5-0sys/dev/pci/pcivar.h
+1-1sys/dev/pci/pci.c
+6-12 files

FreeBSD/src 443dc80share/man/man4 igc.4, sys/dev/igc if_igc.h igc_defines.h

igc: Correct Wake-on-LAN filter programming

The attach path translated WUC.APME into a saved link-change filter,
then advertised magic-packet wake.  Suspend removed unselected magic,
unicast, and multicast bits from that saved value, commonly leaving no
hardware wake filter at all.  The destructive masking also made later
capability changes ineffective.

Advertise the I225/I226 wake filters whenever PCI power management is
available and enable magic-packet wake by default.  Build a fresh WUFC
mask for every suspend, and explicitly clear WUC, WUFC, and PCI PME when
wake is disabled.

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.

Reconstruct RAR0, the multicast table, and the receive filter after the
stop-time reset so unicast and multicast wake use the current interface

    [48 lines not shown]
DeltaFile
+153-54sys/dev/igc/if_igc.c
+21-3share/man/man4/igc.4
+20-0sys/dev/igc/igc_mac.c
+3-4sys/dev/igc/igc_defines.h
+3-4sys/dev/igc/igc_base.c
+1-3sys/dev/igc/if_igc.h
+201-682 files not shown
+203-698 files

FreeBSD/src d831cb2share/man/man9 Makefile pci.9, sys/compat/linuxkpi/common/include/linux pci.h

pci: Expose PME support by power state

The presence of the PCI power management capability does not imply that
a function can signal PME# from every power state.  Drivers which
advertise wake based only on pci_has_pm() can consequently expose wake
modes that cannot work.

Add pci_has_pme() to query the PME_Support bitmap for a specific state.
Use it to implement LinuxKPI pci_pme_capable(), removing its duplicate
PME_Support decoder.

Validated the helper against PCI PMC capability values from 82571EB,
82573L, 82579LM, I210, I225, and I226-V controllers.  The 82571 and
82573 reported PMC 0xc822, while the I226-V reported 0xc823.  In both
values, bits 15, 14, and 11 advertise PME from D3cold, D3hot, and D0;
the low-bit difference is only the PM capability version.

Sponsored by:   BBOX.io

(cherry picked from commit c4e24e95c3f905b817d4bfc6e93457eb297bfa4b)
DeltaFile
+2-18sys/compat/linuxkpi/common/include/linux/pci.h
+18-1share/man/man9/pci.9
+19-0sys/dev/pci/pci.c
+1-0sys/dev/pci/pcivar.h
+1-0share/man/man9/Makefile
+41-195 files