HardenedBSD/src cb82cc9lib/msun/tests fma_test.c

lib/msun: add tests for fmaf(3) subnormals

PR:     298260
Reviewed by:    kib
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D59579
DeltaFile
+27-1lib/msun/tests/fma_test.c
+27-11 files

HardenedBSD/src b08e6a3lib/msun/src s_fmaf.c

lib/msun: use the same algorithm for sw fmaf(3) as for fma(3)

This fixes rounding at the last bit for subnormals.

PR:     298260
Reviewed by:    kib
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D59579
DeltaFile
+230-24lib/msun/src/s_fmaf.c
+230-241 files

HardenedBSD/src 8209ceesys/net if_bridge.c

if_bridge: count the drops on the fragmentation path

bridge_pfil() returned a fragmentation failure without counting it,
and bridge_fragment() dropped a chain on three allocation failures
without counting those either.

Count the first on the filtered interface and the others with
ips_odropped, which is what ip_fragment() uses for the same failure
and what bridge_fragment() already uses for its success case.

Reviewed by:    gallatin
Differential Revision:  https://reviews.freebsd.org/D59391
Assisted-by:    Claude Code (Fable 5, Opus 5)
DeltaFile
+9-1sys/net/if_bridge.c
+9-11 files

HardenedBSD/src 26248c3sys/kern uipc_mbuf.c, sys/net if_bridge.c

if_bridge: pull up only the headers bridge_pfil() inspects

bridge_pfil() pulled up min(m_pkthdr.len, max_protohdr) bytes.  When the
mapped head is shorter than that and followed by an unmapped (M_EXTPG)
mbuf -- a sendfile(2) or KTLS segment from a member advertising
IFCAP_MEXTPG -- m_pullup() ran into it and dereferenced a NULL mtod(),
panicking the kernel.

Pull up the Ethernet header first, and the SNAP/LLC header only for an
802.3 frame.  This is similar to pf and ip_output().

m_pullup() and m_copyup() asserted only the first mbuf; assert inside both
copy loops so the shape trips the check.

Fixes:          c38abd64dbc1 ("if_epair: support IFCAP_MEXTPG")
Suggested by:   markj
Reviewed by:    markj, gallatin
Assisted-by:    Claude Code (Fable 5, Opus 5)
DeltaFile
+23-10sys/net/if_bridge.c
+4-0sys/kern/uipc_mbuf.c
+27-102 files

HardenedBSD/src 1624620include/arpa telnet.h

arpa/telnet: Fix a typo in a source code comment

- s/ascic/ASCII/

MFC after:      3 days
DeltaFile
+1-1include/arpa/telnet.h
+1-11 files

HardenedBSD/src 8255ae9sys/kern kern_sysctl.c

sys/kern: Fix a typo in a source code comment

- s/untill/until/

MFC after:      3 days
DeltaFile
+1-1sys/kern/kern_sysctl.c
+1-11 files

HardenedBSD/src 0d022basys/compat/linuxkpi/common/include/linux irq_work.h, sys/compat/linuxkpi/common/src linux_work.c

LinuxKPI: Run irq_work callbacks under RCU protection

Linux executes irq_work callbacks from an interrupt context that
provides implicit RCU read-side protection. LinuxKPI dispatches these
callbacks through a taskqueue, so provide equivalent protection
explicitly.

This prevents an RCU grace period from completing while an irq_work
callback is still using an RCU-protected object.

Suggested by:   wulf
Tested by:      JustAnotherHumanBeing
Signed-off-by:  JustAnotherHumanBeing <oleglelchuk at gmail.com>
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2385
DeltaFile
+3-0sys/compat/linuxkpi/common/src/linux_work.c
+2-0sys/compat/linuxkpi/common/include/linux/irq_work.h
+5-02 files

HardenedBSD/src d8e315bshare/man/man4 Makefile ps5dsense.4, sys/conf files NOTES

hid: Add Sony DualSense gamepad driver

Add a driver for the Sony PS5 DualSense controller (054c:0ce6)
providing gamepad input via evdev, lightbar RGB LED control, and
player indicator LEDs through sysctl.

Signed-off-by:  Christos Longros <chris.longros at gmail.com>
Reviewed by:    ziaee, wulf
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D56345
DeltaFile
+472-0sys/dev/hid/ps5dsense.c
+145-0share/man/man4/ps5dsense.4
+8-0sys/modules/hid/ps5dsense/Makefile
+1-0sys/conf/files
+1-0sys/conf/NOTES
+1-0share/man/man4/Makefile
+628-01 files not shown
+629-07 files

HardenedBSD/src b7e91f2sys/netinet sctp_usrreq.c

sctp: remove unused variable

This fixes the build with gcc 16 after the changes
to -Wunused*[0].

[0] https://gcc.gnu.org/gcc-16/porting_to.html#changes-to-wunused

Reviewed by:    tuexen
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59590
DeltaFile
+2-5sys/netinet/sctp_usrreq.c
+2-51 files

HardenedBSD/src 477c594sys/kern subr_bus.c subr_kobj.c, sys/sys bus.h kobj.h

kobj: allow multiple inheritance with per-class softc

Add support for hierarchical softc layout so that a leaf class and each
of its base classes owns a private softc region inside a single
allocation.

device_get_softc_class(dev, cls) returns a pointer to the softc that
belongs to the requested class.  The classic device_get_softc() still
returns the leaf softc and remains fully compatible with existing
drivers.

Existing drivers are unaffected; they simply obtain a slightly larger
softc block when they inherit from base classes.

MFC after:      2 months
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D59115
DeltaFile
+100-0sys/kern/subr_kobj.c
+25-5sys/sys/kobj.h
+16-3sys/kern/subr_bus.c
+1-0sys/sys/bus.h
+142-84 files

HardenedBSD/src b7541acshare/man/man4 hgame.4 xb360gp.4

game controller manuals: Canonicalize SYNOPSIS

While here, tag SPDX.

Event:                  EuroBSDcon Devsummit 2026
MFC after:              3 days
Reviewed by:            wulf
Differential Revision:  https://reviews.freebsd.org/D59256
DeltaFile
+23-16share/man/man4/ps4dshock.4
+19-17share/man/man4/xb360gp.4
+7-5share/man/man4/hgame.4
+49-383 files

HardenedBSD/src 45f4abeshare/man/man5 rc.conf.5

rc.conf.5: Fix typo

Fixes:          fa7094c5b06f ("Improve NOAUTO configuration")
MFC after:      3 days
Reported by:    Herbert J. Skuhra <herbert at gojira.at>
Event:          EuroBSDcon Devsummit 2026
DeltaFile
+2-2share/man/man5/rc.conf.5
+2-21 files

HardenedBSD/src ef26f64sys/amd64/amd64 pmap.c

amd64/pmap: Return la57 in amd nested page

AMD doesn't encode page depth in eptp. As a result, the page level is
decided by the host la57 value. Without this, it uses 4 level page and
therefore cause machine enable la57 have garbage page translation.

PR:             291768
Reviewed by:    kib
Tested by:      Antranig Vartanian <antranigv at freebsd.am>
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D57978
DeltaFile
+13-1sys/amd64/amd64/pmap.c
+13-11 files

HardenedBSD/src 9b1e74cusr.sbin/pw pw_user.c, usr.sbin/pw/tests Makefile pw_test.sh

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+107-0usr.sbin/pw/tests/pw_unit_test.c
+41-58usr.sbin/pw/pw_user.c
+63-0usr.sbin/pw/tests/pw_userdel_test.sh
+35-0usr.sbin/pw/tests/pw_useradd_test.sh
+20-0usr.sbin/pw/tests/pw_test.sh
+12-3usr.sbin/pw/tests/Makefile
+278-614 files not shown
+292-6610 files

HardenedBSD/src 4105ec2usr.sbin/pw pw_user.c, usr.sbin/pw/tests Makefile pw_test.sh

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+107-0usr.sbin/pw/tests/pw_unit_test.c
+41-58usr.sbin/pw/pw_user.c
+63-0usr.sbin/pw/tests/pw_userdel_test.sh
+35-0usr.sbin/pw/tests/pw_useradd_test.sh
+20-0usr.sbin/pw/tests/pw_test.sh
+12-3usr.sbin/pw/tests/Makefile
+278-614 files not shown
+292-6610 files

HardenedBSD/src 7b4d0f6.github CODEOWNERS

MAINTAINERS/CODEOWNERS: Scheduler: Use globs

Suggested by:   des
DeltaFile
+1-3.github/CODEOWNERS
+1-31 files

HardenedBSD/src eb9e38esys/compat/linuxkpi/common/include/linux fs.h

linuxkpi: Add compat_ptr_ioctl

Adding the `compat_ptr_ioctl` function for amdkfd support it's called by
kfd_chardev.c

Reviewed by:    dumbbell
Differential Revision:  https://reviews.freebsd.org/D58076
DeltaFile
+9-0sys/compat/linuxkpi/common/include/linux/fs.h
+9-01 files

HardenedBSD/src a7f51f6usr.sbin/pw pw_group.c

pw: fix error message in grp_set_passwd to use correct fd

MFC After:      1 week

(cherry picked from commit cd575d557bc090cc9fff41b085bd0aee40a42c38)
DeltaFile
+1-1usr.sbin/pw/pw_group.c
+1-11 files

HardenedBSD/src 81f8462usr.sbin/pw pw_user.c

pw: simplify group lookup in usermod

MFC After:      1 week

(cherry picked from commit 885b0483fe2e1afc45caaf1294b4b755d1c7abae)
DeltaFile
+1-3usr.sbin/pw/pw_user.c
+1-31 files

HardenedBSD/src 4a86c33usr.sbin/pw pw_user.c, usr.sbin/pw/tests pw_userdel_test.sh

pw: fix at job removal when deleting a user

rmat() used stat() with a path relative to the current working
directory, so it never found the job files in /var/at/jobs and the
at(1) jobs of a deleted user were never removed.

ef7d0eb9489f also broke it by introducing a typo: /usr/sbin/atrm instead
of /usr/bin/artm.

Use fstatat() with the directory fd to stat the job files relative to
the at jobs directory, and unlinkat() them directly instead of spawning
atrm.

Those changes allow us to make it works with pw -R.

MFC After:      1 week

(cherry picked from commit 6b6aa45f9a1a35acb7fef68824c1a5eb08503909)
DeltaFile
+29-0usr.sbin/pw/tests/pw_userdel_test.sh
+13-14usr.sbin/pw/pw_user.c
+42-142 files

HardenedBSD/src 8cca719usr.sbin/pw pw_user.c, usr.sbin/pw/tests pw_userdel_test.sh

pw: remove mail file with unlinkat instead of building a path

This is consistent with how at jobs and crontabs are removed.

MFC After:      1 week

(cherry picked from commit 1ccf8075eaa84088ad4acb65aabb1e59c3fddd3f)
DeltaFile
+16-0usr.sbin/pw/tests/pw_userdel_test.sh
+7-4usr.sbin/pw/pw_user.c
+23-42 files

HardenedBSD/src c780045usr.sbin/pw pw_user.c, usr.sbin/pw/tests pw_userdel_test.sh

pw: remove crontab with unlinkat instead of spawning crontab

crontab -r only unlinks the crontab file, so spawn it directly with
unlinkat() relative to conf.rootfd.  This also makes the crontab
removal work with pw -R.

MFC After:      1 week

(cherry picked from commit ba391775e8acb7a539c18f1231a396a7d0d763e9)
DeltaFile
+5-21usr.sbin/pw/pw_user.c
+18-0usr.sbin/pw/tests/pw_userdel_test.sh
+23-212 files

HardenedBSD/src e4922f4usr.sbin/pw pw_user.c

pw: cleanup

No functional change intended.

MFC After:      1 week

(cherry picked from commit 5f5a1657a921c3f7a84ef326c2116d986409e161)
DeltaFile
+21-22usr.sbin/pw/pw_user.c
+21-221 files

HardenedBSD/src bd81f04usr.sbin/pw pw.c, usr.sbin/pw/tests Makefile pw_test.sh

pw: check -M, -V and -R input to avoid dereferencing argv[2]

MFC After: 1 week

(cherry picked from commit 2350f75acb0da0271ccff1fb22381f7e8c5948f8)
DeltaFile
+20-0usr.sbin/pw/tests/pw_test.sh
+8-0usr.sbin/pw/pw.c
+2-1usr.sbin/pw/tests/Makefile
+30-13 files

HardenedBSD/src 0cb7172usr.sbin/pw pw_utils.c pw_user.c, usr.sbin/pw/tests Makefile pw_useradd_test.sh

pw: use _PWDASH pseudo-fd for "-" in pw_checkfd

pw_checkfd() returned the character "-" (45) for the "-" argument,
which was ambiguous with a real file descriptor.

MFC After:      1 week

(cherry picked from commit 92e8a76b87862aa2ee7e6c3f637034e60ffbc2e6)
DeltaFile
+107-0usr.sbin/pw/tests/pw_unit_test.c
+35-0usr.sbin/pw/tests/pw_useradd_test.sh
+9-1usr.sbin/pw/tests/Makefile
+3-3usr.sbin/pw/pw_user.c
+3-3usr.sbin/pw/pw_group.c
+1-1usr.sbin/pw/pw_utils.c
+158-81 files not shown
+159-87 files

HardenedBSD/src fa7094cshare/man/man5 rc.conf.5

rc.conf.5: Improve NOAUTO configuration + tag SPDX

- Show how to start a NOAUTOed interface
- "configured" is not quite right, try to improve that

MFC after:              3 days
Event:                  EuroBSDcon Devsummit 2026
Reviewed by:            adrian
Discussed with:         Antranig Vartanian <antranigv at freebsd.am>
Differential Revision:  https://reviews.freebsd.org/D59571
DeltaFile
+8-3share/man/man5/rc.conf.5
+8-31 files

HardenedBSD/src a99b45elib/libcasper/libcasper zygote.c libcasper.c, lib/libsys pdfork.2

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+11-0lib/libsys/pdfork.2
+7-1sys/kern/kern_fork.c
+1-1lib/libcasper/libcasper/zygote.c
+1-1lib/libcasper/libcasper/libcasper.c
+2-0sys/dev/ntsync/ntsync.c
+22-35 files

HardenedBSD/src 16b0030lib/libcasper/libcasper zygote.c libcasper.c, lib/libsys pdfork.2

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+11-0lib/libsys/pdfork.2
+7-1sys/kern/kern_fork.c
+1-1lib/libcasper/libcasper/zygote.c
+1-1lib/libcasper/libcasper/libcasper.c
+2-0sys/dev/ntsync/ntsync.c
+22-35 files

HardenedBSD/src a8a6eacsys/compat/linux linux_misc.h linux_misc.c

linux: implement prctl PR_{G,S}ET_THP_DISABLE

Since we don't have THP in FreeBSD, return that it's disabled. Linux
applications use this to get around the weird latency spikes THP in
Linux creates. Since FreeBSD superpages don't suffer from this issue,
just say it's disabled.

This removes the noisiest noise from the linux claude running on
FreeBSD.

Sponsored by:           Netflix
DeltaFile
+18-0sys/compat/linux/linux_misc.c
+2-0sys/compat/linux/linux_misc.h
+20-02 files

HardenedBSD/src a259b98sbin/bectl/tests bectl_test.sh, sbin/nvmecontrol/tests basic.sh

tests: skip gracefully when the tested binary's own package isn't installed

pkgbase splits programs and their tests into separate packages (e.g.
unifdef/yacc/indent/file2c -> toolchain, jail -> jail, etc), while their
tests always land in the generic tests package.  Installing just the
tests package therefore leaves these suites unable to find the binary
they exercise, and they fail confusingly instead of skipping.

Rather than force all packages to be installed for the tests package,
make the tests cope with the missing packages.  Add require.progs (or,
for TAP/PLAIN-style suites with no atf_set hook: TEST_METADATA
required_programs) for the binary under test in: bectl, certctl,
ctfconvert, dhclient, file2c, indent, ipfw, jail, lastcomm, mixer,
newsyslog, nvmecontrol, pfctl, praudit, sa, syslogd, tunefs, unifdef,
yacc, ztest.

I skipped adding data for all the binaries in the base runtime
package for simplicity.


    [4 lines not shown]
DeltaFile
+16-0usr.sbin/syslogd/tests/syslogd_test.sh
+10-1sbin/bectl/tests/bectl_test.sh
+10-0usr.sbin/praudit/tests/praudit_test.sh
+10-0sbin/nvmecontrol/tests/basic.sh
+7-1usr.sbin/jail/tests/jail_basic_test.sh
+6-0sbin/tunefs/tests/tunefs_test.sh
+59-215 files not shown
+93-221 files