FreeBSD git weekly: 2025-10-27 to 2025-11-02

Introduction

This is a display of mostly-automatically-classified git commits from 2025-10-27 to 2025-11-02.

In the future, these reports might include summaries or additional information, but for now our focus is figuring out what type of classification would be most useful.

Table of contents and commits per category:

(0) Highlighted commits (these are copies, not in stats)
5 2.3% Userland programs
27 12.4% Documentation
34 15.7% Hardware support
23 10.6% Networking
10 4.6% System administration
12 5.5% Libraries
9 4.1% Filesystems
19 8.8% Kernel
10 4.6% Build system
2 0.9% Internal organizational stuff
4 1.8% Testing
48 22.1% Style, typos, and comments
6 2.8% Contrib code
8 3.7% Reverted commits
0 0.0% Unclassified commits
217 100% total
Technical notes about this page

Highlighted commits

For extra visibility, these are copies of commits found in other sections. Most (if not all) come from the commit message containing "Relnotes:", or commits modifying UPDATING.

-- no commits in this category this week --

Userland programs

Commits about commands found in man section 1 (other than networking).

pwait: Add an option to print remaining processes
* On startup, insert all valid PIDs into a tree.
* In our main loop, whenever a process terminates, remove its PID
  from the tree.
* On exit, if the -p flag was specified, print the remaining PIDs.

MFC after:      3 days
Reviewed by:    bcr, markj
Differential Revision:  https://reviews.freebsd.org/D53293
3d73146baeb933fe955c7496572b483a9f92914c Dag-Erling Smørgrav 2025-10-28 11:56:36
Commit group #0: id: Clean up
id: Clean up

No functional change intended.

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D53300
70b72ede982f3aebe03a2bf7a8245ee6bcde352c Dag-Erling Smørgrav 2025-10-28 16:51:50

id: Fix WITHOUT_AUDIT build

Rather than add more ifdefs, trust the compiler to optimize Aflag away.

Fixes:          https://cgit.freebsd.org/src/commit/?id=70b72ede982f ("id: Clean up")
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290740
MFC after:      3 days
92a533ed1d3c81a772815f90cc9aff9237a4429c Dag-Erling Smørgrav 2025-11-02 13:45:12
id: Add -d and -s options
These options may not be combined with any other options and print the
current or specified user's home directory and shell respectively.

Reviewed by:    imp, bcr
Differential Revision:  https://reviews.freebsd.org/D53301
f41b1eb637f576634be0df9d657f46aa57afea59 Dag-Erling Smørgrav 2025-10-28 16:51:56
truss: Properly display first argument to nmount
The first argument to nmount(2) is an nvlist in the form of an iovec,
which truss already knows how to decode.  Set the correct flag so
this happens automatically.

MFC after:      1 week
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290667
b9f848ecbafce4e56ba9c8b7993b85347e83484a Tiago Gasiba 2025-10-29 20:09:39

Documentation

Man pages, release notes, etc.

gone_in(9): bring the manual page up to date
3bcd7d4fa46a29ec3576d9474e9541510885cfaf Gleb Smirnoff 2025-10-27 18:51:04
closefrom.2: Add introduction of close_range to HISTORY
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53240
514fff24b19f69c5f22db380389128eb6bc32ea7 Ed Maste 2025-10-21 14:51:50
insmntque.9: Refer to vnode operations vector correctly
The comment in sys/vnode.h describes
the v_op member as "vnode operations vector",
so use "operations" instead of "operation" here.

Reviewed by:    bcr
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53333
24a6e040fc2e84234c684abcf3e1668a5a9467eb Mateusz Piotrowski 2025-10-24 17:34:04
agp.4: Bump deprecation to 16.0
It was not actually removed prior to FreeBSD 15.0.

Sponsored by:   The FreeBSD Foundation
cadadd1a0398fdeaebf62ab4d092ada0e3eb68c8 Ed Maste 2025-10-24 15:05:00
upgt.4: bump removal to 16.0
It was not actually removed prior to FreeBSD 15.0.

Sponsored by:   The FreeBSD Foundation
0cd8754ad52bb8174b8a766708424a4c53b8fc96 Ed Maste 2025-10-24 15:06:37
tuning.7 stats.7: Cross-reference
MFC after:    3 days
b2c5686755757535a6c3223b31fb96b64a961f15 Mateusz Piotrowski 2025-10-28 17:59:11
d.7: Order user-defined variable types by scope
MFC after:    3 days
38b81fbb9c375ef20c56e5d6f4099b88fcdba44c Mateusz Piotrowski 2025-10-28 19:13:18
getvfsbyname.3 mount.8: Reference lsvfs(1)
MFC after:    3 days
Reviewed by:    ziaee
Differential Revision:  https://reviews.freebsd.org/D53411
cb1315c15acf7d3fae66b2c5631e076776683f96 Mateusz Piotrowski 2025-10-28 18:10:25
Document the DEPRECATION NOTICE section for kernel interfaces
4b6700f3455f46aaed2c090e1c67c67565f26369 David E. O'Brien 2025-10-29 06:51:26
bhyve.8: Correct description for -c flag, tag spdx
The examples only show the usage of `-c <numcpus>`, as did the flag
description, however the -c flag supports more complex cpu topology
specifiers. These were documented correctly in SYNOPSIS, add them to
the body of the DESCRIPTION as well. Someone could go further and do
and example with using them.

MFC after:      3 days
Event:          OpenZFS Developer Summit '25
Reported by:    Levi Worley <levi@gainframe.com>
205af037e302fbd50dabc485a89e2222cd063b9e Alexander Ziaee 2025-10-30 15:06:30
gshsec.8: Fix list alignment, tag spdx
MFC after:    3 days
05d48584607221922539bb6917c9c118236d78d5 Alexander Ziaee 2025-10-30 15:49:31
ifconfig.8: Mention max name length
832cd05905980d0f6547bf02745b054c1f4af1eb William Carrel 2025-10-30 18:39:29
revoke.2: Remove mention of block special device files
Block devices are a thing of a past in FreeBSD.

Reviewed by:    ziaee
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53332
48b63e821dec5533dab165d4e95e876bdbd0a37e Mateusz Piotrowski 2025-10-24 17:17:42
simd.7: add scalar memchr() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46023
d2c23f5953a823e01f0c6418b0f98c119f145e20 Strahinja Stanišić 2024-07-18 17:57:51
simd.7: add scalar memset() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D45730
164156058e723c0d9b2bb68054543963f40f1159 Strahinja Stanišić 2024-06-24 17:07:06
simd.7: add scalar strlen() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D45693
07b1d5a37741f5d4de69117a03ef757edff29032 Strahinja Stanišić 2024-06-21 23:43:51
simd.7: add scalar memcpy() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46139
c80dfcb37261e5e8575d41801e64a39b7db6f4f8 Strahinja Stanišić 2024-07-24 23:36:09
simd.7: add scalar strnlen() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz, Jari Sihvola <jsihv@gmx.com>
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46230
474a80d3ff8516df5c379fa7f8e563cecb032060 Strahinja Stanišić 2024-08-05 13:51:09
simd.7: add scalar strchrnul() for RISC-V to manpage
index() and strchr() are implemented by calling strchrnul(), so they
also get to be marked as platform-specific.

MFC after:      1 month
MFC to:         stable/15
Approved by:    markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46047
39fef5b9fa943f301776e0b0bf406cedd7c29af2 Strahinja Stanišić 2024-07-19 18:01:51
simd.7: document bcopy() and bzero() as accelerated on riscv64
Event:                Google Summer of Code 2024
MFC after:      1 month
MFC to:         stable/15
Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D53248
d6870bb941fe235e0031f8bfb53fbd120ff859f9 Robert Clausecker 2025-10-21 18:58:16
dtrace_io.4: Use bio_length instead of bio_bcount in examples
Tracing bio_bcount makes little sense for some devices like for example
md(4), as it is set to "0" instead of to the actual I/O length.

markj@ suggested the following DTrace one-liner to identify some cases
where bio_length is set but bio_bcount is not:

    dtrace -n 'io:::start /args[0]->bio_length != args[0]->bio_bcount/{printf("%d %d", args[0]->bio_length, args[0]->bio_bcount); stack();}'

For future reference in the context of bio_length vs bio_bcount,
phk@ mentioned in the code review that:

> the original intent was to get rid of of bio_bcount

Reviewed by:    markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53365
db25448ab9ffa8bfe52d852674cc466494b849d1 Mateusz Piotrowski 2025-10-26 16:52:11
u3g: Note support for Quectel EM060K and Sierra EM7590
Sponsored by:         Netflix
d787ce1927bc7662b869cf2bc5e280c3c524dff5 Warner Losh 2025-10-31 16:52:37
pathconf.2: Document the new _PC_CASE_INSENSITIVE name
Commit d6864221d8 added support for the _PC_CASE_INSENSITIVE
name for pathconf, to indicate if case insensitive lookups
are configured.

This patch documents this new name and also updates
the description for _PC_HAS_HIDDENSYSTEM to also
include UF_ARCHIVE.

This is a content change.

Reviewed by:    kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53508
b473bb274cef37d45940cad4624b5d3b7fc96e01 Rick Macklem 2025-11-01 22:20:40
d.7: Document strchr, strjoin, strrchr, strstr, strtok, strlen, and substr
Reviewed by:  markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53417
af99c4c1d03c742faf8bd4c62fbbb664c5f7fc18 Mateusz Piotrowski 2025-10-28 20:06:53
atomic.9: fix description of acquire and release
The ordering point is not the atomic operation itself, but the load for
acquire or store for release done as part of the atomic.  This does not
matter for atomic_load_acq and atomic_store_rel, but does matter for RWM
operations.

Noted by:       alc
Reviewed by:    markj
Discussed with: alc
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D52744
f26382dd72dfc710a8cc7159364a8166e22a4254 Konstantin Belousov 2025-10-05 08:39:32
atomic.9: provide fine details about CAS memory model MD semantic
Reviewed by:  markj
Discussed with: alc
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D52744
269b1c238806c7fb8835a0510b224c466ca3efa0 Konstantin Belousov 2025-09-26 06:58:36
UPDATING: Add an entry for e5aa60d06958
088ced14a69ba2dce083c031b60c0d04ba218488 Rick Macklem 2025-11-03 00:20:26

Hardware support

Hardware drivers and architecture-specific code.

snd_dummy: Round channel pointer after each write
Otherwise we go out of bounds and keep incrementing endlessly.

Sponsored by:   The FreeBSD Foundation
MFC after:      4 days
Differential Revision:  https://reviews.freebsd.org/D53337
364864ea91abbd8a9a79578168fa5d34e05200a7 Christos Margiolis 2025-10-27 11:30:29
arm64/vmm: Remove armreg.h when not needed
Reviewed by:  imp
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53321
fddf48eb012c8c7dd640c1fea5c0766f8d85f0c4 Andrew Turner 2025-10-27 10:55:10
Commit group #1: arm64
arm64: Include armreg.h in db_disasm.c

It is needed for INSN_SIZE. Include it directly rather than depending
on header pollution.

Reviewed by:    imp
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53322
aa22b68ec76699527de04c99425716ab45c9b8c2 Andrew Turner 2025-10-27 10:55:57

arm64: Remove armreg.h from db_machdep.h

There is nothing in this file that needs armreg.h

Reviewed by:    imp
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53323
f3ee178be2b2b4205a42d514db1142d6bf162601 Andrew Turner 2025-10-27 10:56:06

arm64: Split out accessing special registers

We shouldn't need to include armreg.h just to access special registers
that are not defined in this file. Split out the parts that should be
common with arm64.h and hypervisor.h.

Reviewed by:    emaste
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53324
b57a571a001958febec042e15c571c5074ce44ce Andrew Turner 2025-10-27 10:56:17

arm64: Use _armreg.h in cpu.h

We only needed armreg.h for the *_SPECIALREG macros. Use the new
_armreg.h directly.

Reviewed by:    emaste
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53325
95a5bfcee07cf522edab72388decc4d6e27d341d Andrew Turner 2025-10-27 10:56:25
dev/ofw: Move ofw_cpu earlier
Move ofw_cpu to BUS_PASS_CPU + BUS_PASS_ORDER_MIDDLE so it can be used
by other devices.

Reviewed by:    jhibbits
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53328
87cea227e1945a8aa808b72d210f9a391be9b234 Andrew Turner 2025-10-27 10:57:44
dev/ofw: Register the ofw_cpu xref
This allows it to be referenced by other devices.

Reviewed by:    jhibbits
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D53329
d539f2d9d2ce88f295567578d0e7a3b49d45544b Andrew Turner 2025-10-27 10:57:54
ice(4): Add support for E835-XXV-4 adapter
Add subdevice ID and branding string for E835-XXV-4
adapter.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>

Approved by:    kbowling (mentor), erj (mentor)
Sponsored by:   Intel Corporation
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53319
09b48f811b4bf3a17485680b4720d1c0a81bbe07 Krzysztof Galazka 2025-10-27 14:10:26
x86/intr: Handle case of disabling MSI after release
Once an interrupt source is registered it's never deregistered.
However, when an MSI is released the pointer for it becomes NULLed out,
resulting in a NULL pointer dereference when attempting to disable the
now-released MSI source.  Add NULL check to avoid this.

Reviewed by:    kib
Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51624
cb38499303621553c977fd7dd7f18d12731fcd9c Justin Hibbits 2025-10-26 02:45:26
kexec: Introduce basic arm64 support
This works on older arm64 platforms, but may not work with arm64 devices
using GICv3, due to a quirk in the GICv3, where some registers are
write-once.

Most of the kexec reboot work on arm64 can be done entirely in C code,
by disabling the MMU, as the kernel is carved out of the vm_phys_segs
array, so cannot be overwritten.

Reviewed by:    andrew
Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51621
1ae25866767d686067fe6678b62681b7a8f0d361 Justin Hibbits 2025-10-26 02:45:00
amd64: Add kexec support
The biggest difference between this and arm64 kexec is that we can't
disable the MMU for amd64, we have to instead create a new "safe" page
table that the trampoline and "child" kernel can use.  This requires a
lot more work to create identity mappings, etc.

Reviewed by:    kib
Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51623
16db4c6fff450d3dd802b6c4b23cae0a8af44976 Justin Hibbits 2025-10-26 02:45:15
kexec: Add dummy headers for arm, i386, powerpc, and riscv
kexec hasn't been ported to these architectures, yet, so appease the
build with dummy headers.

Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51625
3b9578059cce3bc193be651546e191d0177df7d4 Justin Hibbits 2025-10-26 02:43:52
acpi: in acpi_stype_sysctl() use same logic as in acpi_sleep_state_sysctl()
Otherwise we allow to trigger an MPASS() by a userland sysctl, e.g.
hw.acpi.power_button_state=NONE.  This does not bring fully compatibility,
where as before 97d152698f483 setting to 'NONE' actually meant disabling
any action on a power or sleep button.  Now sysctl will fail, but with
this change it won't at least panic.

Aymeric may come with a better fix.

Fixes:  https://cgit.freebsd.org/src/commit/?id=97d152698f4831db5a94d55c15233330c188feda
34dfccc64f47f1549e65593b4a3aa8d31757529d Gleb Smirnoff 2025-10-27 18:22:46
xilinx pci: Codasip Prime board support
- Add a compatible string;
- Fix build.

Tested on Codasip X730 64-bit RISC-V CHERI Application CPU using
onboard nvme(4) device.

Differential Revision:  https://reviews.freebsd.org/D53295
8a25a04058a81453108e7e6accbf6663c19e9117 Ruslan Bukin 2025-10-27 19:41:53
usb_vendors: update to 2025-09-15
90cd623611b22e2e484b800743845b38d9c20250 Baptiste Daroussin 2025-10-28 08:31:02
pci_vendors: update to 2025-10-18
e5f545e0d872fbfdb6c3c94ca81e7f3bce9d094a Baptiste Daroussin 2025-10-28 08:31:46
sys/dev/md: cleanup includes
Remove twice included but unneeded explicit sys/param.h.  Sort.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
c6e12d38f167d4cea1e8bb8119f4677c1c008c6a Konstantin Belousov 2025-10-28 17:03:12
vmm: Fix routines which create maps of the guest physical address space
In vm_mmap_memseg(), use vm_map_insert() instead of vm_map_find().
Existing callers expect to map the GPA that they passed, whereas
vm_map_find() merely treats the GPA as a hint.  Also check for overflow
and remove a test for first < 0 since "first" is unsigned.

In vmm_mmio_alloc(), return an error number instead of an object
pointer, since the sole caller doesn't need the pointer.  As in
vm_mmap_memseg(), use vm_map_insert() instead of vm_map_find() and
validate parameters.  This function is not directly reachable via
ioctl(), but we ought to be careful anyway.

Reviewed by:    corvink, kib
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53246
20a38e847251076b12c173d7aa0b37eef261fd32 Mark Johnston 2025-10-28 20:15:13
nvme: Remove a todo comment
The storage subsystem really wants one of a very small number of I/O
errors. And since we started to do this I/O, EIO is the right error to
return. Other errors may get different and weirder treatment up the
stack, or even converted to just EIO. So remove this TODO comment that's
been there since the initial nvme driver commit. It wouldn't be helpful
to do this, and could likely hurt.

Sponsored by:           Netflix
471743e1315cdc54d85e3e77b53e3841b3647ea1 Warner Losh 2025-10-28 22:33:36
gpiobus: use bus_generic_detach when detaching
Use bus_generic_detach instead of bus_detach_children so the children
actually get deleted.

Reviewed by:    jhb
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52305
330b4f470280ec42d1498f875b8873f6eb32a7dd Ahmad Khalifa 2025-10-29 17:53:05
acpi_gpiobus: implement bus_child_deleted
Implement bus_child_deleted and attach the gpio_aei dev to it's ACPI
handle.

Reviewed by:    wulf
Differential Revision:  https://reviews.freebsd.org/D51585
3bbdc0223a7c1efaf734d3d9f3cb818e79e11d54 Ahmad Khalifa 2025-10-29 17:52:51
nhi: Fix a race with interrupt teardown during detach
When nhi fails to attach on one of my systems (X1 Carbon 6th gen), an
interrupt races with the teardown code such that the rings have been
freed by nhi_detach() before an interrupt triggers.  At the time of
the crash, the thread invoking nhi_attach() is blocked in
bus_teardown_intr() from nhi_pci_free() waiting for the interrupt
thread to finish executing the handler.

To fix, don't just disable the interrupts in nhi_detach(), but
actually tear the handlers down and disable MSI-X before freeing the
rings.

Reviewed by:    obiwac
Differential Revision:  https://reviews.freebsd.org/D53201
561571d480679933287a6d21c6929c39a7963857 John Baldwin 2025-10-29 18:56:17
vchiq: logging/tracing refactoring
* Create macros for error, info, warn, trace / debug
* Migrate existing printf() logging to use the above macros
* Add a sysctl knob to control it at runtime

This is based on work done in https://reviews.freebsd.org/D37878 .

Submitted by: Marco Devesas Campos <devesas.campos@gmail.com>
Differential Revision:  https://reviews.freebsd.org/D53371
df764dd133ecba8eade6a44e9baf1f0e9cf0d2f3 Marco Devesas Campos 2025-10-26 23:04:17
intr/powerpc: cleanup extraneous spaces in PowerMAC CPC HT driver
Spotted while examing this driver.  Remove some end of line spaces/tabs.
Replace some spaces which should instead be tabs.

Reviewed by:    jhibbits
MFC after:      2 weeks
319a1dbcf46f4afd2d32234d6936bb9e9e006a74 Elliott Mitchell 2025-01-10 00:52:52
Commit group #2: intr/powerpc: create openpic_class kobj
intr/powerpc: create openpic_class kobj

Using kobj allows implementing most PIC functions merely by inheriting
from the parent class.  As there are multiple OpenPIC implementations,
this ensures all common hooks go through by default.

Note, this adds the suspend/resume functions to other PICs.  This should
be harmless as suspend/resume isn't working on the devices anyway.

Reviewed by:    jhibbits
MFC after:      2 weeks
8fb17896120d8e7c499a13f4459f9894c20c6131 Elliott Mitchell 2025-01-02 19:03:40

powerpc: Move openpic_intr, since it's hidden now

Last minute change by me (diff reduction), that I didn't build.  This
was in the original commit.

Fixes:          https://cgit.freebsd.org/src/commit/?id=8fb1789612 ("intr/powerpc: create openpic_class kobj")
MFC after:      2 weeks
X-MFC-with:     8fb1789612
5e941ac54da32a7eff2ff96a1744843e6e030518 Justin Hibbits 2025-10-30 03:00:09
nvme: Add handling for bar5
The NVMe spec allows the Table BIR (TBIR) and PBA DIR (PBIR) to
be 0, 4, or 5. The existing NVMe driver basically only has support
for 4, perhaps under the assumption that BAR4 is 64-bit and also
occupies BAR5.

This change adds support for BAR5, covering the case where BAR4
and BAR5 might both be present and 32-bit, where the Table BIR
might be 4 and the PBA BIR might be 5, or vice versa.

The NVMe spec (in the SR-IOV section) also permits VFs to use BIR=2,
so I haven't added stricter checks on which BIR will be permitted
by the driver.

This enables FreeBSD on Google Compute Engine C4 Machines.

MFC after:              3 days
Reviewed by:            imp
Sponsored by:           Google
Co-authored-by:         Matt Delco <delco@google.com>
Signed-off-by:          Jasper Tran O'Leary <jtranoleary@google.com>
Differential Revision:  https://reviews.freebsd.org/D53140
7b32f4f0a7fe9b1b2f5a3905ca15f656713255ad Jasper Tran O'Leary 2025-10-28 20:43:35
riscv: Treat pointer register as an input in fpe_store
The contents of the memory is an output, but the pointer to that memory
is an input. This was correct in the original version of D45697, but
when adding appropriate clobbers, the pointer operand was incorrectly
switched to an output rather than left an input for fpe_store.

Reviewed by:    jrtc27
Obtained from:  CheriBSD
Fixes:          https://cgit.freebsd.org/src/commit/?id=44d4ee7f3dad ("riscv: add FPE code.")
MFC after:      1 day
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D53441
91f66f9b377e09f59f481e653d8f64120a183806 John Baldwin 2025-10-30 19:52:51
riscv/vmm: Remove a redundant maxcpu check in vm_alloc_vcpu()
aplic_max_cpu_count() just returns the VM's max vCPU count, and
vm_alloc_vcpu() already checks that.  Just remove this check so that
it's easier to merge vm_alloc_vcpu() into MI code.

If the APLIC really does require us to lower the limit, we should
instead adjust vm->maxcpu in vm_create().

No functional change intended.

Reviewed by:    br
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Klara, Inc.
Differential Revision:  https://reviews.freebsd.org/D53496
5baa83cfcbd87109dc8a61fbb2e183998cc2d5c5 Mark Johnston 2025-10-31 14:08:45
uart: provide and use default rclk for JH7110 UART
A regression in the u-boot-provided JH7110 device tree leaves the uart
incorrectly configured.

The issue arises when a baud rate is specified ('current-speed'
property), but the rclk value is not ('clock-frequency'). Previous
releases, e.g. v2025.04, provided both.

The alternative way to retrieve this value is to query the parent clock,
but our clk framework is not available during early console probing and
configuration.

In this instance, we end up defaulting to DEFAULT_RCLK in ns8250_init(),
which is the wrong value. The relevant uart class (uart_snps) should
provide a default rclk in its definition, but it does not. Add a new
variant class with the correct default rclk of 24000000.

Finally, uart_cpu_fdt_probe() needs to be updated to actually query this
default value when it does not find a 'clock-frequency' property. This
was simply missing; the ACPI uart bus behaves identically, see
uart_acpi_probe().

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289978
Reported by:    rdunkle@smallcatbrain.com
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53119
6de1c50e78a826abc08660e4c3ac10f1ddba9ba2 Mitchell Horne 2025-10-14 18:02:40
Add support for Sierra Wireless EM7590 modem.
00ebecd4a09db84fb6c5002b082400d8f8a97407 Ari Suutari 2025-10-22 09:59:09
usb/u3g: add Quectel EM060K
6968897a8048aee2c72efdfbe23a7b64bdebcdbc Andre Albsmeier 2025-10-31 16:50:01
random: CTASSERT check sizeof random_source_descr[]
Ensure that the number of elements of random_source_descr[]
and fxrng_ent_char[] matches that of enum random_entropy_source.

Reviewed by:    cem
Differential Revision: https://reviews.freebsd.org/D53255
8bd9a9e9e4cb3e293c1639319692ce201eb8fc53 David E. O'Brien 2025-10-22 07:19:20

Networking

Network-related commands, library, and kernel.

ng_device: add kqueue support
Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr>

Sponsored by:   Defenso
Reviewed by:    markj
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D52541
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1880
a505b80b2f038409300cd05e2ea95822942404e2 Quentin Thébault 2025-09-09 03:48:46
net: Validate interface group names in ioctl handlers
The handlers were not checking that the group names are nul-terminated.
Add checks for this.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    zlei
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53344
32919a34f17ac1af99dec7376f22a8393c251602 Mark Johnston 2025-10-27 16:27:13
altq: Clear stats structures in get_class_stats()
These structures are copied out to userspace, and it's possible to leak
uninitialized stack bytes since these routines and their callers weren't
careful to clear them first.  Add memsets to avoid this.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    kp, emaste
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53342
ff08916e9ac689e6ce734de72325fc2bd9495a35 Mark Johnston 2025-10-27 16:27:40
net: Remove useless field annotations
MFC after:    1 week
500717311bff635dac12602a27d0dbca02cf9a2e Mark Johnston 2025-10-27 16:27:55
ipfw: Retire obsolete compat code
The current IPFW version 3 dates to 2010 (commit cc4d3c30ea28, "Bring in
the most recent version of ipfw and dummynet, developed").

The compat code for FreeBSD 8 and earlier has a number of issues and is
no longer needed, so remove it.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    ae, glebius
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53343
c59aab9a5b3970b3ccec744f759e6cb87e938dbe Ed Maste 2025-10-24 20:15:01
tcp: improve credential handling in syncache
When adding a syncache entry, take a reference count of the
credentials while the inp is still locked.
Thanks to markj@ for providing a hint regarding the root cause.

Reported by:            David Marker
Reviewed by:            glebius
Tested by:              David Marker
Fixes:                  https://cgit.freebsd.org/src/commit/?id=cbc9438f0505 ("tcp: improve ref count handling when processing SYN")
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53380
44cb1e857f048d2326bdc1a032ccd2c04d2bcdc9 Michael Tuexen 2025-10-27 22:28:59
pf: improve DIOCRCLRTABLES validation
Unterminated strings in the anchor or name could cause crashes.
Validate them, and add a test case.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
1da3c0ca5b1decaa9cf55859cd134bdcd1218116 Kristof Provost 2025-10-29 08:28:59
pf: improve add state validation
Both for the DIOCADDSTATE ioctl and for states imported through pfsync packets.
Add a test case to exercise this code path.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
MFC after:      3 days
Sponsored by:   Rubicon Communications, LLC ("Netgate")
faacc0d968816cf8714c974b6d8df6191cfb0e0d Kristof Provost 2025-10-29 10:40:52
ipsec offload: never return error from the newkey/spdadd callbacks
Returning an error causes premature termination of if_foreach_sleep()
loop over the interfaces.  Whatever problem we have with the specific
interface trying to install an element, should not prevent an attempt to
install the same element into all other interfaces.

Noted by:       Ariel Ehrenberg
Sponsored by:   NVidia networking
MFC after:      1 week
8b2f4e6b3a478faaa4b0b23efc9c65f5db913df4 Konstantin Belousov 2025-10-29 16:37:17
pf: Make nat-to and rdr-to work properly both on in and out rules
New-style address translation is done by nat-to and rdr-to actions on
normal match and pass rules. Those rules, when used without address
translation, can be specified without direction. But that allows users
to specify pre-routing nat and post-routing rdr. This case is not
handled properly and causes pre-routing nat to modify destination
address, as if it was a rdr rule, and post-routing rdr to modify source
address, as if it was a nat rule.

Ensure that nat-to action modifies source address and rdr-to destination
address no matter in which direction the rule is applied. The man page
for pf.conf already specifies that nat-to and rdr-to rules should be
limited to respective directions.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288577
Reviewed by:    kp
MFC after:      3 days
Sponsored by:   InnoGames GmbH
Differential Revision:  https://reviews.freebsd.org/D53216
646798b6783184fb194a2d97667e05895e00c358 Kajetan Staszkiewicz 2025-10-01 13:51:46
pf: Check if source nodes use a valid redirection address
Source nodes redirect (nat-to, rdr-to, route-to) all further connections
matching the rule which has created the source node. The source node is
valid as long as there are states resulting from the rule or until the
source node lifetime expires. When the rule's redirection pool is
modified (e.g. table contents are changed) the source node is still
valid and it will redirect new connections to invalid target (e.g. a
dead next-hop).

When performing source tracking after finding a source node check if the
redirection address still exists in pool of the rule which has created
this node. If not, delete the source node. This will result in finding a
new redirection address and creation of a new source node.

Reviewed by:    kp
Obtained from:  OpenBSD
Sponsored by:   InnoGames GmbH
Differential Revision:  https://reviews.freebsd.org/D53231
ee1f417a8609b8742332950521800502759dd185 Kajetan Staszkiewicz 2025-10-20 16:53:50
tcp: remove unused define
Reviewed by:  tuexen
MFC after:      3 days
Sponsored by:   Netflix, Inc.
44ad7d4844b7b5387cfad603a28501ac5c70e37d Peter Lei 2025-10-31 13:31:20
pf: convert DIOCRSETADDRS to netlink
The list of addresses is potentially very large. Larger than we can fit in a
single netlink request, so we indicate via the PFR_FLAG_START/PFR_FLAG_DONE
flags when we start and finish, so the kernel can work out which addresses need
to be removed.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
08ed87a4a2769cf6294efdd908b0ed4d29ab49b4 Kristof Provost 2025-10-31 10:36:55
openssh: Handle localtime_r() failure by return "UNKNOWN-TIME"
Apply openssh-portable commit 8b6c1f402feb by deraadt@openbsd.org

Obtained from:  openssh-portable
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288773
Reported by:    wosch
Sponsored by:   The FreeBSD Foundation
ce03706ab26c5770150f1ef96aca36b69baa535f Ed Maste 2025-10-31 17:04:51
ddb: improve printing of inp_flags
Add four missing flags (INP_BINDANY, INP_INHASHLIST, INP_RESERVED_0,
INP_BOUNDFIB) used in inp_flags and remove one flag (INP_ORIGDSTADDR),
which is actually a flag used in inp_flags2 and not in inp_flags.

Reviewed by:            markj
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53498
fee2e6b9fae277d383b129573df2528ce0407efa Michael Tuexen 2025-10-31 17:58:46
Commit group #3: ddb: optionally print inp when printing tcpcb
ddb: optionally print inp when printing tcpcb

Add /i option to the ddb commands show tcpcb and show all tcpcbs,
which enables the printing of the t_inpcb.

Reviewed by:            markj
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53497
9aa5a79e2af9a6a8930bbe8a7a024df2cf44e433 Michael Tuexen 2025-10-31 18:05:02

ddb: fix compilation

Fixes:          https://cgit.freebsd.org/src/commit/?id=9aa5a79e2af9 ("ddb: optionally print inp when printing tcpcb")
Sponsored by:   Netflix, Inc.
259b69ad3dd6f077c99be8a7795775dd5b87b0b5 Michael Tuexen 2025-10-31 19:20:01
ipfw: pmod: avoid further rule processing after tcp-mod failures
m_pullup() here will have freed the mbuf chain, but we pass back an
IP_FW_DENY without any signal that the outer loop should finish.  Thus,
rule processing continues without an mbuf and there's a chance that we
conclude that the packet may pass (but there's no mbuf remaining)
depending on the rules that follow it.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=284606
Reviewed by:    ae
MFC after:      1 week
c0382512bfce872102d213b9bc2550de0bc30b67 Kyle Evans 2025-11-01 17:34:11
sockstat(1): Add "-F" parameter
Add "-F" parameter that, when specified, instructs sockstat(1) to
only display sockets for username/UID specified.

For consistency with "-j", the last occurence of "-F" is used.

Reviewed by:            asomers
Approved by:            asomers
Differential Revision:  https://reviews.freebsd.org/D53458
2deeed061b1473a4230211c6562a533b76ce846c Juraj Lutter 2025-10-29 20:48:21
mld6: Properly initialize MLD packet options
After commit 530c2c30b0c7 we need to set flags to ensure that hop-by-hop
and hop limit options are included.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290407
Reviewed by:    zlei, markj
MFC after:      3 days
Fixes:          https://cgit.freebsd.org/src/commit/?id=530c2c30b0c7 ("ip6_output: Reduce cache misses on pktopts")
5568fba657c260286b9f1f1e837ab83ef6ce572d Andrey V. Elsukov 2025-11-02 15:56:14
ddb: use %b when showing flags for an inp
This is much more compact. Thanks to markj@ for suggesting the change.

Reviewed by:            markj
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53507
e8c50058e8d03af17b7458bb560ddee29062082f Michael Tuexen 2025-11-02 16:12:32
ddb: use %b when showing flags for a tcpcb
This is much more compact. Thanks to markj@ for suggesting the change.

Reviewed by:            markj, Peter Lei, imp, Nick Banks
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53510
8e8956f7f99759b21bc07e884ad89d1927c39e8d Michael Tuexen 2025-11-02 16:15:47
ddb: improve printing of inpcbs
* shuffle around the inp_label to give inp_flags more space since it
  can become long.
* fix the indentation of in6p_icmp6filt, in6p_cksum, and in6p_hops.

Reviewed by:            Peter Lei
MFC after:              3 days
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D53541
25aed6401b35834856440ffb32a61597c8019697 Michael Tuexen 2025-11-02 17:17:05

System administration

Stuff in man section 8 (other than networking).

bhyve: add support for ng_device network backend
Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr>

Reviewed by:    markj
MFC after:      1 month
Sponsored by:   Defenso
Differential Revision:  https://reviews.freebsd.org/D52542
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1880
1aad95345237424918e5f6b18464df4dbc2aa1d8 Quentin Thébault 2025-09-12 08:39:55
ipfw: Correct error message
The failed allocation in the error pertains to IP_FW_XADD, not
IP_FW_ADD.

Reviewed by:    ae
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53359
498e56142660c8dd864c878e820252358c9a15cf Ed Maste 2025-10-25 22:31:38
blocklist: Fix rcorder(8)
The blocklist daemon depends on a packet filter in order to block.

Add all supported packet filters to the REQUIRE line, not just pf, to
indicate rcorder(8) that it should start after the packet filter service
has started.

While here, change the mode of the rc file to include the executable
bit, just like the rest of the files in the rc.d source directory.

Reviewed by:    0mp
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53364
79e374217d69a98161fc91a286dacf1f78090894 Jose Luis Duran 2025-10-27 15:46:32
ipfw: Remove more unused IP_FW_* cases
All of the do_cmd() calls are in dummynet.c and specify the socket
option at compile time; none of these removed cases are used in ipfw
after the v3 work.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53378
0e2e0fb955adf15a217949bc4cc337d53d2c7259 Ed Maste 2025-10-25 22:32:05
pfctl: Do not warn if there is no Ethernet anchor
Avoid emitting a warning if there is no Ethernet anchor.  If the anchor
--regardless of its type-- is nonexistent, should be caught earlier.

This can be misleading when there is a layer 3 anchor but not an
Ethernet anchor, giving the user the impression that there is no layer 3
anchor with that name.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280516
Approved by:    kp
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53360
99560fe98c76371d7f0807c2088c78790ca9f943 Jose Luis Duran 2025-10-26 12:38:00
rc.subr: Fix slow shutdown issue
Instead of sleeping after pwait returns, use its new -p option to
obtain the list of processes that still have not terminated.

MFC after:      3 days
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290357
Fixes:          https://cgit.freebsd.org/src/commit/?id=5953e7c98427 ("rc.subr: Move the sleep in wait_for_pids")
Reviewed by:    0mp, markj
Differential Revision:  https://reviews.freebsd.org/D53294
22cff1f3e9d82b48aad440c52f883bfd4995359c Dag-Erling Smørgrav 2025-10-28 11:57:03
bsdlabel: Bump removal to FreeBSD 16.0.
It is deprecated but was not removed prior to 15.0.

Sponsored by:   The FreeBSD Foundation
9447a4078121fd1ce961fed33dd0099040d0dac9 Ed Maste 2025-10-28 13:08:30
pmcstat: Remove no-op -k option
Commit 53d0b9e438bc ("pmc: Provide full path to modules from kernel
linker") made pmcstat's -k option have no effect, but the option was
retained for backwards compatibility (while emitting a warning that
-k is not in FreeBSD 15).

Reviewed by:    jrtc27
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53397
c6b156e360fc5b18ee20bae0fc0c4188c3aadea6 Ed Maste 2025-10-28 13:12:05
pfctl: only set limit restore handler if limits are changed
Arm restore atexit(3) handler if and only if the pf(4)
limits are being changed to prevent bogus error messages
on stderr.

OK @bluhm

Obtained from:  OpenBSD, sashan <sashan@openbsd.org>, 67a69daaf0
Sponsored by:   Rubicon Communications, LLC ("Netgate")
f17856896d329204b446e6e918e87f949a70806b Kristof Provost 2025-10-29 15:10:24
rc.subr set dot_dir and dot_file in dot
Files read by '.' cannot workout for themselves where they are
or what they are called, so set dot_dir and dot_file to pass
this information to them.

Reviewed by:    obrien, stevek
Differential Revision:  https://reviews.freebsd.org/D53476
a797702be077c4671e3d437d6b9ffd37f2e86277 Simon J. Gerraty 2025-10-30 18:09:13

Libraries

libpfctl: Fix displaying deeply nested anchors
Set the number of rulesets (i.e., anchors) directly attached to the
anchor and its path in pfctl_get_ruleset().

While here, add a test to document this behavior.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290478
Reviewed by:    kp
Fixes:          https://cgit.freebsd.org/src/commit/?id=041ce1d690f1 ("pfctl: recursively flush rules and tables")
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D53358
a943a96a50ba7e9d1e1935bdd18df0e11d158acb Jose Luis Duran 2025-10-25 09:19:18
libutil: defer setting the MAC label until after the login class
MAC policies, like mac_biba(4), may forbid changing the login class once
a label has been applied.  For setting up the initial login context,
this isn't really expected and in-fact may break some class-based
configuration.

Defer setting the MAC label until after the login class is set, and
remove the requirement that we have a pwd entry since the label is
pulled from the login class -- we only use pwd for syslog in this path.

Patch is largely by Kevin Barry, with some modifications and this commit
message by kevans@.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=177698
Reviewed by:    des, olce
MFC after:      3 days
Co-authored-by: Kevin Barry <ta0kira gmail com>
Differential Revision:  https://reviews.freebsd.org/D53362
98edcbcce0a4650084bd86e704cfa38bf590250c Kyle Evans 2025-10-29 02:37:21
libc: report _SC_NPROCESSORS_ONLN more accurately in cpu-limited jails
We don't support CPU hotplug, but we do support cpuset(8) restrictions
on jails (including prison0, which uses cpuset 1).  The process cannot
widen its cpuset beyond its root set, so it makes sense to instead
report the number of cpus enabled there rather than the total number
in the system.

This change is effectively a nop for the majority of systems and jails
in the wild, though it does reduce the performance of this query now
that we can't take advantage of AT_NCPUS being provided in the auxinfo.

The implementation here is notably different than Linux, which would not
take cgroups into account.  They do, however, take CPU hotplug into
account, so the possibility for it to diverge from (and be lower than)
the # configured count to reflect what the process can actually be
scheduled on doesn't really diverge in semantics.

Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D52295
d617806aac1469319970e3551656e9deabb98a35 Kyle Evans 2025-10-29 16:32:30
libc: scalar strrchr() in RISC-V assembly
Implements strrchr in RISC-V assembly, leading to the following
improvements (performance measured on SiFive HF105-001)

os: FreeBSD
arch: riscv
        │ strrchr_baseline │             strrchr_scalar             │
        │      sec/op      │   sec/op     vs base                   │
Short          837.2µ ± 1%   574.6µ ± 1%  -31.37% (p=0.000 n=20+21)
Mid            639.7µ ± 0%   269.7µ ± 0%  -57.84% (p=0.000 n=20+21)
Long           589.1µ ± 0%   176.7µ ± 0%  -70.01% (p=0.000 n=20+21)
geomean        680.8µ        301.4µ       -55.73%

        │ strrchr_baseline │             strrchr_scalar             │
        │      MiB/s       │   MiB/s     vs base                    │
Short           149.3 ± 1%   217.6 ± 1%   +45.71% (p=0.000 n=20+21)
Mid             195.4 ± 0%   463.6 ± 0%  +137.22% (p=0.000 n=20+21)
Long            212.2 ± 0%   707.4 ± 0%  +233.40% (p=0.000 n=20+21)
geomean         183.6        414.7       +125.88%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D47275
df21a004be237a1dccd03c7b47254625eea62fa9 Strahinja Stanišić 2024-10-24 16:18:07
simd.7: add scalar strrchr() for RISC-V to manpage
MFC after:    1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D47275
63ff982b17ee398c7808be323d8fd37819a5863c Strahinja Stanišić 2024-10-24 16:29:04
libc: scalar memchr() in RISC-V assembly
Added an optimized memchr() implementation in RISC-V assembly and updated
the relevant manpage.

        │ memchr_baseline │            memchr_scalar            │
        │     sec/op      │   sec/op     vs base                │
Short         636.6µ ± 1%   495.9µ ± 1%  -22.10% (p=0.000 n=20)
Mid           279.7µ ± 1%   224.1µ ± 1%  -19.87% (p=0.000 n=20)
Long          138.8µ ± 0%   124.9µ ± 0%  -10.00% (p=0.000 n=20)
geomean       291.3µ        240.3µ       -17.48%

        │ memchr_baseline │            memchr_scalar             │
        │       B/s       │     B/s       vs base                │
Short        187.3Mi ± 1%   240.4Mi ± 1%  +28.37% (p=0.000 n=20)
Mid          426.2Mi ± 1%   531.9Mi ± 1%  +24.79% (p=0.000 n=20)
Long         859.0Mi ± 0%   954.4Mi ± 0%  +11.11% (p=0.000 n=20)
geomean      409.3Mi        496.0Mi       +21.19%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46023
563efdd3bd5d5f94e356444bb64fd66e13dda5e1 Strahinja Stanišić 2024-07-17 11:19:52
libc: scalar memset() in RISC-V assembly
Adds scalar implementation of memset for RISC-V
and updates the relevant manpage

os: FreeBSD
arch: riscv
        │ ./results/memset/memset_baseline │   ./results/memset/memset_scalar    │
        │              sec/op              │   sec/op     vs base                │
40                             527.5µ ± 1%   479.4µ ± 1%   -9.12% (p=0.000 n=20)
168                            254.5µ ± 1%   216.7µ ± 1%  -14.86% (p=0.000 n=20)
2k                             169.5µ ± 1%   128.4µ ± 0%  -24.24% (p=0.000 n=20)
256k                           161.2µ ± 1%   118.6µ ± 1%  -26.42% (p=0.000 n=20)
16m                            56.58m ± 0%   53.91m ± 0%   -4.72% (p=0.000 n=20)
geomean                        730.2µ        611.2µ       -16.29%

        │ ./results/memset/memset_baseline │    ./results/memset/memset_scalar     │
        │               B/s                │      B/s       vs base                │
40                            452.0Mi ± 1%    497.3Mi ± 1%  +10.04% (p=0.000 n=20)
168                           936.9Mi ± 1%   1100.4Mi ± 1%  +17.45% (p=0.000 n=20)
2k                            1.373Gi ± 1%    1.813Gi ± 0%  +32.00% (p=0.000 n=20)
256k                          1.444Gi ± 1%    1.962Gi ± 1%  +35.91% (p=0.000 n=20)
16m                           269.7Mi ± 0%    283.1Mi ± 0%   +4.96% (p=0.000 n=20)
geomean                       750.1Mi         896.1Mi       +19.47%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoc 2024)
Differential Revision:  https://reviews.freebsd.org/D45730
40a958d5850ddda6d863558c8b31572f700d53ca Strahinja Stanišić 2024-06-21 15:43:45
libc: scalar strlen() in RISC-V assembly
Includes a scalar implementation of strlen() for the RISC-V
architecture and changes to the corresponding manpage.

Performance was benchamarked using before and after:
https://github.com/clausecker/strperf

os: FreeBSD
arch: riscv
        │ strlen_baseline │             strlen_scalar              │
        │     sec/op      │   sec/op     vs base                   │
Short        541.2µ ± 17%   401.6µ ± 0%  -25.78% (p=0.000 n=21+20)
Mid          249.6µ ±  3%   191.9µ ± 0%  -23.13% (p=0.000 n=21+20)
Long         124.6µ ±  0%   110.7µ ± 0%  -11.13% (p=0.000 n=21+20)
geomean      256.3µ         204.3µ       -20.26%

        │ strlen_baseline │              strlen_scalar               │
        │       B/s       │      B/s       vs base                   │
Short       220.3Mi ± 14%    296.8Mi ± 0%  +34.74% (p=0.000 n=21+20)
Mid         477.6Mi ±  3%    621.3Mi ± 0%  +30.09% (p=0.000 n=21+20)
Long        956.9Mi ±  0%   1076.7Mi ± 0%  +12.52% (p=0.000 n=21+20)
geomean     465.2Mi          583.4Mi       +25.40%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D45693
e09c1583eddd345bdb79f3db8a91166f6f139207 Strahinja Stanišić 2024-05-17 14:23:48
libc: scalar memcpy() in RISC-V assembly
Optimized assembly implementation of memcpy() for the RISC-V architecture.
The implementation has two paths:

 - An aligned path - (dst - src) % 8 = 0, runs faster
 - An unaligned path - (dst - src) % 8 != 0, runs slower

os: FreeBSD
arch: riscv
           │ memcpy_baseline │            memcpy_scalar            │
           │     sec/op      │   sec/op     vs base                │
64Align8         851.6µ ± 1%   488.9µ ± 1%  -42.59% (p=0.000 n=12)
4kAlign8         681.5µ ± 1%   255.1µ ± 2%  -62.57% (p=0.000 n=12)
256kAlign8       273.0µ ± 2%   230.7µ ± 2%  -15.50% (p=0.000 n=12)
16mAlign8        98.07m ± 0%   95.29m ± 0%   -2.84% (p=0.000 n=12)
64UAlign         887.5µ ± 1%   531.6µ ± 1%  -40.10% (p=0.000 n=12)
4kUAlign         725.6µ ± 1%   262.2µ ± 1%  -63.87% (p=0.000 n=12)
256kUAlign       844.1µ ± 2%   322.8µ ± 0%  -61.76% (p=0.000 n=12)
16mUAlign        134.9m ± 0%   101.2m ± 0%  -24.97% (p=0.000 n=20)
geomean          2.410m        1.371m       -43.12%

           │ memcpy_baseline │            memcpy_scalar             │
           │      MiB/s      │    MiB/s     vs base                 │
64Align8          293.6 ± 1%    511.3 ± 1%   +74.18% (p=0.000 n=12)
4kAlign8          366.8 ± 1%    980.0 ± 2%  +167.15% (p=0.000 n=12)
256kAlign8        915.8 ± 2%   1083.7 ± 2%   +18.34% (p=0.000 n=12)
16mAlign8         163.1 ± 0%    167.9 ± 0%    +2.92% (p=0.000 n=12)
64UAlign          281.7 ± 1%    470.3 ± 1%   +66.94% (p=0.000 n=12)
4kUAlign          344.5 ± 1%    953.6 ± 1%  +176.77% (p=0.000 n=12)
256kUAlign        296.2 ± 2%    774.5 ± 0%  +161.49% (p=0.000 n=12)
16mUAlign         118.6 ± 0%    158.1 ± 0%   +33.28% (p=0.000 n=20)
geomean           293.4         515.8        +75.81%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46139
25fdd86a4c92b5bdab82db289f3bcd57756778e7 Strahinja Stanišić 2024-07-24 23:33:30
libc: scalar strnlen() in RISC-V assembly
Optimized implementation of strnlen() in RISC-V assembly

Performance was measured using strperf on a HiFive Unmatched (SiFive HF105-001) board.

os: FreeBSD
arch: riscv
        │ strnlen_baseline │           strnlen_scalar            │
        │      sec/op      │   sec/op     vs base                │
Short          787.0µ ± 0%   430.9µ ± 1%  -45.24% (p=0.000 n=20)
Mid            621.6µ ± 0%   195.1µ ± 1%  -68.61% (p=0.000 n=20)
Long           569.4µ ± 1%   100.6µ ± 0%  -82.34% (p=0.000 n=20)
geomean        653.1µ        203.7µ       -68.81%

        │ strnlen_baseline │            strnlen_scalar            │
        │      MiB/s       │    MiB/s     vs base                 │
Short           158.8 ± 0%    290.1 ± 1%   +82.62% (p=0.000 n=20)
Mid             201.1 ± 0%    640.6 ± 1%  +218.59% (p=0.000 n=20)
Long            219.5 ± 1%   1242.9 ± 0%  +466.19% (p=0.000 n=20)
geomean         191.4         613.5       +220.57%

MFC after:      1 month
MFC to:         stable/15
Approved by:    mhorne, markj (mentor)
Reviewed by:    fuz, Jari Sihvola <jsihv@gmx.com>
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46230
5a52f0704435b089199201be0029e0d7c9ef2fce Strahinja Stanišić 2024-08-04 15:12:00
libc: scalar strchrnul() in RISC-V assembly
Scalar implementation of strchrnul() in RISC-V assembly and changes to the
corresponding manpage.

Performance was benchmarked on a HiFive Unmatched (SiFive HF105-001) board
using: https://github.com/clausecker/strperf

os: FreeBSD
arch: riscv
        │ strchrnul_baseline │          strchrnul_scalar           │
        │       sec/op       │   sec/op     vs base                │
Short            680.2µ ± 5%   435.3µ ± 0%  -36.01% (p=0.000 n=20)
Mid              314.7µ ± 3%   221.4µ ± 0%  -29.63% (p=0.000 n=20)
Long             152.3µ ± 0%   138.5µ ± 0%   -9.08% (p=0.000 n=20)
geomean          319.5µ        237.2µ       -25.75%

        │ strchrnul_baseline │          strchrnul_scalar          │
        │       MiB/s        │   MiB/s     vs base                │
Short             183.8 ± 5%   287.2 ± 0%  +56.27% (p=0.000 n=20)
Mid               397.3 ± 3%   564.6 ± 0%  +42.12% (p=0.000 n=20)
Long              820.5 ± 0%   902.5 ± 0%   +9.99% (p=0.000 n=20)
geomean           391.3        527.0       +34.68%

MFC after:      1 month
MFC to:         stable/15
Approved by:    markj (mentor)
Reviewed by:    fuz
Sponsored by:   Google LLC (GSoC 2024)
Differential Revision:  https://reviews.freebsd.org/D46047
08af0bbc9c7d71bbaadb31ad31f8492f40537c5c Strahinja Stanišić 2024-07-19 17:58:04
libc/riscv64: implement bcopy() and bzero() through memcpy() and memset()
This picks up the accelerated string functions written by
strajabot@.

Event:          Google Summer of Code 2024
MFC after:      1 month
MFC to:         stable/15
See also:       79e01e7e643c9337d8d6046b6db7df674475a099
Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D53248
b5dbf3de561189140c73f915bd50c28ea69a1e19 Robert Clausecker 2025-10-21 18:55:41

Filesystems

nfs_nfsdserv.c: Add a sanity check for layout commit cnt
If a client were to send a LayoutCommit (seldom
used and only for a pNFS server) with a bogus
cnt, there could be problems with a malloc() call
that uses it.

This patch adds a sanity check for the cnt. Note
that RFC8881 does not specify any upper bound
on the cnt.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53354
1a679fb907962843f01b103ec672136a8f8d8edb Rick Macklem 2025-10-27 14:24:47
Commit group #4: nfs_clrpcops.c
nfs_clrpcops.c: Add sanity checks for the slot cnts

The reply to CreateSession includes the slot cnt for
both fore and back slots. It should never be larger
than the argument specified and the fore slot cnt
should always be at least 1.

Without this patch, the replied slot cnts were not
being sanity checked.

While here, replace 64 with NFSV4_SLOTS (which is 64).

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    emaste, markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53363
3053b2a3dcab6e05311c3b696bee4c9e5698d93a Rick Macklem 2025-10-27 14:35:27

nfs_clrpcops.c: Fix two possible large NFSM_DISSECT()s

There are two cases in nfs_clrpcops.c where it was possible
for the code to attempt to NFSM_DISSECT() a large size,
which is not allowed by nfsm_dissct().

This patch fixes them.

Reducing the maximum stripecnt should be no problem,
since there in no extant NFSv4.n server that does striped
File Layout pNFS and current development is centered
around the Flex File layout.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53367
b9e6206f593385c80436d267ab759319c1e94e43 Rick Macklem 2025-10-27 14:43:02

nfs_clrpcops.c: Check for too large a write reply

The "rlen" reply length for a Write operation/RPC
could cause trouble if a broken server replies with
too large a value.

Improve the sanity check for "rlen" to avoid this.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    emaste, markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53368
2c82cdd2e29f8ba00d4289f36f8baa1598a1ad9b Rick Macklem 2025-10-27 14:49:32
nfs_commonsubs.c: Add a sanity check for nid_ngroup
The nfsuserd(8) daemon passes user credentials
(uid + gids) into the kernel for users and groups
identified by name (received from a NFSv4 server).

This patch add a sanity check for the number of
groups (nid_ngroup) passed in.

It's only purpose is to protect against a bogus
nfsuserd(8) running in a jail.

Reported by:    Ilja Van Sprundel <ivansprundel@ioactive.com>
Reviewed by:    markj
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53389
4672adcea4cf3c0c626d186f1f41c69552d915f1 Rick Macklem 2025-10-28 14:44:14
nfs_clrpcops.c: NFSM_DISSECT() reply for each dir separately
Without this patch, the entire reply for all directories in
the NFSv4 mount path are parsed at once.  This could cause
problems for mount paths with many directories in the path.

This patch fixes the problem by parsing each directory
reply in a loop.

Spotted while fixing other cases that could do large
NFSM_DISSECT() sizes.

MFC after:      3 days
9d13c87afdb35c0014aa6f43c5652e946c18b756 Rick Macklem 2025-10-28 21:31:30
nfs_commonsubs.c: Get rid of variable used as a constant
The variable ncl_mbuf_mhlen is set to MHLEN and only
used in one place.  This patch simply deletes it and
replaces it with MHLEN.

This patch should not affect semantics.

Spotted while fixing cases that could do large
NFSM_DISSECT() sizes.

MFC after:      2 weeks
73551cd6eac29a6707c802c7d7fafcb560bf5e2b Rick Macklem 2025-10-29 00:28:04
nfs_clvfsops.c: Allow long directory mount paths
Without this patch, the NFS client code for mounts has
an arbitrary 100 character limit for the directory path
being mounted on the server.

Someone reported this quite a while ago, but I cannot
find the email or bugzilla PR.

This patch fixes the problem by increasing the directory
path length limit to MNAMELEN, allocated via malloc() to
avoid using too much stack.

MFC after:      2 weeks
8d5a88ac95b23b0a8c4943be0aef1f93e3902bfb Rick Macklem 2025-10-29 21:41:12
nfs: Add support for the new _PC_CASE_INSENSITIVE name
Commit d6864221d8 added support for the _PC_CASE_INSENSITIVE
name for pathconf, to indicate if case insensitive lookups
are configured.

This patch adds support for it for both NFSv4 and
NFSv3.

It also adds a fsidp argument to nfsv4_fillattr() which
will be used in future commit(s) related to NFSv4.n
directory delegations.

MFC after:      2 weeks
e5aa60d0695803c83dc0af08c057b82c463da3f2 Rick Macklem 2025-11-02 21:38:45

Kernel

Kernel stuff (other than networking, filesystems, and drivers).

audit: convert audit event class lookup to lockless
When system call auditing is enabled, every audited call
does a lookup in the evclass hash table.  This table
appears to be insert only (eg, nothing can be removed)
and protecting it with an rwlock is overkill.  Using
an rwlock causes just the atomic operations to maintain
uncontended rwlock state to be responsible for measurable
overhead on high core count servers making lots of system calls.

Given that the evclass hash table can never have items removed,
only added, using a mutex to serialize additions and converting
to ck_list allows sufficient protection for lockless lookups.

In a contrived example of 64 cores, all reading 1 byte from their
own file, this change increases performance from 5M reads/sec
to 70M reads/sec on an AMD 7502P.

Reviewed by: markj, mjg, glebius (privately)
Sponsored by:   Netflix
Differential Revision: https://reviews.freebsd.org/D53176
23b46b2bbf0a8f3a740b6e5baf0767816afc339e Andrew Gallatin 2025-10-27 14:05:49
amd64: Add cpu_stop() support to go UP after SMP
Reviewed by:  kib
Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51622
190d0a96cf5672c6cf0ce86eb91dd1f19d35baac Justin Hibbits 2025-10-26 02:45:08
kern: Introduce kexec system feature (MI)
Introduce a new system call and reboot method to support booting a new
kernel directly from FreeBSD.

Linux has included a system call, kexec_load(), since 2005, which
permits booting a new kernel at reboot instead of requiring a full
reboot cycle through the BIOS/firmware.  This change brings that same
system call to FreeBSD.  Other changesets will add the MD components for
some of our architectures, with stubs for the rest until the MD
components have been written.

kexec_load() supports loading up to an arbitrary limit of 16 memory
segments.  These segments must be contained inside memory bounded in
vm_phys_segs (vm.phys_segs sysctl), and a segment must be contained
within a single vm.phys_segs segment, cannot cross adjacent segments.

Reviewed by:    imp, kib
Sponsored by:   Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D51619
e02c57ff374ea3eed69e5f43f19a41fa559b7e2d Justin Hibbits 2025-10-26 02:44:45
sysent: Regen for kexec_load()
efd00c75f459752e54e219fc47b18ee6631a7877 Justin Hibbits 2025-10-26 02:54:20
gdb: Improve doc strings
These are printed by gdb when requesting help for the corresponding
function or command, so phrase them such that they make sense in that
context.

MFC after:      1 week
ef7b81340b8e0ad06584f364aa02105c03ca5f7c Mark Johnston 2025-10-27 16:28:20
gdb: Make development a bit easier
Provide a command which can be used to reload gdb modules.

MFC after:      1 week
d5d47e1e67cdf1707cb460c2722894305f3cb34d Mark Johnston 2025-10-27 16:33:34
Commit group #5: random: remove hifn(4)
random: remove hifn(4)

The Hifn 7955 & 7956 only supports deprecated & NIST disallowed
algorithms (NIST SP800-224idp): SHA1 and SHA1-HMAC.

Furthermore the entropy RNG of the Hifn 7751, 7951, 7811, 7955,
and 7956 has no NIST Entropy Source Validation (ESV) certificate
and cannot be used in a FIPS-140-3 nor Common Criteara environment.

Furthermore the most prolific instance for FreeBSD was the
Soekris Engineering vpn1201, vpn1211, vpn1401, and vpn1411
offerings.  These are all 32-bit only processors.  The i386
kernel was de-supported in 15.0.

Reviewed by:    jhb
Differential Revision:  https://reviews.freebsd.org/D53182
685a78570b359eb2bd4d8c28dde22de54d55b8ec David E. O'Brien 2025-10-18 03:15:50

random: remove hifn(4)

Fixes:  https://cgit.freebsd.org/src/commit/?id=685a78
a38a42ed9a9754553212058177093f24a7f48d09 David E. O'Brien 2025-10-29 00:15:36
dtrace/arm64: properly traverse the symbol table
LINKER_EACH_FUNCTION_NAMEVAL() stops processing the symbol table if a
callback function returns a non-zero value.

The fbt_provide_module_function() callback should not return 1 when
ignoring symbols. Instead, always return 0, as in dtrace/x86.

Fixes:          https://cgit.freebsd.org/src/commit/?id=30b68ecda84e ("Changes that improve DTrace FBT reliability on freebsd/arm64:")
Reviewed by:    markj, oshogbo
Approved by:    oshogbo (mentor)
Obtained from:  CheriBSD
Differential Revision: https://reviews.freebsd.org/D53399
2acdec9e4d915ec61d0ca45b408f9beb7aa4b772 Konrad Witaszczyk 2025-10-28 16:09:24
linuxkpi: add stub implementation of pm_vt_switch_(un)register
This adds empty implementations of pm_vt_switch_(un)register which
are used by nvidia-drm. We do not need to specify anything here as
a VT switch always happens on suspend/resume.

Sponsored by:   NVIDIA
Reviewed by:    kbowling (mentor), emaste
Differential Revision:  https://reviews.freebsd.org/D53400
75aa13c64aba71f6f26d05e8fcf96e3862d44cde Austin Shafer 2025-10-28 17:03:18
linuxkpi: gracefully handle page lookup failure in lkpi_vmf_insert_pfn_prot_locked
Currently lkpi_vmf_insert_pfn_prot_locked will check the page iter to
find a usage of the page. If no page was found, it continues on to
try using PHYS_TO_VM_PAGE() to get a page. Currently it does not check
if a valid page was found before passing it to vm_page_busy_acquire,
which can cause a kernel page fault as vm_page_busy_acquire expects
a valid page pointer.

This can easily be triggered while starting KDE6 in wayland mode, which
many users have been reporting. With this change plasma6 starts properly
in wayland mode.

Sponsored by:   NVIDIA
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288565
Reviewed by:    markj, kbowling (mentor)
Differential Revision:  https://reviews.freebsd.org/D53412
03b214a35db1ebdc7575cad8d695c65daf2817bf Austin Shafer 2025-10-28 18:08:01
vchiq: fix another logging format string for 32/64 bit
This is from work from https://reviews.freebsd.org/D37878.

Submitted by: Marco Devesas Campos <devesas.campos@gmail.com>
Differential Revision:  https://reviews.freebsd.org/D53372
8b43286fc3badc646ff5a828bae226c8fca90268 Marco Devesas Campos 2025-10-26 23:08:24
bus_alloc_resource: First step in passing resource IDs by value
Add wrapper inline functions for bus_alloc_resource* that accept a
resource ID by value (instead of a pointer).  The rest of the bus
resource API (outside of compat shims) does not accept resource IDs as
arguments, but instead obtains the resource ID from the resource
itself when needed.  As such, there is no reason to return any
potentially modified resource IDs to the caller.

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D53401
7eb213614b90cde31707a53c4b8ae6acacf2aa0f John Baldwin 2025-10-30 15:14:27
sbuf_delete() after sbuf_finish() & add SBUF_INCLUDENUL
Reviewed by:  adrian, imp
Differential Revision:  https://reviews.freebsd.org/D53254
99651c30b15afd085eca921a42e6ce2e67093609 David E. O'Brien 2025-10-22 07:12:46
racct: Simplify skipping idle process in the throttling daemon
In racctd(), commit c72188d85a79 ("racct: Improve handling of the pcpu
resource") added a superfluous test to skip the idle process when
computing the resource usage and checking for limits, consisting of
a comparison of the considered process' pointer with that of the process of
the first CPU's idle thread.  The P_IDLEPROC flag introduced in commit
33be1632047c ("racct: Fix accounting of CPU time for the system idle
process") is sufficient and simpler for this purpose.

In the second loop throttling processes based on their %CPU usage, the
test excluding processes not in PRS_NORMAL was not consistent with that
of the first loop (which tests for the idle process also).  This had no
practical consequences except a superfluous call to
racct_pcpu_available() as the RACCT_PCTCPU counter stays at 0 on the
idle process (because of the first loop).  Factor out the test in the
new racct_proc_to_skip() function.

No functional change intended.

Reviewed by:    markj
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53455
9530c6f082ada9e6d0323f36697ce53997ab2326 Olivier Certner 2025-10-29 15:47:25
kern: Fix credentials leaks on RACCT but no RCTL
Affected system calls: setuid(), setreuid(), setresuid(), jail_attach(),
setloginclass().

In these system calls, the crhold() calls that, on RACCT, make the
just-installed process credentials survive a concurrent change of the
same credentials just after PROC_UNLOCK() were not matched by
a corresponding crfree() when RCTL is off.  In fact, in that latter
case, they are simply not necessary, so wrap them with '#ifdef RCTL'
stances.  'kern_rctl.c' causes a compile error if RACCT is not defined
but RCTL is, so ease reading by not nesting '#ifdef's.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53456
f4315ff8b3fee71eb0098864a84618f2f8ba85d5 Olivier Certner 2025-10-29 16:46:39
setcred(): Fix RACCT resource accounting on credentials change
When credentials are changed, we need to adjust the sum of resources
associated to the initial and new process' user IDs (and old and new
login classes and jails, but setcred() does not change them) for them to
stay consistent.

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290352
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D53457
2be5127c4a31bacac9b4158395bfa844f6033626 Olivier Certner 2025-10-29 17:07:59
kern/subr_syscalls.c: declare 'traced' local variables boolean
Reviewed by:  markj
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential revision:  https://reviews.freebsd.org/D53482
a6a9d97708ec18bf307b01141d84aabd01289159 Konstantin Belousov 2025-10-30 18:35:15
param.h: Bump __FreeBSD_version for e5aa60d06958
Commit e5aa60d06958 changed the internal KAPI between
the NFS modules.  As such, they all need to be rebuilt
from sources.  Bump __FreeBSD_version to 1600004 for this.
b3de3c2dea576b626a8a107d96b0fd6562500c1e Rick Macklem 2025-11-03 00:16:21

Build system

pkgbase: fix kyua package
All its shared data should be installed in the FreeBSD-kyua package
74dfef71d8c0f55ebe09337eabd797e03dc0ef1a Baptiste Daroussin 2025-10-17 14:58:41
zlib: Move to a new zlib package
zlib is a standalone third-party component, and deserves its own
package rather than living in runtime.  For example, this will make
future security updates less invasive.  This also means there's no
dependency on runtime for ports that just require zlib, which is
useful for service jails.

MFC after:      3 days
Reviewed by:    bapt, emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53058
924c0c60d4aeaa474fb028118ca82d505166b4ab Lexi Winter 2025-10-28 18:15:44
padlock.4: only install on i386
88a53301e198b043e9b046b1c824eae5a24064f9 David E. O'Brien 2025-10-29 00:26:00
release: Only check no-root/no-qemu when building
Building VMs as non-root requires no-QEMU code paths (installing
packages from outside the VM image rather than inside it) and vice
versa; we have a check for broken combinations.

Unfortunately that check was breaking
make -C src/usr.sbin/pkg NO_ROOT=YES -V PKGCONFBRANCH
because that code reaches into src/release to determine the branch
name (which is then used to determine which /etc/pkg/FreeBSD.conf to
install).

Wrap the no-root/no-qemu check in an .if to only run when we've
asked for VM and/or CLOUD building to be enabled.

Reviewed by:    ivy
MFC after:      5 minutes
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53486
b485322d6b5846fe4fb5aff6c4a07221b09946fc Colin Percival 2025-10-30 19:14:25
pkg: Die if make -V BRANCH fails
If build logic breaks such that we can't figure out which branch we're
on, we should error out rather than shipping a default (and probably
wrong) /etc/pkg/FreeBSD.conf

Reviewed by:    ivy
MFC after:      5 minutes
Suggested by:   ivy
Differential Revision:  https://reviews.freebsd.org/D53487
0837b2ebd570ea092353aa3c46e374f7a1533a1d Colin Percival 2025-10-30 20:46:12
depend-cleanup.sh: clean up after riscv64 enhanced string function patch set
This ensures an incremental build succeeds after import of
D47275, D46023, D45730, D45693, D46139, D46230, D46047, and D53248.

Approved by:    markj (mentor)
MFC after:      1 month
MFC to:         stable/15
Differential Revision:  https://reviews.freebsd.org/D53485
d59e924d2969ce2c8bec0fc4500989865fbece75 Robert Clausecker 2025-10-30 18:57:23
bsd.prog.mk: Skip warnings if compiler.mk was not included
We emit a warning if src.conf options WITH_RETPOLINE or INIT_ALL are
in use, and the compiler or linker does not support the feature.

For targets like `cleandir` we skip including bsd.compiler.mk, which
leaves COMPILER_FEATURES unset and spurious warnings were emitted in
early buildworld stages, if these options are in use.

Commit 0837b2ebd570 ("pkg: Die if make -V BRANCH fails") added -W to
usr.sbin/pkg's make flags, causing it to exit on warnings.  As a result
buildworld failed when these src.conf options were in use.

Clean this up by omitting the warning if the magic
_NO_INCLUDE_COMPILERMK flag is set, which indicates that
COMPILER_FEATURES is not set.

Reviewed by:    imp
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53501
e4f2a350955406ffd58dd3f0bb7610df0f36d647 Ed Maste 2025-10-31 15:53:42
static_libpam: Don't install pam.d.5 twice
static_libpam's Makefile includes libpam's Makefile after setting some
variables (like MAN) to empty to avoid installing the manpages twice.
After commit 031e711647c3, it neglected to do this for MANNODEVLINKS,
causing pam.d.5.gz to be installed twice.  This is harmless for
installworld, but breaks some things that rely on METALOG (NO_ROOT
installs) since it causes two METALOG entries to be generated for
the same file.

Fixes:  https://cgit.freebsd.org/src/commit/?id=031e711647c3 ("packages: Install development manpages in the -dev package")
MFC after:      3 days
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290708
Reported by:    emaste
Reviewed by:    emaste
Sponsored by:   https://www.patreon.com/bsdivy
Differential Revision:  https://reviews.freebsd.org/D53512
a1806e6ff37a606277ab9657b951e918164e9f63 Lexi Winter 2025-11-01 13:38:26
release: Spell metalog_add_data conventionally
Reviewed by:  markj
MFC after:      3 days
Fixes: https://cgit.freebsd.org/src/commit/?id=f1995d6fc13f ("release: Prepare GCE cloudware images for building as non-root")
Differential Revision:  https://reviews.freebsd.org/D53530
c3a3af1346684eedf836fb62f874092ce602697e Colin Percival 2025-11-02 00:16:35
Makefile.incl1: .WAIT before distribute in etc
In order to make sure that man pages are all installed before we run
makewhatis to generate mandoc.db files, we have long placed etc at the
end of the list of subdirectories being recursed into by the build.
In order to support installworld -jN, a .WAIT was more recently added
here.

With the recent adoption by the release engineering team of parallel
*release* builds (aka 'make release -jN') it is now also necessary to
add the same .WAIT before recursing for the 'distribute' target, as we
otherwise end up with distribution sets containing incomplete mandoc.db
files.

Reviewed by:    bdrewery
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289683
MFC after:      3 days
Sponsored by:   https://www.patreon.com/cperciva
Differential Revision:  https://reviews.freebsd.org/D53533
dcb6706ba494f34e2a2ce97e5c5f2867b9e1f5ef Colin Percival 2025-11-02 04:22:26

Internal organizational stuff

git-arc: Fix quoting of review titles
This really only matters if a commit title has multiple consecutive
spaces, which itself is probably an accident.

Reported by:    des
be27c64b3a0150534252a66263703283a79c39a0 Mark Johnston 2025-10-29 16:48:18
bsd-family-tree: add macOS 26
Sponsored by: tipi.work
c6e02892bbca1237546e3943c0971768822e1745 Sergey A. Osokin 2025-10-31 20:25:11

Testing

closefrom_test: Convert to atf-c(3)
Reviewed by:  ngie, markj
Differential Revision:  https://reviews.freebsd.org/D52800
2fbb6e213ac2075594da5f68a72d41074fd85b69 John Baldwin 2025-10-27 17:36:06
fusefs: Fix intermittency in the BadServer.ShortWrite test case
We were using the m_quit bit for two similar but distinct uses:

* To instruct the server to quit
* To cope with the kernel forcibly unmounting the fs

Fix the intermittent test failure by adding a separate bit,
m_expect_unmount, to handle cases like the latter.

Reported by:    Siva Mahadevan <me@svmhdvn.name>
MFC after:      1 week
Revied by:      Siva Mahadevan <me@svmhdvn.name>
Differential Revision: https://reviews.freebsd.org/D53357
d86025c1d49c84c4dc8c3635c83c078ad56e5a53 Alan Somers 2025-10-25 22:38:30
pf tests: tftp-proxy test case
Sponsored by: Rubicon Communications, LLC ("Netgate")
db0d002a217b1171ca85e8c17706de744ab6635d Kristof Provost 2025-10-28 13:13:56
pf tests: pfctl -T replace test
Sponsored by: Rubicon Communications, LLC ("Netgate")
56d5ec30e8e135f716e10b5bf2c0cc1ba18933f9 Kristof Provost 2025-10-31 09:44:00

Style, typos, and comments

These could go in other categories, but it's more clear if they're here instead.

PCI_IOV_ADD_VF.9: Fix a typo in the manual page
- s/initializating/initializing/

MFC after:      5 days
d81fe0b206325b40e13625f5684ec8d19fdccf04 Gordon Bergling 2025-10-26 15:34:56
atomic.9: Fix a typo in the manual page
- s/constrast/contrast/

MFC after:      5 days
2f263badccf842470323b64613eccb0c0b9a12c1 Gordon Bergling 2025-10-26 15:35:50
bhnd.9: Fix a typo in the manual page
- s/devce/device/

MFC after:      5 days
3ceaf4d80401fab49895a5ac3bb1fe602f588da8 Gordon Bergling 2025-10-26 15:36:51
bus_dma.9: Fix two typos in the manual page
- s/decribes/describes/
- s/Muliple/Multiple/

MFC after:      5 days
5215760811a5ce75d77f9017e392445014e6b1bb Gordon Bergling 2025-10-26 15:38:29
copy.9: Fix a typo in the manual page
- s/heterogenous/heterogeneous/

MFC after:      5 days
ad7bbe691b453039980df729f32fffaf02ffd21c Gordon Bergling 2025-10-26 15:39:32
crypto_request.9: Fix a typo in the manual page
- s/througput/throughput/

MFC after:      5 days
a1e76a3af8d64b400100d8ab595eeb32cd79d358 Gordon Bergling 2025-10-26 15:40:47
domain.9: Fix a typo in the manual page
- s/exprimental/experimental/

MFC after:      5 days
e17c87d4a27509ed8324e69056b06dec878db064 Gordon Bergling 2025-10-26 15:41:37
efirt.9: Fix a typo in the manual page
- s/retireved/retrieved/

MFC after:      5 days
1a28455cb5f59de98cd6085fce500b457eb80847 Gordon Bergling 2025-10-26 15:42:42
g_geom.9: Fix a typo in the manual page
- s/strng/string/

MFC after:      5 days
187a0a85e15377405068663af743b78481e5564f Gordon Bergling 2025-10-26 15:43:35
gone_in.9: Fix a typo in the manual page
- s/Initializaiton/Initialization/

MFC after:      5 days
576e735efb85cae5213621981ed33ced8878a352 Gordon Bergling 2025-10-26 15:44:30
ifnet.9: Fix a typo in the manual page
- s/addess/address/

MFC after:      5 days
73a78c2dc99a3942d8e503c62537d2f3838a6954 Gordon Bergling 2025-10-26 15:45:28
nvmem.9: Fix multiple typos in the manual page
- s/sucess/success/

MFC after:      5 days
005603cd3dee7610587f1193f9529eb2a42781d7 Gordon Bergling 2025-10-26 15:46:26
ofw_bus_is_compatible.9: Fix a typo in the manual page
- s/compatibile/compatible/

MFC after:      5 days
b1f96b1c4c95df5c04e067c638e52c9652f86721 Gordon Bergling 2025-10-26 15:47:44
pci.9: Fix a typo in the manual page
- s/maxmimum/maximum/

MFC after:      5 days
a859a5c6978de121efc7771351d32550ee430b7c Gordon Bergling 2025-10-26 15:48:36
refcount.9: Fix a typo in the manual page
- s/sucessfully/successfully/

MFC after:      5 days
40fae644ba9a27227ca6f7c290e54fcef462b341 Gordon Bergling 2025-10-26 15:49:28
seqc.9: Fix a typo in the manual page
- s/changees/changes/

MFC after:      5 days
fe45f7ddb53f16198a60cd015c20f5fc524aed89 Gordon Bergling 2025-10-26 15:50:26
style.9: Fix two typos in the manual page
- s/signficant/significant/
- s/protoypes/prototypes/

MFC after:      5 days
8eedabfe9ac8b5841662d342c5ba8cbb0ac6e0c5 Gordon Bergling 2025-10-26 15:52:11
vn_fullpath.9: Fix two typos in the manual page
- s/resulting/resulting/
- s/initally/initially/

MFC after:      5 days
3b79697040a7d3f9a4a21fb2e66d9031feb6af84 Gordon Bergling 2025-10-26 15:53:22
ipfs: Fix typo in error message
MFC after:    3 days
5ae7b106cfd4801ef5e0f69b02ad9b3ae3ccfbec Cy Schubert 2025-10-28 03:43:14
arm/nvidia/tegra: Fix a couple of typos in kernel messages
- s/intialization/initialization/
- s/Cannott/Cannot/
- s/ivalid/invalid/
- s/wating/waiting/

MFC after:      1 week
b87836e824ea40793317d551eb13a8e2814f83f9 Gordon Bergling 2025-10-28 08:04:33
hyper-v: Fix a couple of typos in kernel messages
- s/tranparent/transparent/
- s/Unknow/Unknown/
- s/qury/query/

MFC after:      1 week
1ef6fef9d5c82a106ba8e42c1e087f9b5d1dfec6 Gordon Bergling 2025-10-28 08:07:28
ocs_fc(4): Fix a couple of typos in kernel messages
- s/unexpectd/unexpected/
- s/Unexected/Unexpected/
- s/niether/neither/
- s/sucessfully/successfully/
- s/Inavlid/Invalid/
- s/toplogy/topology/

MFC after:      1 week
aa0cd9e5b4d21b11097e1c21a3c0eb23525c15c3 Gordon Bergling 2025-10-28 08:11:11
virtio(4): Fix a couple of typos in kernel messages
- s/reponse/response/
- s/Cannnot/Cannot/

MFC after:      1 week
e9058e1444d8e5831a237934ca2316e22fc55f36 Gordon Bergling 2025-10-28 08:14:43
fusefs(5): Fix a couple of typos in kernel messages
- s/intalled/installed/
- s/attributess/attributes/

MFC after:      1 week
b57198f620bcbf899a32c3de9526bd525ab8a39e Gordon Bergling 2025-10-28 08:16:35
cam: Fix three typos in kernel messages
- s/maximun/maximum/
- s/queing/queueing/
- s/exhausing/exhausting/

MFC after:      1 week
adfe14dcc2747a20dff961044d6817c507087327 Gordon Bergling 2025-10-29 08:23:51
nfsclient: Fix a typo in a panic message
- s/eroneous/erroneous/

MFC after:      1 week
08a6620093dc2786051bf6ae6f40ae048027021b Gordon Bergling 2025-10-29 08:26:23
aic7xxx: Fix a couple of typos in device messages
- s/Reseting/Resetting/
- s/staus/status/
- s/referrenced/referenced/

MFC after:      1 week
d1e39f3d6e5fce1a30a5713d522f87d83654c4bd Gordon Bergling 2025-10-29 08:29:08
audit(4): Fix a typo in an kernel error message
- s/Authenticateion/Authentication/

MFC after:      5 days
63af953e09ccd11f2f5b4d83b10cc231f691de46 Gordon Bergling 2025-10-29 15:05:43
usb(4): Fix typos in upgt(4) and zyd(4)
- s/frequence/frequency/
- s/finsihed/finished/

MFC after:      5 days
679976d8162004f879a1a0d5ca0c5d2ade5fa1bd Gordon Bergling 2025-10-29 15:08:31
geom(4): Fix typo in a kernel message
- s/supressing/suppressing/

MFC after:      5 days
57b78a557b3ce07b1589c9c21debe97d45599391 Gordon Bergling 2025-10-29 15:10:09
arm/mv: Fix typo in a kernel error message
- s/Unkown/Unknown/

MFC after:      5 days
b074d146969d3097c1e144623360b36083d74927 Gordon Bergling 2025-10-29 15:12:52
arm/ti: Fix typo in a KASSERT message
- s/patcket/packet/

MFC after:      5 days
862024c00f3126220ac425f9ec1f3d4286064688 Gordon Bergling 2025-10-29 15:14:23
tegra210: Fix typo in a kernel message
- s/volatge/voltage/

MFC after:      5 days
6a02851a0e346cbff074dab87807c9ee9d1e8d94 Gordon Bergling 2025-10-29 15:16:41
acpi(4): Fix typo in a panic message
- s/depenedent/dependent/

MFC after:      5 days
f51fb91d616d49e91f3c2c706263a38b98176911 Gordon Bergling 2025-10-29 15:17:32
ale(4): Fix typo in a kernel message
- s/sequnce/sequence/

MFC after:      5 days
a675f3bb63774a63f668749c6c3c8dfbb6be1cd6 Gordon Bergling 2025-10-29 15:18:31
style.Makefile: document the style for lists
Reviewed by:  sjg
Differential Revision:  https://reviews.freebsd.org/D53429
237cc7b408dd8d0c6eb4af6ab796b8d4b750c9ba David E. O'Brien 2025-10-29 07:59:18
bus_attach_children.9: fix typo
s/DEVICE_ATTACH/DEVICE_DETACH

Reviewed by:    ziaee
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D53449
9b9c726df1e214afa122873395a3ac32dd80ae6b Ahmad Khalifa 2025-10-30 13:14:42
ddb: whitespace change
No functional change intended.

MFC after:      3 days
Sponsored by:   Netflix, Inc.
3adaacad117b23abaf93a5332d538037420e1daa Michael Tuexen 2025-10-31 18:01:50
amdtemp(4): Fix typo in a sysctl description
- s/temparature/temperature/

MFC after:      5 days
85d6c86f4b53e6ac2a9b163c553b48466638f394 Gordon Bergling 2025-10-29 15:21:25
oce(4): Fix a couple of typos in a sysctl descriptions
- s/Fragements/Fragments/
- s/Recived/Received/
- s/Alignmnet/Alignment/

MFC after:      5 days
542f5985a8c2e7cccc9beb9801ec166082bb7e68 Gordon Bergling 2025-10-29 15:24:00
vnic: Fix a typo in a device messsage
- s/interrups/interrupts/

MFC after:      5 days
74a44a0bc8ab965d28d1ce804d3f0aead035faf0 Gordon Bergling 2025-10-29 15:25:33
ath(4): Fix a typo in a device messsage
- s/Orignal/Original/

MFC after:      5 days
3eaa2a852b475c7f063bbf677fa536e76514d309 Gordon Bergling 2025-10-29 15:26:59
bwi(4): Fix a typo in a panic messsage
- s/unsupport/unsupported/

MFC after:      5 days
404af374b10ca56c6f82510a5bb23232a9f25c34 Gordon Bergling 2025-10-29 15:28:06
cesa: Fix a typo in a device messsage
- s/exhaused/exhausted/

MFC after:      5 days
081aa26778f3facdd836c28b2e3fed5de2f8b7b4 Gordon Bergling 2025-10-29 15:35:35
ciss(4): Fix a typo in a debug messsage
- s/unspported/unsupported/

MFC after:      5 days
84d75bb018e1800d610760191ff64c3eebcb46d7 Gordon Bergling 2025-10-29 15:36:50
igc(4): Fix a typo in a sysctl description
- s/Recevied/Received/

MFC after:      5 days
defe77554d134964d7c197a2f3ca552778e8b41a Gordon Bergling 2025-10-29 15:38:03
mfi(4): Fix a typo in a KASSERT message
- s/dissappeared/disappeared/

MFC after:      5 days
a25172844edaaa7e18c1dcecb6df8b8832456334 Gordon Bergling 2025-10-29 15:38:59
isci(4): Fix two typos in a log messages
- s/suspeneded/suspended/

MFC after:      5 days
7b11940d4a66589069c21534dd0b969f79ae79df Gordon Bergling 2025-10-29 15:41:06

Contrib code

MFV: Import blocklist 2025-10-26 (ff13526)
Merge commit 'df549a80425635d98419f7f742309d66d367e65f'

Changes:

https://github.com/zoulasc/blocklist/compare/156df4f...ff13526

MFC after:      2 days
34ffc7073f1786bae5e77593abd423ed31c10024 Jose Luis Duran 2025-10-27 12:57:37
blocklist: blacklist: Chase recent upstream changes
Upstream introduced a fix that avoids blocklistd(8) from running into an
endless loop when it tries to delete an address from the database which
has been added multiple times.

Apply the same fix to blacklistd(8).

Upstream PR:    https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=57193
MFC after:      2 days
b502a451cbae6a85636c7b8375f5ee53caca4388 Jose Luis Duran 2025-10-27 15:01:22
pjdfstest: Fix link count test
This UFS-only test verifies that attempting to create more links than
permitted by the file system returns EMLINK, but has been broken ever
since UFS_LINK_MAX was increased because a) it hardcodes the previous
value of UFS_LINK_MAX, and b) the new value requires more space than
the test allocates, so it ends up getting ENOSPC instead of EMLINK.

* Switch to retrieving {PC_LINK_MAX} at runtime.

* Stop the test when we reach {PC_LINK_MAX} links.  This ensures that
  we don't go on for hours if the actual limit turns out to be much
  higher than we anticipated (e.g. INT64_MAX on ZFS).

* Double the size of the test filesystem.

MFC after:      3 days
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Fixes:          https://cgit.freebsd.org/src/commit/?id=35a301555bff ("Increase UFS/FFS maximum link count from 32767 to 65530.")
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53442
6c86379b0d0deb2750a662579f63d71ffa519e81 Dag-Erling Smørgrav 2025-10-30 20:18:17
pjdfstest: Avoid needless use of expr
Sponsored by: Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53443
28345f093783ec78163660dd1168838fe0ff1f12 Dag-Erling Smørgrav 2025-10-30 20:18:23
vchiq: fix compilation error on armv7 in CI and local armv7 builds
This happens in CI and on local armv7 builds, but not when I cross
compile to armv7 locally.

> /usr/src/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c:549:71: error: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Werror,-Wformat]
>   549 |                 "free_pagelist - %zx, %d (%u bytes @%p)", (size_t)pagelist, actual, pagelist->length, bi->buf);

So just be very specific about the printf types and explicitly
cast things.
0726d6e87ad508f9e6a78685d3d9067edf255588 Adrian Chadd 2025-11-01 17:23:12
tzcode: Fix early tz change detection
Assume tzdata is not fresh if last_checked is zero, as comparing the
current time to last_checked less than __tz_change_interval after boot
may produce a false negative.

While here, invert the return value from tzdata_is_fresh() to better
match its new name (it was previously called recheck_tzdata(), so zero
for fresh and non-zero for stale made sense, but it doesn't now).

PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269207
MFC after:      3 days
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D53502
a38c2f99f81c2fc35c8ca209931c1c46e3e81023 Dag-Erling Smørgrav 2025-11-02 13:51:42

Reverted commits

Commit & revert pair: isa: Use gone_in_dev(9) for deprecation message
isa: Use gone_in_dev(9) for deprecation message

Reviewed by:    bz, imp
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53366
ce6792d3cd798079f0c9ba244faba4ea666bb6f4 Ed Maste 2025-10-26 17:06:57

Revert "isa: Use gone_in_dev(9) for deprecation message"

gone_in(_dev) prints only one message per function call src line, so
this would miss reporting for the second and later such devices.

This reverts commit ce6792d3cd798079f0c9ba244faba4ea666bb6f4.

Reported by:    glebius
Sponsored by:   The FreeBSD Foundation
b0cfcd07bb6134ebe319c57142be2b53bb9090e7 Ed Maste 2025-10-28 12:15:33
Revert "blocklistd-helper: Silence another bogus pf warning"
This reverts commit 67ade69eb6079887215db1fde86eba2fb8e2acf7.

A fix has been implemented in a943a96a50ba ("libpfctl: Fix displaying
deeply nested anchors").

Revert this commit to avoid having differences with upstream.
6f0942bde7a08fe46e575486f0e9c97c055d5aad Jose Luis Duran 2025-10-28 11:41:31
Revert "blocklist-helper: Silence a bogus pf warning"
This reverts commit 2347ca21d657121670e6e7246c6ac32efc996cac.

A fix has been implemented in 99560fe98c76 ("pfctl: Do not warn if there
is no Ethernet anchor").

Revert this commit to avoid having differences with upstream.

MFC after:      2 days
e12ec5f4338c2d769c266278320232a98a962f63 Jose Luis Duran 2025-10-28 11:44:50
Commit & revert pair: bus: Take the topolock in driver_module_handler()
bus: Take the topolock in driver_module_handler()

And sprinkler some asserts. Right now all module handlers are called
with Giant, but I'd like to drop that so push the newbus locking one
step further.

Sponsored by:           Netflix
83519c1764f80ddbdf34e16de08ff110226aba2b Warner Losh 2025-10-28 19:48:07

bus: Revert "bus: Take the topolock in driver_module_handler()"

This reverts commit 83519c1764f80ddbdf34e16de08ff110226aba2b.

This was accidentally in my main branch when I poushed. It's not ready
yet.

Sponsored by:           Netflix
86b259a28a1a47b0506c519b17d8adb67d4a0b0d Warner Losh 2025-10-28 22:37:14
Commit & revert pair: Merge commit e24f90190c77 from llvm git (by Brad Smith):
Merge commit e24f90190c77 from llvm git (by Brad Smith):

    [Driver] Enable outline atomics for FreeBSD/aarch64 (#156089)

The compiler_rt helper functions have been built since 12.4, 13.1, 14
and anything newer.

MFC after:      3 days
51e8e8b0f36933814b1be08913857727876aece5 Dimitry Andric 2025-10-29 18:49:54

Revert "Merge commit e24f90190c77 from llvm git (by Brad Smith):"

    [Driver] Enable outline atomics for FreeBSD/aarch64 (#156089)

The compiler_rt helper functions have been built since 12.4, 13.1, 14
and anything newer.

This reverts commit 51e8e8b0f36933814b1be08913857727876aece5.

MFC after:      immediately
bd27bd1f51d049538cc7a0053be9d99110a53ae1 Dimitry Andric 2025-10-31 15:48:31

Unclassified commits

Not classified automatically, and waiting for manual attention.

-- no commits in this category this week --

Technical notes

Dates:

Automatic grouping:

Automatic categories:

Source code:


Generated with commits-periodical 0.18 at 2025-11-03 03:26:55+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2025-10-27 (debug) (contains info about the classification)