FreeBSD/src db9bbe1lib/libsys procctl.2

procctl.2: Align list indentation

Remove 81 lines of whitespace at default manual rendering width.

MFC after: 3 days
DeltaFile
+24-24lib/libsys/procctl.2
+24-241 files

FreeBSD/src 7225259libexec/rtld-elf/tests dlopen_hash_test.c Makefile

rtld: add test for dlopen("#dirfd/path")

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:   https://reviews.freebsd.org/D56152
DeltaFile
+45-0libexec/rtld-elf/tests/dlopen_hash_test.c
+1-0libexec/rtld-elf/tests/Makefile
+46-02 files

FreeBSD/src ffbf3felib/libc/gen dlopen.3, libexec/rtld-elf rtld.c

rtld: allow dlopen("#<number>/<path>")

When a specially formatted path is passed to dlopen(), of the form
  #number/path
and the number is the valid dirfd file descriptor listed in the
LD_LIBRARY_FDS, interpret it as a relative path name against dirfd
number.

This complements the result returned from dladdr() for such objects
in dli_fname.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D56152
DeltaFile
+54-3libexec/rtld-elf/rtld.c
+14-0lib/libc/gen/dlopen.3
+68-32 files

FreeBSD/src 51db69csys/kern kern_event.c

kqueue: assert that kqueue knote lists own the knotes

Reviewed by:    kevans, markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D56212
DeltaFile
+12-2sys/kern/kern_event.c
+12-21 files

FreeBSD/src de344ffsys/amd64/amd64 exec_machdep.c

amd64 sendsig(): explicitly copy registers from trapframe to ucontext

(cherry picked from commit 7d1285e904aa76ac821ac2a6a8eb61be598f0e88)
DeltaFile
+28-1sys/amd64/amd64/exec_machdep.c
+28-11 files

FreeBSD/src a91b307libexec/rtld-elf/tests set_var_test.c Makefile

rtld: add a test for rtld_set_var (with LIBRARY_PATH_FDS)

PR:     294054

(cherry picked from commit 9f16078b5f8c44d5718ecc940ab0b4ed5a1877a5)
DeltaFile
+38-0libexec/rtld-elf/tests/set_var_test.c
+1-0libexec/rtld-elf/tests/Makefile
+39-02 files

FreeBSD/src 5002c46sys/x86/isa atpic.c icu.h

x86: move the NUM_ISA_IRQS symbol from atpic.c into x86/isa/icu.h

(cherry picked from commit 5f08cdc1fb62d157b6086b3ea844287e81e3c45d)
DeltaFile
+0-2sys/x86/isa/atpic.c
+2-0sys/x86/isa/icu.h
+2-22 files

FreeBSD/src 1e4debclibexec/rtld-elf rtld.c

rtld: properly handle update of several vars in rtld_set_var()

(cherry picked from commit b9f046d941c4dbd0e4fc634827ada6e7cf6a6bcf)
DeltaFile
+152-36libexec/rtld-elf/rtld.c
+152-361 files

FreeBSD/src 60b2eb9libexec/rtld-elf rtld.c

rtld: check for overflow in parse_integer()

(cherry picked from commit 7cfffe25da3fbc2db4bcf073ff2d240f84233973)
DeltaFile
+4-0libexec/rtld-elf/rtld.c
+4-01 files

FreeBSD/src a270710lib/libc/gen rtld_get_var.3

rtld_get_var(3): provide explicit list of rtld vars that can be modified

(cherry picked from commit f7b368d25fadbfcba5072dfab3738082393fa189)
DeltaFile
+17-0lib/libc/gen/rtld_get_var.3
+17-01 files

FreeBSD/src ae04c7bcontrib/expat Changes, contrib/expat/doc reference.html xmlwf.xml

contrib/expat: import expat 2.7.5

Changes: https://github.com/libexpat/libexpat/blob/R_2_7_5/expat/Changes
         https://github.com/libexpat/libexpat/blob/R_2_7_4/expat/Changes

Security:       CVE-2026-32776
Security:       CVE-2026-32777
Security:       CVE-2026-32778
Security:       CVE-2026-24515
Security:       CVE-2026-25210
MFC after:      3 days
DeltaFile
+2,814-1,863contrib/expat/doc/reference.html
+244-244contrib/expat/doc/xmlwf.xml
+130-56contrib/expat/xmlwf/xmlwf_helpgen.py
+112-61contrib/expat/lib/xmlparse.c
+141-18contrib/expat/Changes
+119-0contrib/expat/lib/libexpat.map.in
+3,560-2,24229 files not shown
+3,822-2,33935 files

FreeBSD/src 306c904sys/kern kern_event.c

kqueue: add some kn_knlist assertions around knlist_(add|remove)

We currently assert that kn_status is accurate, but there's more room
for error.  Neither of these are very likely, but currently we'd blow up
in SLIST*() macros instead of providing more obvious diagnostics.  It's
perhaps only worth testing these because knlist_remove() requires
getting logic across both f_attach() and f_detach() correct.

Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D56211
DeltaFile
+4-0sys/kern/kern_event.c
+4-01 files

FreeBSD/src ff1050dsys/kern kern_event.c

kqueue: simplify knote_fdclose()

The influx logic in knote_fdclose() is a little misguided, the resulting
wakeup() call should always be redundant: knote_drop_detached() will
always issue a wakeup before it returns, so anything waiting on *that*
knote that had entered fluxwait should have been woken up then.  This is
the obvious divergence from the other influx/wakeup pattern in the
implementation, which will kn_influx-- and then issue the wakeup after
it has processed all of the knotes it can make progress on.

While we're here, the kq_knlist cannot shrink, so we can avoid that
condition in the loop and avoid potentially excessive wakeups from
fluxwait on kqueues that we didn't touch.

Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D56210
DeltaFile
+12-10sys/kern/kern_event.c
+12-101 files

FreeBSD/src 14d0bafsys/kern kern_event.c

kqueue: avoid a possible fork-deadlock

kqueue_fork_copy() is likely to have transitioned at least one knote
through a flux state, so we should check whether we need to wake
anything up on the way out to avoid a possible deadlock.

This was a part of D56210, but we'll close the review with the next
commit.

Fixes:  b11289f87123f ("kqueuex(2): add KQUEUE_CPONFORK")
Reviewed by:    kib, markj
DeltaFile
+1-1sys/kern/kern_event.c
+1-11 files

FreeBSD/src 0b4f0e0sys/kern kern_event.c

kqueue: compare against the size in kqueue_expand

This is a cosmetic change, rather than a functional one: comparing the
knlistsize against the fd requires a little bit of mental gymnastics to
confirm that this is fine and not doing unnecessary work in some cases.

Notably, one must consider that kq_knlistsize only grows in KQEXTENT
chunks, which means that concurrent threads trying to grow the kqueue
to consecutive fds will usually not result in the list being replaced
twice.  One can also more clearly rule out classes of arithmetic
problems in the final `else` branch.

Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D56209
DeltaFile
+6-4sys/kern/kern_event.c
+6-41 files

FreeBSD/src 5d4a39dsys/compat/linux linux_socket.c linux_socket.h

compat/linux: map TCP_USER_TIMEOUT sockopt into TCP_MAXUNACKTIME

After reading both manual pages, our TCP_MAXUNACKTIME is fairly
similar to the TCP_USER_TIMEOUT, the only considerable difference
is ours is in seconds and linux's in milliseconds.

Round up linux's in setsockopt(2) to a next whole second and
clamp ours getter to UINT_MAX ms.

Reviewed by:    tuexen, glebius
Differential Revision: https://reviews.freebsd.org/D56168
MFC after:      2 weeks
Sponsored by:   Sippy Software, Inc.
DeltaFile
+61-0sys/compat/linux/linux_socket.c
+1-0sys/compat/linux/linux_socket.h
+62-02 files

FreeBSD/src 970e0dbusr.sbin/bhyve iov.c iov.h

bhyve/virtio: Fix comparison of integer expressions of different signedness

It's a bit silly to have iov_to_buf() and buf_to_iov() return a ssize_t
to begin with, just to be able to return -1 for error. Change this to
size_t and use 0 as an error indicator, which won't require any changes
to the code using these functions.

While here, switch iov_to_buf() to use reallocf() instead of realloc().

Reviewed by: jhb
Fixes: 2a514d377b37 ("bhyve/virtio-scsi: Preallocate all I/O requests")
Differential Revision: https://reviews.freebsd.org/D55800
DeltaFile
+5-5usr.sbin/bhyve/iov.c
+2-2usr.sbin/bhyve/iov.h
+7-72 files

FreeBSD/src a4a3825stand/efi/loader main.c

loader(8): embedded MD should be the most preferred currdev

A loader built with MD_IMAGE_SIZE is almost always meant for use with
its embedded image and should try that as currdev before anything else.
Recent changes (d69fc3a9dc71, 784150fd2535) seem to have relaxed the ZFS
code's search for a rootfs and exposed this problem.

Reviewed by:    imp, tsoome
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D55979

(cherry picked from commit 0661997cea165e951e4e215e6aed41596d8b1d52)
DeltaFile
+9-9stand/efi/loader/main.c
+9-91 files

FreeBSD/src 4fed52fstand/efi/loader main.c

loader(8): embedded MD should be the most preferred currdev

A loader built with MD_IMAGE_SIZE is almost always meant for use with
its embedded image and should try that as currdev before anything else.
Recent changes (d69fc3a9dc71, 784150fd2535) seem to have relaxed the ZFS
code's search for a rootfs and exposed this problem.

Reviewed by:    imp, tsoome
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D55979

(cherry picked from commit 0661997cea165e951e4e215e6aed41596d8b1d52)
DeltaFile
+9-9stand/efi/loader/main.c
+9-91 files

FreeBSD/src d0afeadsys/fs/cd9660 cd9660_rrip.c

cd9660: Add length checks to Rock Ridge parser

* cd9660_rrip_slink() did not check that the lengths of individual
  entries do not exceed the length of the overall record.

* cd9660_rrip_altname() did not check that the length of the record
  was at least 5 before subtracting 5 from it.

Note that in both cases, a better solution would be to check the length
of the data before calling the handler, or immediately upon entry of
the handler, but this would require significant refactoring.

MFC after:      1 week
Reported by:    Calif.io in collaboration with Claude and Anthropic Research
Reported by:    Adam Crosser, Praetorian
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D56215
DeltaFile
+4-0sys/fs/cd9660/cd9660_rrip.c
+4-01 files

FreeBSD/src 759d8a1sbin/route route_netlink.c

route(8): Show weight of nexthop in multipath routes

Reviewed by: zlei, markj
Differential Revision: https://reviews.freebsd.org/D56202
DeltaFile
+2-1sbin/route/route_netlink.c
+2-11 files

FreeBSD/src 5bb0f63sys/compat/linuxkpi/common/include/linux sysfs.h

linuxkpi: Handle bin attributes in sysfs attribute groups

For instance, this is used by DRM drivers to declare the EDID property
of an GPU output connector:

    sysctl -b sys.device.drmn1.card0.card0-DP-1.edid | edid-decode

    ...
    Block 0, Base EDID:
      EDID Structure Version & Revision: 1.4
      Vendor & Product Identification:
        Manufacturer: SAM
        Model: 29814
        Serial Number: 810635354 (0x3051505a)
        Made in: week 15 of 2025
    ...

Reviewed by:    bz, emaste, wulf
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55176
DeltaFile
+25-9sys/compat/linuxkpi/common/include/linux/sysfs.h
+25-91 files

FreeBSD/src 607f6beusr.sbin/rtadvd config.c

rtadvd: Fix validation of the MTU parameter when parsing config

MFC after:      1 week
DeltaFile
+1-1usr.sbin/rtadvd/config.c
+1-11 files

FreeBSD/src 683f7a8sys/dev/acpica acpi_spmc.c

acpi_spmc: Call new MS turn on display DSM

Microsoft added a new function index (turn on display, 9) to their DSM
set. This revision calls this, which fixes S0ix on certain machines,
such as the Lenovo Yoga Slim 7i Aura, who's ECs use this method as a
trigger to restore power to certain devices.

See commit 229ecbaac6b3 ("ACPI: x86: s2idle: Invoke Microsoft _DSM
Function 9 (Turn On Display)") on Linux.

Also see the following:
https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby-firmware-notifications#turn-on-display-notification-function-9

Reviewed by:    olce
Approved by:    olce
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D56062
DeltaFile
+20-5sys/dev/acpica/acpi_spmc.c
+20-51 files

FreeBSD/src 0307db7sys/dev/acpica acpi_spmc.c

acpi_spmc: Fail probe if acpi_spmc device already attached

We cannot have more than one SPMC device.

Reviewed by:    olce
Approved by:    olce
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D56062
DeltaFile
+5-0sys/dev/acpica/acpi_spmc.c
+5-01 files

FreeBSD/src 0dbbed2sys/netinet6 ip6_mroute.c

ip6_mroute: Fix the type name in sysctl_mfctable()

No functional change since apparently it's fine to compute the size of
a pointer type when the base type is undefined.

Fixes:  0bb9c2b665d9 ("ip6_mroute: FIBify")
DeltaFile
+1-1sys/netinet6/ip6_mroute.c
+1-11 files

FreeBSD/src f3c7723sys/dev/vmm vmm_dev.c, sys/kern kern_jail.c

vmm: Restore the ability to create VMs as root in a jail

The new PRIV_VMM_CREATE and DESTROY permissions should be allowed by
jails, so need to be added to the list in prison_priv_check().  Then,
modify vmmdev_create() to verify that the jail was created with the
allow.vmm flag.  This is already verified when opening /dev/vmmctl, but
checking again doesn't hurt and ensures that one can't pass the
allow.vmm policy by passing a vmmctl fd along a unix domain socket from
outside the jail.

Rename vmm_priv_check() to vmm_jail_priv_check() to make the function's
purpose more clear.

Reported by:    novel
Reviewed by:    bnovkov
Fixes:          d4c05edd410e ("vmm: Add privilege checks to vmmctl operations")
Differential Revision:  https://reviews.freebsd.org/D56119
DeltaFile
+11-5sys/dev/vmm/vmm_dev.c
+8-0sys/kern/kern_jail.c
+19-52 files

FreeBSD/src c6a1c12sys/amd64/amd64 pmap.c, sys/arm/arm pmap-v6.c

pmap: Do not use PMAP_LOCK_INIT with kernel_pmap

The kernel_pmap lock is a bit special: it does not need the DUPOK flag,
and it really belongs to a different lock class.  If it belongs to the
same class as regular pmap locks, then witness may report warnings when
performing UMA allocations under a regular pmap lock, if the allocation
triggers a pmap_growkernel() call.

Replace instances of PMAP_LOCK_INIT(kernel_pmap) with inline mtx_init()
calls to silence some witness warnings for harmless behaviour I see with
some uncommitted test programs.

Reviewed by:    alc, kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D56185
DeltaFile
+1-1sys/amd64/amd64/pmap.c
+1-1sys/arm/arm/pmap-v6.c
+1-1sys/arm64/arm64/pmap.c
+1-1sys/i386/i386/pmap.c
+1-1sys/powerpc/aim/mmu_oea.c
+1-1sys/powerpc/aim/mmu_oea64.c
+6-63 files not shown
+9-99 files

FreeBSD/src f5b5e29. Changes, doc reference.html xmlwf.xml

Vendor import of expat 2.7.5
DeltaFile
+2,814-1,863doc/reference.html
+244-244doc/xmlwf.xml
+130-56xmlwf/xmlwf_helpgen.py
+112-61lib/xmlparse.c
+141-18Changes
+119-0lib/libexpat.map.in
+3,560-2,24227 files not shown
+3,817-2,33433 files

FreeBSD/src f3b59bfsys/dev/bce if_bce.c

bce: Fix SYSCTL_IN error check in bce_sysctl_nvram_write()

The condition after SYSCTL_IN was inverted: success (error == 0) returned
immediately and skipped the NVRAM write path, while failure fell through.
Return only when SYSCTL_IN fails.

Signed-off-by: Weixie Cui <cuiweixie at gmail.com>
Reviewed-by: ngie
Pull-Request: https://github.com/freebsd/freebsd-src/pull/2113
DeltaFile
+1-1sys/dev/bce/if_bce.c
+1-11 files