HardenedBSD/src e78ac23contrib/less less.nro screen.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+1,013-472contrib/less/less.nro
+337-149contrib/less/screen.c
+215-142contrib/less/lesskey.nro
+106-50contrib/less/mark.c
+80-56contrib/less/cmdbuf.c
+69-67contrib/less/option.c
+1,820-93660 files not shown
+2,818-1,48166 files

HardenedBSD/src 8caf27dcrypto/heimdal/kdc mit_dump.c, sys/dev/iicbus iicbb.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+4-3sys/dev/iicbus/iicbb.c
+1-1crypto/heimdal/kdc/mit_dump.c
+5-42 files

HardenedBSD/ports d18b349comms/py-streamdeck distinfo, devel/py-spin Makefile

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+31-31devel/py-ty/distinfo
+15-15devel/py-ty/Makefile.crates
+23-0devel/py-spin/Makefile
+20-0devel/py-yamllint/files/patch-pyproject.toml
+3-3emulators/86Box/distinfo
+3-3comms/py-streamdeck/distinfo
+95-5214 files not shown
+122-7120 files

HardenedBSD/src 4a71fc3sys/dev/acpica acpivar.h acpi.c

acpi: Post/pre device suspend/resume eventhandlers

These eventhandlers are called after suspending the device tree and
before resuming it. This is useful for PMC (power management controller)
drivers.

Reviewed by:    olce
Approved by:    olce
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D48735
DeltaFile
+3-1sys/dev/acpica/acpivar.h
+2-0sys/dev/acpica/acpi.c
+5-12 files

HardenedBSD/src fedc974sys/dev/acpica acpi_spmc.c

acpi_spmc: Register SPMC suspend/resume routines

SPMC suspend runs after the device tree is suspended using the
acpi_post_dev_suspend eventhandler, and SPMC resume runs before the
device tree is resumed using the acpi_pre_dev_suspend eventhandler.

Reviewed by:    olce
Approved by:    olce
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D48735
DeltaFile
+31-14sys/dev/acpica/acpi_spmc.c
+31-141 files

HardenedBSD/src a2a9a77crypto/heimdal/kdc mit_dump.c

heimdal: Pass the correct pointer to realloc when growing a string buffer

The realloc in my_fgetln was trying to grow the pointer to the string
buffer, not the string buffer itself.

In function 'my_fgetln',
    inlined from 'mit_prop_dump' at crypto/heimdal/kdc/mit_dump.c:156:19:
crypto/heimdal/kdc/mit_dump.c:119:13: error: 'realloc' called on unallocated object 'line' [-Werror=free-nonheap-object]
  119 |         n = realloc(buf, *sz + (*sz >> 1));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/heimdal/kdc/mit_dump.c: In function 'mit_prop_dump':
crypto/heimdal/kdc/mit_dump.c:139:11: note: declared here
  139 |     char *line = NULL;
      |           ^~~~

Reviewed by:    rmacklem, cy
Fixes:          a93e1b731ae4 ("heimdal-kadmin: Add support for the -f dump option")
Differential Revision:  https://reviews.freebsd.org/D54933

(cherry picked from commit 03d8ac948b1ad9c419b294c3129b7da58d818363)
DeltaFile
+1-1crypto/heimdal/kdc/mit_dump.c
+1-11 files

HardenedBSD/src fc0c921sys/dev/iicbus iicbb.c

iicbb: Fix gcc12 complaint

So gcc12 doesn't understand that t->udelay is >= 1, so thinks that noack
might be unset sometimes. While we specifically constrain this on direct
assignment, there's a sysctl that might not. This is likely also a bug.
Instead of uglifying everything by using MAX(1, sc->udelay), I rewrote
the for loop as a do-while loop (which arguably dictates intent better
because this code clearly assumes it will be executed once).

Sponsored by:           Netflix

(cherry picked from commit 4b301f7e7ab43bb61561786c2ab33f3a3c4a725d)
DeltaFile
+4-3sys/dev/iicbus/iicbb.c
+4-31 files

HardenedBSD/src 4bfb7cfusr.bin/runat runat.c

runat: Add -h to manipulate a symlink's named attribute dir

Lionel Cons <lionelcons1972 at gmail.com> requested
that a new option be added to runat(1) so that it could
be used to manipulate named attributes associated with
a symbolic link and not the file the symbolic link refers to).

This patch adds the option -h/--nofollow to do this.

Requested by:   Lionel Cons <lionelcons1972 at gmail.com>
Reviewed by:    kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D55023
DeltaFile
+28-7usr.bin/runat/runat.c
+28-71 files

HardenedBSD/ports 12d307fcomms/py-streamdeck distinfo Makefile

comms/py-streamdeck: Update to version 0.9.8

ChangeLog:
https://github.com/abcminiuser/python-elgato-streamdeck/blob/0.9.8/CHANGELOG

Approved by:    eduardo (mentor, implicit)
MFH:            2026Q1
DeltaFile
+3-3comms/py-streamdeck/distinfo
+1-1comms/py-streamdeck/Makefile
+4-42 files

HardenedBSD/ports 618c8e3emulators/86Box distinfo Makefile

emulators/86Box: Update to version 5.3

ChangeLog:      https://86box.net/2025/12/21/86box-v5-3.htmlA
Approved by:    eduardo (mentor, implicit)
MFH:            2026Q1
DeltaFile
+3-3emulators/86Box/distinfo
+1-1emulators/86Box/Makefile
+4-42 files

HardenedBSD/src b941d1csys/dev/sym sym_hipd.c

sym(4): Map HCB memory as uncacheable also on x86

As part of making the chip-specific mix and match of different accesses
(DMA/bus space) work as desired, the intent is to map the HCB memory as
uncacheable. Prior to VM_MEMATTR_*, the !x86 way of indicating this to
bus_dmamem_alloc(9) was BUS_DMA_COHERENT. Then later on in 2db99100a4,
BUS_DMA_NOCACHE was hooked up to VM_MEMATTR_UNCACHEABLE for x86. As it
turns out, still as of today bus_dmamem_alloc(9) differs in this regard
across architectures. On arm, it still supports BUS_DMA_COHERENT only
for requesting uncacheable DMA and x86 still uses BUS_DMA_NOCACHE only.
On arm64 and riscv, BUS_DMA_COHERENT seems to effectively be an alias
for BUS_DMA_NOCACHE.

Thus, allocate the HCB memory with BUS_DMA_COHERENT | BUS_DMA_NOCACHE,
so we get uncacheable memory on all architectures including x86 and so
loads and stores from/to HCB won't get reordered. However, even on x86
we still need to use at least compiler barriers to achieve the desired
program order.


    [10 lines not shown]
DeltaFile
+19-27sys/dev/sym/sym_hipd.c
+19-271 files

HardenedBSD/src bfbcd31sys/dev/sym sym_hipd.c

Revert "sym(4): Employ memory barriers also on x86"

The problem will be avoided in a different way.

This reverts commit e769bc77184312b6137a9b180c97b87c0760b849.
DeltaFile
+26-14sys/dev/sym/sym_hipd.c
+26-141 files

HardenedBSD/ports c1d4c7dlang/python314 Makefile

lang/python314: limit compileall to MAKE_JOBS_NUMBER

This seems to help with cross-builds (qemu) for RISC-V machines.

Obtained from:          Siva Mahadevan
Differential Revision:  https://reviews.freebsd.org/D55050
DeltaFile
+2-1lang/python314/Makefile
+2-11 files

HardenedBSD/ports d0d7964devel/py-ty distinfo Makefile.crates

devel/py-ty: Update to 0.0.14

Changelog: https://github.com/astral-sh/ty/blob/0.0.14/CHANGELOG.md

Reported by:    Repology
DeltaFile
+31-31devel/py-ty/distinfo
+15-15devel/py-ty/Makefile.crates
+1-2devel/py-ty/Makefile
+47-483 files

HardenedBSD/src 18d47c1contrib/netbsd-tests/lib/libc/rpc t_rpc.c, include/rpc clnt.h

rpc: correct resultproc_t's type

It takes exactly three arguments of known type.

Tweak the types of various resultproc_t functions to match the type (mostly
added const to struct pointers) allowing us to drop casts.

Effort:         CHERI upstreaming
Reviewed by:    vangyzen, glebius
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54941
DeltaFile
+5-3usr.bin/rpcinfo/rpcinfo.c
+5-3lib/libc/rpc/rpc_soc.c
+3-2contrib/netbsd-tests/lib/libc/rpc/t_rpc.c
+2-1include/rpc/clnt.h
+15-94 files

HardenedBSD/src e236502include/rpc pmap_clnt.h, lib/libc/rpc rpc_soc.c

clnt_broadcast(3): fix eachresult argument type

The `eachresult` argument is documented to take a function pointer of
type:

        bool_t (*)(caddr_t, struct sockaddr_in *)

It was declared to take a resultproc_t which has historically been
declared to be:

        bool_t (*resultproc_t)(caddr_t, ...);

This overlapped well enough for currently supported ABIs where variadic
arguments are passed in registers, but this declaration is misaligned
with the documentation (resultproc_t takes three arguments) and will be
fixed in a followup commit.

Fix the type to be non-variadic, matching callbacks, and define a
convenience type of as most callbacks take something other than a char *

    [6 lines not shown]
DeltaFile
+3-2lib/libc/rpc/rpc_soc.c
+3-1include/rpc/pmap_clnt.h
+2-2usr.sbin/bootparamd/callbootd/callbootd.c
+1-1usr.bin/rusers/rusers.c
+1-1usr.sbin/ypbind/ypbind.c
+1-1usr.bin/rup/rup.c
+11-86 files

HardenedBSD/src 47413f2lib/libc/rpc rpc_soc.c

clnt_broadcast(3): don't free function pointers

Replace use of thr_getspecific/thr_setspecific to stash the function
pointer we're smuggling between clnt_broadcast and rpc_wrap_bcast with a
simple thread local variable.  Clear it after use so the reference
doesn't linger.

In the relatively unlikely event clnt_broadcast was called from threads
that exited prior to program termination, the previous code called free
on a function pointer, which is undefined and might corrupted allocator
state.

Effort:         CHERI upstreaming
Reviewed by:    glebius, jhb
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54939
DeltaFile
+10-25lib/libc/rpc/rpc_soc.c
+10-251 files

HardenedBSD/src dafba19contrib/less less.nro screen.c

MFV less v691

Relnotes:       yes
MFC after:      2 weeks
DeltaFile
+1,013-472contrib/less/less.nro
+337-149contrib/less/screen.c
+215-142contrib/less/lesskey.nro
+106-50contrib/less/mark.c
+69-67contrib/less/option.c
+80-56contrib/less/cmdbuf.c
+1,820-93643 files not shown
+2,654-1,38749 files

HardenedBSD/ports 0610453devel/py-yamllint distinfo Makefile, devel/py-yamllint/files patch-pyproject.toml

devel/py-yamllint: update to 1.38.0

Add patches around our lack of a recent py-setuptools

Changes:        https://github.com/adrienverge/yamllint/blob/v1.38.0/CHANGELOG.rst
Reported by:    repology
DeltaFile
+20-0devel/py-yamllint/files/patch-pyproject.toml
+3-3devel/py-yamllint/distinfo
+1-1devel/py-yamllint/Makefile
+24-43 files

HardenedBSD/src 69f5355. RELNOTES

RELNOTES:  Add entry for 7f54c65abc67
DeltaFile
+7-0RELNOTES
+7-01 files

HardenedBSD/ports 6d3bb9bdevel/py-types-jsonschema distinfo Makefile, devel/py-types-jsonschema/files patch-pyproject.toml

textproc/py-rich: update to 14.3.2

Changes:        https://github.com/Textualize/rich/blob/v14.3.2/CHANGELOG.md
Reported by:    repology
DeltaFile
+3-3devel/py-types-jsonschema/distinfo
+2-2devel/py-types-jsonschema/files/patch-pyproject.toml
+1-1devel/py-types-jsonschema/Makefile
+6-63 files

HardenedBSD/ports 4668fe3textproc/py-rich distinfo Makefile

textproc/py-rich: update to 14.3.2

Changes:        https://github.com/Textualize/rich/blob/v14.3.2/CHANGELOG.md
Reported by:    repology
DeltaFile
+3-3textproc/py-rich/distinfo
+1-1textproc/py-rich/Makefile
+4-42 files

HardenedBSD/src 32c3723tests/sys/netgraph ksocket.c

tests/netgraph: fix tests that depended on connect(in6addr_any)

Fixes:  627e126dbb07b167b028380ef61bb45f10493938
DeltaFile
+3-0tests/sys/netgraph/ksocket.c
+3-01 files

HardenedBSD/ports 4d6a050devel Makefile, devel/py-spin Makefile pkg-descr

devel/py-spin: Add new port

Scientific Python INcantations (spin) is a developer tool
for scientific Python libraries.

https://pypi.python.org/pypi/spin
DeltaFile
+23-0devel/py-spin/Makefile
+4-0devel/py-spin/pkg-descr
+3-0devel/py-spin/distinfo
+1-0devel/Makefile
+31-04 files

HardenedBSD/src a8e9219sys/fs/devfs devfs_vnops.c

devfs: unlock the directory vnode around the call to dev_clone handler

The lock around dev_clone is unfortunate because cloner might need to
take its own locks that establish the order with devfs vnodes, and then
transiently participates in further VFS locks order.  For instance, this
way the proctree_lock or allproc_lock become involved.

Unlock dvp, we can unwind if the vnode become doomed while cloner was
called.

Reported and tested by: pho
Reviewed by:    kevans, markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55028
DeltaFile
+20-0sys/fs/devfs/devfs_vnops.c
+20-01 files

HardenedBSD/ports 2679b88devel/kBuild Makefile

HBSD: Resolve merge conflict

Signed-off-by:  Shawn Webb <shawn.webb at hardenedbsd.org>
DeltaFile
+0-7devel/kBuild/Makefile
+0-71 files

HardenedBSD/ports d079617devel/kBuild Makefile, emulators/flycast distinfo Makefile

Merge remote-tracking branch 'origin/freebsd/main' into hardenedbsd/main

Conflicts:
        devel/kBuild/Makefile (unresolved)
DeltaFile
+29-11www/mod_auth_gssapi/Makefile
+16-14devel/kBuild/Makefile
+25-2emulators/flycast/files/patch-CMakeLists.txt
+15-9emulators/flycast/distinfo
+10-9emulators/flycast/Makefile
+2-10emulators/flycast/files/patch-core_rend_vulkan_vulkan__context.cpp
+97-5524 files not shown
+213-9230 files

HardenedBSD/src 8b22a37lib/libc/gen directory.3, sbin/nvmecontrol telemetry.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+199-0sys/dev/smartpqi/smartpqi_ioctl.c
+52-38lib/libc/gen/directory.3
+30-38sys/netinet6/ip6_mroute.c
+19-37usr.bin/diff3/diff3.c
+23-15sbin/nvmecontrol/telemetry.c
+6-13usr.bin/diff/pr.c
+329-14136 files not shown
+415-18642 files

HardenedBSD/ports 614cec6devel/kBuild Makefile distinfo, devel/kBuild/files patch-src_kmk_glob_fnmatch.c patch-src_kmk_getopt.h

devel/kBuild: Update 0.1.9998r3660 => 0.1.9998r3687, fix build with GCC 15

Commit log:
https://trac.netlabs.org/kbuild/changeset?reponame=&new=3687%40trunk&old=3660%40trunk

PR:     292692 292801
DeltaFile
+13-18devel/kBuild/Makefile
+11-0devel/kBuild/files/patch-src_kmk_glob_fnmatch.c
+11-0devel/kBuild/files/patch-src_kmk_getopt.h
+11-0devel/kBuild/files/patch-src_oldsed_lib_getopt.h
+3-3devel/kBuild/distinfo
+2-0devel/kBuild/pkg-plist
+51-216 files

HardenedBSD/ports 78992d8audio/rubberband/files patch-src_common_mathmisc.h

audio/rubberband: fix build with libc++ 21

With libc++ 21 audio/rubberband fails to build, with errors similar to:

    In file included from ../src/common/mathmisc.cpp:24:
    ../src/common/mathmisc.h:58:1: error: unknown type name 'size_t'; did you mean 'std::size_t'?
       58 | size_t roundUp(size_t value); // to nearest power of two
          | ^~~~~~
          | std::size_t
    /usr/include/c++/v1/__cstddef/size_t.h:20:7: note: 'std::size_t' declared here
       20 | using size_t = decltype(sizeof(int));
          |       ^

This is because mathmisc.h depended on <stddef.h> being transitively
included, which is no longer the case. Add #include <stddef.h> to fix
the problem.

PR:             292868
Approved by:    acm (maintainer)
MFH:            2026Q1
DeltaFile
+10-0audio/rubberband/files/patch-src_common_mathmisc.h
+10-01 files