FreeBSD/src ee81cd1sys/dev/dpaa qman.c qman_portals.c

dpaa/qman: Fix various pool allocation bugs

* Set qman_channel_base after determining if QMan is v3, otherwise this
  global stays at 0x21, which messes up the shift in
  qman_portal_static_dequeue_channel().
* Fix the base shift in qman_portal_static_dequeue_channel(), there are
  only 15 channels available, not 16, so starting at a shift of 15
  yields shifting into the portal-specific channel.
* Correct vmem pool names for QMan resource pools.
DeltaFile
+3-4sys/dev/dpaa/qman_portals.c
+3-3sys/dev/dpaa/qman.c
+6-72 files

FreeBSD/src 1d445aesys/dev/dpaa dpaa_eth.c

dpaa/eth: fast-path single-page TX frame build

The TX SG-build loop in dpaa_eth_if_start_locked() walked page
boundaries with PAGE_MASK arithmetic even for buffers that lived
entirely within one page -- the common case, since MCLBYTES
is smaller than PAGE_SIZE.  Add a fast path that emits a single SGT
entry for wholly-in-one-page segments and skips the inner while
entirely.

Fix the following bugs while we're here:

1. "if (m->m_len == 0) continue;" in the outer loop never
   advanced m -- any zero-length mbuf hung the TX path in an
   infinite loop.  Fix this by switching to a for loop, with the
   advancement in the post-clause.

2. In the inner (page-splitting) loop, the cap
   "if (m->m_len < ssize) ssize = m->m_len;" compared against
   the mbuf's original length, not the remaining bytes.  A single mbuf

    [11 lines not shown]
DeltaFile
+42-15sys/dev/dpaa/dpaa_eth.c
+42-151 files

FreeBSD/src d59c7ealib/libc/stdlib bsearch.c bsearch.3, lib/libc/tests/stdlib test-search.h bsearch_b_test.c

libc: Implement bsearch_s(), document bsearch_b(), and add unit tests

- Implement bsearch_s() as per §K.3.6.3.2 in C23, first specified
  in C11.  It behaves identically to bsearch(), except the callback
  is called with a third argument, context, which is passed through
  from the caller, and it also performs runtime constraint checking
  on its arguments.
- Document bsearch_b(), bsearch_s(), and add history section
- Add rudimentary unit tests for bsearch(), bsearch_b(), and bsearch_s()

Reviewed by:    dteske, fuz
Approved by:    dteske (mentor), fuz (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D58876
DeltaFile
+134-0lib/libc/tests/stdlib/bsearch_s_test.c
+103-5lib/libc/stdlib/bsearch.3
+92-0lib/libc/tests/stdlib/bsearch_test.c
+58-0lib/libc/tests/stdlib/bsearch_b_test.c
+51-0lib/libc/tests/stdlib/test-search.h
+38-0lib/libc/stdlib/bsearch.c
+476-55 files not shown
+503-611 files

FreeBSD/src b5c1ab6sys/dev/sound/pci hdspe-pcm.c hdsp-pcm.c

snd_hdsp*: malloc(9) with M_WAITOK

Perform the allocations outside the lock section so that we can use
M_WAITOK. Holding the lock here is actually not really necessary and we
could just as well remove it, but keep it for consistency.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 month
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D59079
DeltaFile
+15-2sys/dev/sound/pci/hdspe-pcm.c
+15-2sys/dev/sound/pci/hdsp-pcm.c
+30-42 files

FreeBSD/src f4d953busr.sbin/bhyve pci_hda.c

bhyve: Do not panic on invalid input in HDA emulation

The emulated HDA controller passed values taken from guest registers and
from guest memory straight into assert(), so a guest could abort bhyve
with values the emulation did not expect. Reject them instead.

In case the guest asked to start something and it failed, clear the
corresponding run/enable bit.

PR:             256379, 256381, 256382, 256383, 256384, 256385, 256386, 256498
Sponsored by:   The FreeBSD Foundation
MFC after:      2 weeks
Reviewed by:    bnovkov, jhb
Differential Revision:  https://reviews.freebsd.org/D59082
DeltaFile
+37-18usr.sbin/bhyve/pci_hda.c
+37-181 files

FreeBSD/src fd7171dlibexec/rc/rc.d bgfsck

rc.d/bgfsck: use the correct variable name

The name of the script and the name used internally for rc.conf differ,
as such the hardcoded disabling of service jails for the didn't work.
Fix by using the correct name.
Fixes:          f99f0ee14e3af rc.d: add a service jails config to all base system services

(cherry picked from commit 84d8d2878a6efbb2c97a591054f1fc42b7d406ab)
DeltaFile
+1-1libexec/rc/rc.d/bgfsck
+1-11 files

FreeBSD/src 0bee17alibexec/rc rc.subr

etc/rc.subr: svcj - use the filename for services

We have ports and basesystem services, where the internal name and the
filename differ. While the documentation recommends to keep them in
sync, the reality is different. For service jails use the basename of
the service filename.
Fixes:          2efbd48 rc: add service jails framework
Suggested by:   joneum
MFC after:      1 week
MFC to:         stable/15

(cherry picked from commit d0f0a3b89b932b776b76278fa6885f19e8b30cbb)
DeltaFile
+6-6libexec/rc/rc.subr
+6-61 files

FreeBSD/src a209aaclibexec/nuageinit nuageinit

nuageinit: root should be allowed to log in when disable_root is false

PermitRootLogin is "no" by default and that stopped root from logging in
even though disable_root was set to false during initialization.

Reviewed by:    bapt
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D59101
DeltaFile
+2-0libexec/nuageinit/nuageinit
+2-01 files

FreeBSD/src 70c9d04usr.sbin/bsdinstall/scripts script

bsdinstall: Ensure logging retained when BSDINSTALL_LOG is not changed by preamble

Before the preamble script is sourced, initialize BSDINSTALL_LOG with the
file in $debugFile, if it is not already set.

Without this change, the bsdinstall script would assume the preamble set
BSDINSTALL_LOG to empty and the comparison with $debugFile will fail,
causing the log to be re-initialized to /dev/null.

Reviewed by:    dteske
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D25343
DeltaFile
+1-0usr.sbin/bsdinstall/scripts/script
+1-01 files

FreeBSD/src 224e136sys/netgraph/bluetooth/l2cap ng_l2cap_llpi.c

bluetooth(4): Fix a typo in a kernel message in l2cap

- s/staring/starting/

(cherry picked from commit 8e968c5ff4112387c87f7afdf79d873a6f475b21)
DeltaFile
+1-1sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c
+1-11 files

FreeBSD/src 70ec66dsys/netgraph/bluetooth/l2cap ng_l2cap_llpi.c

bluetooth(4): Fix a typo in a kernel message in l2cap

- s/staring/starting/

(cherry picked from commit 8e968c5ff4112387c87f7afdf79d873a6f475b21)
DeltaFile
+1-1sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c
+1-11 files

FreeBSD/src 489f9edusr.sbin/bhyve bhyve_config.5

bhyve: document missing options in bhyve_config(5)

Document a few options that are currently supported but
not covered in bhyve_config(5):

 - vcpu.N.cpuset
 - domains.N.{size,cpus,domain_policy}
 - console (for arm64 and riscv)

MFC after:              1 week
Reviewed by:            bnovkov, jhb
Sponsored by:           The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D58399

(cherry picked from commit a257e2dc9c6ecd3db41e1aa27a5297a0f328694a)
DeltaFile
+43-2usr.sbin/bhyve/bhyve_config.5
+43-21 files

FreeBSD/src 3481a9csys/dev/pci pci_iov.c pci_private.h

pci: Expose a VF's owning PF to bus subclasses

ofw_pcibus now uses pci_iov_get_pf() to inherit PF locality for
VFs, but the accessor was inadvertently left in an uncommited ACPI
change.  This breaks powerpc builds.

Expose the accessor from the PCI core and provide a stub when PCI_IOV
is omitted.  Record VF ownership before pci_add_child() so child added
callbacks can safely query it, and remove the later redundant
assignment.

Fixes:          f003e86335c9 ofw_pcibus: Inherit PF locality for SR-IOV VFs
MFC after:      2 weeks
Sponsored by:   BBOX.io
DeltaFile
+25-0sys/dev/pci/pci.c
+0-1sys/dev/pci/pci_iov.c
+1-0sys/dev/pci/pci_private.h
+26-13 files

FreeBSD/src be503ddsys/dev/intel spi_pci.c

intelspi: add Lunar Lake SPI controller IDs

Add PCI device IDs for Lunar Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59010
DeltaFile
+3-0sys/dev/intel/spi_pci.c
+3-01 files

FreeBSD/src ca1a2bfsys/dev/intel spi_pci.c

intelspi: add Arrow Lake SPI controller IDs

Add PCI device IDs for Arrow Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59009
DeltaFile
+3-0sys/dev/intel/spi_pci.c
+3-01 files

FreeBSD/src 6d4b45asys/dev/intel spi_pci.c

intelspi: add Meteor Lake SPI controller IDs

Add PCI device IDs for Meteor Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59008
DeltaFile
+7-0sys/dev/intel/spi_pci.c
+7-01 files

FreeBSD/src a6d84d0sys/dev/intel spi_pci.c

intelspi: add Raptor Lake SPI controller IDs

Add PCI device IDs for Raptor Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59007
DeltaFile
+4-0sys/dev/intel/spi_pci.c
+4-01 files

FreeBSD/src 2dd4027sys/dev/intel spi_pci.c

intelspi: add Alder Lake SPI controller IDs

Add PCI device IDs for Alder Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59006
DeltaFile
+10-0sys/dev/intel/spi_pci.c
+10-01 files

FreeBSD/src bdda595sys/dev/intel spi_pci.c

intelspi: add Elkhart Lake SPI controller IDs

Add PCI device IDs for Elkhart Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59005
DeltaFile
+3-0sys/dev/intel/spi_pci.c
+3-01 files

FreeBSD/src 3ff56f8sys/dev/intel spi_pci.c

intelspi: add Tiger Lake SPI controller IDs

Add PCI device IDs for Tiger Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59004
DeltaFile
+11-0sys/dev/intel/spi_pci.c
+11-01 files

FreeBSD/src e7db9fasys/dev/intel spi_pci.c

intelspi: add Jasper Lake SPI controller IDs

Add PCI device IDs for Jasper Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59003
DeltaFile
+3-0sys/dev/intel/spi_pci.c
+3-01 files

FreeBSD/src 88919d5sys/dev/intel spi_pci.c

intelspi: add Ice Lake SPI controller IDs

Add PCI device IDs for Ice Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59002
DeltaFile
+3-0sys/dev/intel/spi_pci.c
+3-01 files

FreeBSD/src 0b4ff3esys/dev/intel spi_pci.c

intelspi: add Lakefield SPI controller IDs

Add PCI device IDs for Lakefield-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59001
DeltaFile
+1-0sys/dev/intel/spi_pci.c
+1-01 files

FreeBSD/src 60848a0share/examples/jails jib jng

examples/jails: Allow any character in interface names

Interface names have no limitations on the allowed character set, only
a length restriction.

Widen the allowed character set for interface names to include any
printable character.

PR:     290916
Reviewed by:    dteske
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D53865
DeltaFile
+6-6share/examples/jails/jng
+4-4share/examples/jails/jib
+10-102 files

FreeBSD/src fc7eb8cshare/examples/jails jib

examples/jails: New version of jib (9.0)

Add $Version, -h/-v, and SPDX-License-Identifier: BSD-2-Clause.
Drop the long-form license and bump the copyright to 2026.

MFC after:      1 week
DeltaFile
+18-25share/examples/jails/jib
+18-251 files

FreeBSD/src 2a7af8esys/dev/e1000 em_txrx.c

e1000: Limit the TSO sentinel to lem(4) controllers

The TSO workaround splits the final DMA segment to create a four byte
sentinel descriptor.  Intel documents the premature descriptor writeback
erratum and this workaround in the 82540EP and 82545GM specification
updates (erratum 3) and the 82546GB specification update (erratum 1).

Limit the workaround and its preceding TSO state to the legacy PCI and
PCI-X controllers so PCIe controllers retain their natural descriptor
layout using one fewer descriptor per TSO packet, no split of the final
segment, and one less four byte DMA.

MFC after:      2 weeks
Sponsored by:   BBOX.io
DeltaFile
+6-2sys/dev/e1000/em_txrx.c
+6-21 files

FreeBSD/src 6b45230sys/fs/unionfs union_subr.c

unionfs_noderem(): fix typo

Reviewed by:            kib, markj
Differential Revision:  https://reviews.freebsd.org/D58858
DeltaFile
+1-1sys/fs/unionfs/union_subr.c
+1-11 files

FreeBSD/src 9a8287csys/kern vfs_mount.c

dounmount(): generalize comment on covered vnode lock recursion

The need for recursion applies (in somewhat different form) to both
nullfs and unionfs, and would likely apply to any other hypothetical
stacked filesystem as well.

Reviewed by:            kib, markj
Differential Revision:  https://reviews.freebsd.org/D58858
DeltaFile
+6-5sys/kern/vfs_mount.c
+6-51 files

FreeBSD/src b952606sys/fs/unionfs union_vnops.c

unionfs_lock(): eliminate LK_CANRECURSE special-case

As of commit 9f5c4ef328 ("dounmount(9): temporarily enable recursion
for the covered vnode lock"), the unmount path handles recursion
automatically, so there's no longer a need to handle this case
in unionfs-specific code.

Reviewed by:    kib, markj
Tested by:      pho
Differential Revision:  https://reviews.freebsd.org/D58858
DeltaFile
+0-11sys/fs/unionfs/union_vnops.c
+0-111 files

FreeBSD/src d7033e3tools/test/stress2/misc unionfs7.sh

unionfs7.sh: eliminate stderr redirection

The bash-ism here results in an "ambiguous output redirect"
error when run under tcsh.  Similar unionfs stress2 tests don't
do this, and unionfs7 doesn't seem to generate spurious output
when run locally, so just delete it.

Reviewed by:            pho
Differential Revision:  https://reviews.freebsd.org/D58856
DeltaFile
+1-1tools/test/stress2/misc/unionfs7.sh
+1-11 files