HardenedBSD/src 419ae51 — sys/amd64/amd64 sigtramp.S, sys/amd64/ia32 ia32_sigtramp.S

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+27-17sys/amd64/amd64/sigtramp.S
+13-6sys/amd64/ia32/ia32_sigtramp.S
+13-0sys/x86/include/specialreg.h
+10-0sys/x86/x86/identcpu.c
+1-0sys/x86/include/x86_var.h
+64-235 files

HardenedBSD/src f635f8e — sys/amd64/amd64 sigtramp.S, sys/amd64/ia32 ia32_sigtramp.S

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+27-17sys/amd64/amd64/sigtramp.S
+13-6sys/amd64/ia32/ia32_sigtramp.S
+13-0sys/x86/include/specialreg.h
+10-0sys/x86/x86/identcpu.c
+1-0sys/x86/include/x86_var.h
+64-235 files

HardenedBSD/src d1c4838 — sys/x86/include x86_var.h specialreg.h, sys/x86/x86 identcpu.c

x86: add cpu_stdext_feature5

(cherry picked from commit 71f08bfa02a93d5d165ce96abc9077f36e4963b6)
DeltaFile
+10-0sys/x86/x86/identcpu.c
+5-0sys/x86/include/specialreg.h
+1-0sys/x86/include/x86_var.h
+16-03 files

HardenedBSD/src d504e58 — sys/x86/include specialreg.h

x86: add definitions for the CORE_CAP and MEMORY_CTL MSRs

(cherry picked from commit 9aa031eb927720e26c8c11ce697f1c691ca0ef75)
DeltaFile
+8-0sys/x86/include/specialreg.h
+8-01 files

HardenedBSD/src 9d436d9 — sys/amd64/amd64 sigtramp.S, sys/amd64/ia32 ia32_sigtramp.S

amd64/*sigtramp.S: re-enable some cfi annotations for special registers

(cherry picked from commit 64a73d1b6dc93d92daea1e2d0603fda1dddadf4a)
DeltaFile
+27-17sys/amd64/amd64/sigtramp.S
+13-6sys/amd64/ia32/ia32_sigtramp.S
+40-232 files

HardenedBSD/src 8832483 — lib/libthr libthr.3, lib/libthr/thread thr_init.c thr_pshared.c

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/cross-dso-cfi
DeltaFile
+62-0sbin/ifconfig/ifue.c
+14-11sys/compat/linux/linux_event.c
+22-3lib/libthr/thread/thr_pshared.c
+7-1lib/libthr/libthr.3
+4-0sbin/ifconfig/Makefile
+3-0lib/libthr/thread/thr_init.c
+112-151 files not shown
+113-157 files

HardenedBSD/src 0d19909 — lib/libthr libthr.3, lib/libthr/thread thr_init.c thr_pshared.c

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+62-0sbin/ifconfig/ifue.c
+14-11sys/compat/linux/linux_event.c
+22-3lib/libthr/thread/thr_pshared.c
+7-1lib/libthr/libthr.3
+4-0sbin/ifconfig/Makefile
+3-0lib/libthr/thread/thr_init.c
+112-151 files not shown
+113-157 files

HardenedBSD/src a872f29 — lib/libthr libthr.3, lib/libthr/thread thr_init.c thr_pshared.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+62-0sbin/ifconfig/ifue.c
+14-11sys/compat/linux/linux_event.c
+22-3lib/libthr/thread/thr_pshared.c
+7-1lib/libthr/libthr.3
+4-0sbin/ifconfig/Makefile
+3-0lib/libthr/thread/thr_init.c
+112-151 files not shown
+113-157 files

HardenedBSD/src 4472a04 — lib/libthr/thread thr_private.h thr_init.c

libthr: GC pshared locks not more than each 25msecs by default

Provide a tunable env variable to request immediate GC on destroy
to allow to return to the previous behavior.

Based on the report and patch by Atle Solbakken <atle.solbakken at gmail.com>.
PR:     268532
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
DeltaFile
+22-3lib/libthr/thread/thr_pshared.c
+3-0lib/libthr/thread/thr_init.c
+1-0lib/libthr/thread/thr_private.h
+26-33 files

HardenedBSD/src c2f66b6 — lib/libthr libthr.3

libthr.3: document LIBPTHREAD_PSHARED_LOCK_DESTROY_IMMEDIATE_GC

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
DeltaFile
+7-1lib/libthr/libthr.3
+7-11 files

HardenedBSD/src ef27f78 — sbin/ifconfig Makefile ifue.c

ifconfig(8): show parent device for USB Ethernet interfaces

Report net.ue.<unit>.%parent as "parent interface", consistent with
wlan(4):

  # ifconfig ue0
  ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
          ether 00:00:5e:00:53:2a
          inet 192.0.2.10/24 broadcast 192.0.2.255
          parent interface: ure0
          media: Ethernet autoselect (2500Base-T <full-duplex>)
          status: active

Reviewed by:    aokblast
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59060
DeltaFile
+62-0sbin/ifconfig/ifue.c
+4-0sbin/ifconfig/Makefile
+66-02 files

HardenedBSD/src 16a284b — sys/compat/linux linux_event.c

linux(4): Fix signal mask restoration in epoll_pwait(2)/epoll_pwait2(2)

Since 80c7315d17ce ("Restore signal mask in epoll_pwait.") the caller's
signal mask is saved in a local variable, but TDP_OLDMASK is still set
and the TDA_SIGSUSPEND AST is still scheduled.  On return to user mode
that AST, or postsig() if a signal is delivered, then installs
td_oldsigmask, which this code never writes and which holds whatever
mask the thread had at its last sigsuspend(2), pselect(2) or ppoll(2).
As a result every epoll_pwait(2)/epoll_pwait2(2) call with a non-NULL
sigmask can leave the thread with a stale signal mask.  In addition, the
explicit restore at the end overwrote the return value, so EINTR (and
any other error) was reported to user space as 0.

Save the old mask in td_oldsigmask and let the AST restore it, as
kern_pselect() and kern_poll_kfds() do: schedule TDA_SIGSUSPEND if the
wait was interrupted, so the signal is delivered with the temporary mask
in place, and TDA_PSELECT otherwise.  This matches Linux, which restores
the saved mask unless the syscall returns -EINTR.


    [11 lines not shown]
DeltaFile
+14-11sys/compat/linux/linux_event.c
+14-111 files

HardenedBSD/src 96f13d8 — lib/geom/cache gcache.8, lib/geom/concat gconcat.8

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/cross-dso-cfi
DeltaFile
+11-1lib/geom/mirror/gmirror.8
+11-1lib/geom/label/glabel.8
+11-1lib/geom/journal/gjournal.8
+11-1lib/geom/eli/geli.8
+11-1lib/geom/concat/gconcat.8
+11-1lib/geom/cache/gcache.8
+66-613 files not shown
+184-2119 files

HardenedBSD/src 3d62715 — lib/geom/cache gcache.8, lib/geom/concat gconcat.8

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+11-1lib/geom/mirror/gmirror.8
+11-1lib/geom/label/glabel.8
+11-1lib/geom/journal/gjournal.8
+11-1lib/geom/eli/geli.8
+11-1lib/geom/concat/gconcat.8
+11-1lib/geom/cache/gcache.8
+66-613 files not shown
+184-2119 files

HardenedBSD/src 5539a70 — sys/dev/evdev evdev_utils.c, sys/dev/ichiic ig4_reg.h ig4_acpi.c

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+9-4sys/dev/evdev/evdev_utils.c
+11-0sys/dev/ichiic/ig4_iic.c
+10-0sys/dev/ichiic/ig4_acpi.c
+1-0sys/dev/ichiic/ig4_reg.h
+31-44 files

HardenedBSD/src abfddd1 — lib/geom/cache gcache.8, lib/geom/concat gconcat.8

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+11-1lib/geom/mirror/gmirror.8
+11-1lib/geom/label/glabel.8
+11-1lib/geom/journal/gjournal.8
+11-1lib/geom/eli/geli.8
+11-1lib/geom/concat/gconcat.8
+11-1lib/geom/cache/gcache.8
+66-613 files not shown
+184-2119 files

HardenedBSD/src 10b1f8e — sys/dev/evdev evdev_utils.c, sys/dev/ichiic ig4_reg.h ig4_acpi.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+9-4sys/dev/evdev/evdev_utils.c
+11-0sys/dev/ichiic/ig4_iic.c
+10-0sys/dev/ichiic/ig4_acpi.c
+1-0sys/dev/ichiic/ig4_reg.h
+31-44 files

HardenedBSD/src 1d94247 — lib/geom/cache gcache.8, lib/geom/concat gconcat.8

geom: Document existing --libxo support in the manual pages

The standard list and status subcommands of every GEOM class emit
through libxo, and so does geom -p, but only geom.8 (list, status) and
gpart.8 (show) mentioned it.  Mark the list and status forms with
--libxo in all class manual pages, add the option description, and
cross-reference xo_options(7).  Also mark geom -p in geom.8.

Only forms whose output already goes through libxo are marked;
class-specific verbs such as gmirror dump still print directly and are
left alone.

Reviewed by:    adrian, bcr, carlavilla, des
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D59574
DeltaFile
+11-1lib/geom/mirror/gmirror.8
+11-1lib/geom/label/glabel.8
+11-1lib/geom/journal/gjournal.8
+11-1lib/geom/eli/geli.8
+11-1lib/geom/concat/gconcat.8
+11-1lib/geom/cache/gcache.8
+66-612 files not shown
+181-1818 files

HardenedBSD/src 9436865 — sys/dev/tpm tpm.c

tpm: Do not use timed tsleep() while polling during cold boot

Commit 4e0f283fb97a made tpm_tis12_init() wait for TPM_STS_CMD_READY
after aborting any command.  The wait is implemented by the driver's
existing tpm_waitfor_poll() loop, which sleeps with a one-tick tsleep()
between status reads.  Until now, that loop only ran from the resume and
command paths after boot.  From tpm_attach() it can panic with "timed
sleep before timers are working" when the TPM is attached from ACPI
during cold boot and the chip does not report ready on the first status
read.

Before 4e0f283fb97a, tpm_tis12_init() wrote TPM_STS_CMD_READY and
returned without waiting, so the polling loops only ran after boot.
tpm_request_locality() had the same latent hazard but its fast path
returns before sleeping whenever locality is already active.

Nothing calls wakeup() on the channels used by these polling loops, so
the sleeps are pure delays.  Use pause_sig(), which falls back to
DELAY() while the kernel is cold and returns EWOULDBLOCK, a value these

    [10 lines not shown]
DeltaFile
+3-3sys/dev/tpm/tpm.c
+3-31 files

HardenedBSD/src 3244419 — sys/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

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

HardenedBSD/src 8603e1f — sys/dev/ichiic ig4_reg.h ig4_acpi.c

ig4(4): fix attach of ACPI-enumerated LPSS controllers

Intel LPSS I2C controllers enumerated through ACPI rather than PCI never
attach on Haswell and Broadwell, so every device behind those buses is
lost. On a Dell XPS 13 9343 that hides the I2C HID touchpad and leaves
only the PS/2 fallback, which the firmware does not restore after S3.

Three causes, all on the ACPI path:

Firmware may leave an LPSS function in D3, where its registers read as
all-ones and set_controller() fails with "controller error during
attach-1". Run _PS0 before mapping them. The PCI path does not need
this, which is why the gap went unnoticed.

INT33C2, INT33C3, INT3432 and INT3433 are Lynx Point-LP and Wildcat
Point-LP, which ig4_pci.c already classifies as IG4_HASWELL; the ACPI
path called everything but APMC0D0F an Atom SoC.

The functional clock stays gated until bit 0 of IG4_REG_CLK_PARMS is

    [14 lines not shown]
DeltaFile
+11-0sys/dev/ichiic/ig4_iic.c
+10-0sys/dev/ichiic/ig4_acpi.c
+1-0sys/dev/ichiic/ig4_reg.h
+22-03 files

HardenedBSD/src 7fcb89a — tests/sys/vfs Makefile abi_root_symlink.sh

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/cross-dso-cfi
DeltaFile
+279-0tests/sys/vfs/abi_root_symlink.sh
+2-0tests/sys/vfs/Makefile
+281-02 files

HardenedBSD/src 6966acd — tests/sys/vfs Makefile abi_root_symlink.sh

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+279-0tests/sys/vfs/abi_root_symlink.sh
+2-0tests/sys/vfs/Makefile
+281-02 files

HardenedBSD/src e1588a5 — tests/sys/vfs Makefile abi_root_symlink.sh

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+279-0tests/sys/vfs/abi_root_symlink.sh
+2-0tests/sys/vfs/Makefile
+281-02 files

HardenedBSD/src b98d169 — tests/sys/vfs Makefile abi_root_symlink.sh

tests/sys/vfs: add ABI-root absolute symlink tests

Pin the overlay namei(9) uses for Linux ABI processes: a target under
the ABI root wins (PR 289739), a native-only target should retry from
the native root (PR 297426), an ENOENT past a resolved ABI target is
not retried, and the plain no-symlink native fallback is unchanged.
Skip without a Linux userland so CI stays green.  The two native-only
cases use atf_expect_fail until the retry lands.

PR:             297426
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D59990
DeltaFile
+279-0tests/sys/vfs/abi_root_symlink.sh
+2-0tests/sys/vfs/Makefile
+281-02 files

HardenedBSD/src 8fda53f — .github CODEOWNERS, sys/arm64/arm64 pmap.c

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/cross-dso-cfi
DeltaFile
+185-45sys/arm64/arm64/pmap.c
+11-28usr.bin/whereis/whereis.c
+26-10usr.bin/whereis/pathnames.h
+4-3sys/vm/vm_page.h
+7-0sys/powerpc/aim/mmu_oea64.c
+2-0.github/CODEOWNERS
+235-863 files not shown
+240-879 files

HardenedBSD/src ab4ebde — .github CODEOWNERS, sys/arm64/arm64 pmap.c

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+185-45sys/arm64/arm64/pmap.c
+11-28usr.bin/whereis/whereis.c
+26-10usr.bin/whereis/pathnames.h
+4-3sys/vm/vm_page.h
+7-0sys/powerpc/aim/mmu_oea64.c
+2-0.github/CODEOWNERS
+235-863 files not shown
+240-879 files

HardenedBSD/src ceea2a3 — contrib/expat/tests basic_tests.c, contrib/less lesskey.c lessmsg

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+342-280contrib/less/opttbl.c
+296-232contrib/less/screen.c
+246-129contrib/less/decode.c
+372-0contrib/less/lessmsg
+0-364contrib/less/lesskey.c
+349-5contrib/expat/tests/basic_tests.c
+1,605-1,010113 files not shown
+4,893-2,665119 files

HardenedBSD/src 452e97a — .github CODEOWNERS, sys/arm64/arm64 pmap.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+185-45sys/arm64/arm64/pmap.c
+11-28usr.bin/whereis/whereis.c
+26-10usr.bin/whereis/pathnames.h
+4-3sys/vm/vm_page.h
+7-0sys/powerpc/aim/mmu_oea64.c
+2-0.github/CODEOWNERS
+235-863 files not shown
+240-879 files

HardenedBSD/src e8da572 — lib/libutil mntopts.c

libutil: Make free_iovec() zero its arguments, like the manpage claims

Approved by: kib
Differential Revision: https://reviews.freebsd.org/D59929
DeltaFile
+2-0lib/libutil/mntopts.c
+2-01 files