FreeBSD/src 707ee7fsys/dev/usb usbdevs

usbdevs: Add Microchip 10BASE-T1S eval board

USB vendor:product 184f:0051

Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56794
DeltaFile
+4-0sys/dev/usb/usbdevs
+4-01 files

FreeBSD/src e9f21e4sys/compat/linuxkpi/common/include/linux delay.h

linuxkpi: Add `usleep_range_state()`

It takes a task state as its last argument. We enforce that this state
is `TASK_UNINTERRUPTIBLE` for the time being because other states are
not interpreted.

Change `usleep_range()` to call `usleep_range_state()` with the state
set to `TASK_UNINTERRUPTIBLE`, which is what Linux does too.

The amdgpu DRM driver starte to use `usleep_range_state()` in Linux
6.13.

Reviewed by:    emaste
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57579
DeltaFile
+13-1sys/compat/linuxkpi/common/include/linux/delay.h
+13-11 files

FreeBSD/src 6d5f5f7sys/compat/linuxkpi/common/include/linux acpi.h

linuxkpi: Add `to_acpi_device_node()` and `ACPI_COMPANION()`

The former is called by the latter. We return NULL because linuxkpi does
not implement ACPI (pseudo?) devices associated to regular devices.

The amdgpu DRM driver started to use `ACPI_COMPANION()` in Linux 6.13.

Reviewed by:    emaste
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57577
DeltaFile
+8-0sys/compat/linuxkpi/common/include/linux/acpi.h
+8-01 files

FreeBSD/src 712623asys/dev/usb/controller generic_ehci_fdt.c

generic_ehci_fdt: fix driver softc size

This subclass declares its own softc structure adding necessary members
after the embedded ehci_softc_t. The full size of the struct must be
included in the driver declaration, otherwise the allocation backing the
softc is not guaranteed to be large enough.

Reported by:    KASAN
Reviewed by:    jrtc27, manu
Fixes: 7a58744fd0f1 ("Split out the attachment from the generic-ehci driver")
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57951

(cherry picked from commit d5332d3a904242cb82e7dbf35e4aeec7c2df4402)
DeltaFile
+1-1sys/dev/usb/controller/generic_ehci_fdt.c
+1-11 files

FreeBSD/src 745c0eastand/libofw openfirm.c openfirm.h, stand/powerpc/ofw ofwfdt.c

stand/libofw: make OF_hasprop() part of the library

Currently it is only needed by powerpc ofwfdt.c, and defined statically
there. Make it available as part of libofw, mirroring what we have in
the kernel.

Two small tweaks are made to the implementation:
  1. Return type is changed to bool
  2. Return 'true' when OF_getproplen() == 0. This matches the expected
     semantics of the kernel version, described in OF_hasprop(9).

Reviewed by:    manu, imp, adrian
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D56429

(cherry picked from commit 48a05f833c7d0c089d37522cc234039ec823edf4)
DeltaFile
+7-0stand/libofw/openfirm.c
+0-6stand/powerpc/ofw/ofwfdt.c
+1-0stand/libofw/openfirm.h
+8-63 files

FreeBSD/src b17f8fdsys/arm/broadcom/bcm2835 raspberrypi_virtgpio.c

raspberry_virtgpio: fix OF_hasprop() usage

The function returns a bool. This driver was merged recently (by me) and
I missed this instance.

While here, adjust the ofw_bus_status_okay() call similarly. This
function still returns an int, but this usage is more widely used in our
drivers.

No functional change intended.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Fixes:          b60cd486a652 ("ofw: bool-ify OF_hasprop()")

(cherry picked from commit ce6b4973ba8c6503d3b6dc12d9e6b42ce274d912)
DeltaFile
+2-2sys/arm/broadcom/bcm2835/raspberrypi_virtgpio.c
+2-21 files

FreeBSD/src 7411d01share/man/man9 OF_getprop.9

OF_getprop.9: update OF_hasprop() signature

The return type has been converted to a bool.

Reported by:    manu
Sponsored by:   The FreeBSD Foundation
Fixes:          b60cd486a652 ("ofw: bool-ify OF_hasprop()")

(cherry picked from commit 47b0ac1cadc91eee5e98813169b590c443135fbc)
DeltaFile
+8-4share/man/man9/OF_getprop.9
+8-41 files

FreeBSD/src 2e56e44sys/dev/clk clk_fixed.c

clk_fixed: quiet a warning message

Frequently there are some unused/unspecified fixed clocks present in a
device tree. Each one emits a warning before it fails to attach, which
results in (sometimes many) repeated messages which are not
user-actionable.

Put this warning behind the bootverbose flag.

MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D56204

(cherry picked from commit 8728e21bd694dbb813c149206c5c89290f9c32f5)
DeltaFile
+4-2sys/dev/clk/clk_fixed.c
+4-21 files

FreeBSD/src 64f6ab4sys/dev/clk clk_fixed.c, sys/dev/dwc if_dwc.c

ofw: bool-ify OF_hasprop()

Adjust the function signature and the few callers that don't treat it
this way already.

This is style only; no functional change intended.

Reviewed by:    andrew
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D56203

(cherry picked from commit b60cd486a652f0427e525b4482ac598be5460459)
DeltaFile
+4-4sys/dev/dwc/if_dwc.c
+2-2sys/dev/ofw/openfirm.c
+1-1sys/dev/clk/clk_fixed.c
+1-1sys/dev/ofw/openfirm.h
+1-1sys/dev/usb/net/if_smsc.c
+9-95 files

FreeBSD/src bac4760sys/netinet6 nd6_nbr.c nd6_rtr.c

netinet6: Fix ND link-layer address option layout for IPoIB

RFC 4391 (IP over InfiniBand), section 9.3, lays the ND source/target
link-layer address option out as type, length (3), two reserved zero
octets, then the 20-octet IPoIB link-layer address.
The ND code assumed the Ethernet layout (RFC 4861, section 4.6.1)
everywhere and read/wrote the address directly after the option
header, i.e. two octets early.
The option-length sanity check computes 24 for both layouts for
a 20-octet address, so the mismatch was silent.

PR:             296585
Reviewed by:    adrian, pouria
Sponsored by:   VersatusHPC
Differential Revision: https://reviews.freebsd.org/D58096
DeltaFile
+37-10sys/netinet6/nd6_nbr.c
+10-8sys/netinet6/nd6_rtr.c
+10-5sys/netinet6/icmp6.c
+1-0sys/netinet6/nd6.h
+58-234 files

FreeBSD/src bb5c77ecrypto/openssh libcrux_internal.h libcrux_mlkem768_sha3.h, crypto/openssh/regress/unittests/crypto/testdata nistkats-44.json

OpenSSH: Update to 10.4p1

Full release notes are available at
https://www.openssh.com/txt/release-10.4

Selected highlights from the release notes:

Potentially-incompatible changes
--------------------------------

 * sshd(8): configuration dump mode ("sshd -G") now writes directives
   in mixed case (e.g. "PubkeyAuthentication") whereas previously it
   emitted only lower-case names.

 * ssh(1), sshd(8): make the transport protocol stricter by
   disconnecting if the peer sends non-KEX messages during a post-
   authentication key re-exchange. Previously a malicious peer could
   continue sending non-key exchange messages without penalty. These
   would be buffered, causing memory to be wasted up until the

    [69 lines not shown]
DeltaFile
+27,332-0crypto/openssh/libcrux_internal.h
+0-11,752crypto/openssh/libcrux_mlkem768_sha3.h
+1,869-1,349crypto/openssh/ChangeLog
+1,438-517crypto/openssh/servconf.c
+539-585crypto/openssh/moduli
+802-0crypto/openssh/regress/unittests/crypto/testdata/nistkats-44.json
+31,980-14,203158 files not shown
+37,545-15,612164 files

FreeBSD/src 554cf9dsys/compat/linuxkpi/common/src linux_80211.c

linuxkpi 802.11: Free entire mbuf chain on failure

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Fixes: 0936c648ad0ee ("LinuxKPI: 802.11: update the ni/lsta reference cycle")
Fixes: c816f64e66a0d ("LinuxKPI: 802.11: plug mbuf leak")
Differential Revision: https://reviews.freebsd.org/D57477

(cherry picked from commit 232021fd093c6e65beee5c0b4281091902022d08)
DeltaFile
+2-2sys/compat/linuxkpi/common/src/linux_80211.c
+2-21 files

FreeBSD/src f8e499fsys/netpfil/ipfw ip_fw_nat.c

ipfw nat: Add assertion that mbuf is not a chain

Discarding m_free's return value will result in an mbuf leak if the mbuf
was in a chain.

In general we should use m_freem if the mbuf may be in a chain, or
assert that the return was NULL.  There will not be a chain here due to
m_megapullup, so add an assert.

Reviewed by:    ae
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57479

(cherry picked from commit b16c731b0191d6c47de46a3c6057b0c5ec0dd420)
DeltaFile
+3-2sys/netpfil/ipfw/ip_fw_nat.c
+3-21 files

FreeBSD/src de8a68dsys/netipsec ipsec_output.c

ipsec: Free entire mbuf chain on failure

Reviewed by:    kib
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57475

(cherry picked from commit 85195c0c7f8a2926f0ba131178d9231bc33c81b5)
DeltaFile
+1-1sys/netipsec/ipsec_output.c
+1-11 files

FreeBSD/src 32d229dsys/dev/tsec if_tsec.c

if_tsec: Free entire mbuf chain on failure

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57478

(cherry picked from commit 39e2fe23238f4d49cd6f2c3ce9d0d9c1c3bcbedd)
DeltaFile
+1-1sys/dev/tsec/if_tsec.c
+1-11 files

FreeBSD/src 242c9c8sys/kern vfs_inotify.c, tests/sys/kern inotify_test.c

inotify: Unconditionally generate IN_IGNORED events for files/dirs

The implementation previously only generated an IN_IGNORED event for a
deleted watched file if the watch explicitly requested IN_DELETE_SELF.
This is not correct, IN_IGNORED should always be raised when the watched
subject is deleted.  Adjust the implementation of inotify_log_one()
accordingly.

This also fixes a problem where a deleted watched file's watch
would not be removed if IN_DELETE_SELF was not in the watch's event
mask, in which case the unlinked vnode would linger until the inotify
descriptor itself is closed.

Add a regression test.

Reported by:    jrtc27
Reviewed by:    jrtc27
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D58050

    [2 lines not shown]
DeltaFile
+23-12sys/kern/vfs_inotify.c
+24-0tests/sys/kern/inotify_test.c
+47-122 files

FreeBSD/src 1ad156fsys/kern vfs_inotify.c

inotify: Ensure that "allocfail" is initialized in inotify_log_one()

Fixes:  b70997c8c75a ("inotify: Unconditionally generate IN_IGNORED events for files/dirs")

(cherry picked from commit f370bf9fafce82851bedb2b88bc21ec6ca0182df)
DeltaFile
+1-2sys/kern/vfs_inotify.c
+1-21 files

FreeBSD/src 3defe81sys/ofed/drivers/infiniband/core ib_addr.c

infiniband/core/ib_addr.c: fix typo

We should exit the net epoch instead of acquiring one more entry.

Reported by:    Wafa Hamzah <wafah at nvidia.com>
Reviewed by:    jhb
Sponsored by:   Nvidia networking
Fixes:  4726b80d9379 ("OFED: Various changes from Linux 4.20")
Differential revision:  https://reviews.freebsd.org/D58127
DeltaFile
+2-2sys/ofed/drivers/infiniband/core/ib_addr.c
+2-21 files

FreeBSD/src a00f807usr.bin/vtfontcvt vtfontcvt.c

vtfontcvt: Return error from write_fnt_source

Previously write_fnt_source always returned 0, silently discarding
errors.  Return rv so that errors set vtfontcvt's shell exit
appropriately.

Sponsored by: The FreeBSD Foundation

(cherry picked from commit f05fb5157ba1291ee5019bacece8d1e98ea95b35)
DeltaFile
+1-1usr.bin/vtfontcvt/vtfontcvt.c
+1-11 files

FreeBSD/src 6756f09sys/conf newvers.sh

newvers.sh: Avoid spurious -dirty in git revision

If git is installed and .git exists but git rev-parse failed to report a
hash we previously produced just "-dirty" as the git revision.  Gate the
git commit count and -dirty check on the rev-parse passing.

Reviewed by:    jlduran
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57995

(cherry picked from commit 465a3b7adc008c068741594f6c922ede98924f39)
(cherry picked from commit 45da2c1e1d202ab190f156dd63403be79fb11e94)
DeltaFile
+15-13sys/conf/newvers.sh
+15-131 files

FreeBSD/src 45da2c1sys/conf newvers.sh

newvers.sh: Avoid spurious -dirty in git revision

If git is installed and .git exists but git rev-parse failed to report a
hash we previously produced just "-dirty" as the git revision.  Gate the
git commit count and -dirty check on the rev-parse passing.

Reviewed by:    jlduran
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57995

(cherry picked from commit 465a3b7adc008c068741594f6c922ede98924f39)
DeltaFile
+15-13sys/conf/newvers.sh
+15-131 files

FreeBSD/src 0b95429sys/dev/usb/quirk usb_quirk.c

usb/quirks: More USB mass storage quirk sorting
DeltaFile
+2-2sys/dev/usb/quirk/usb_quirk.c
+2-21 files

FreeBSD/src 3e123besys/kern vfs_inotify.c, sys/sys inotify.h

inotify: Fix comment typos

MFC after:      1 week
DeltaFile
+1-1sys/kern/vfs_inotify.c
+1-1sys/sys/inotify.h
+2-22 files

FreeBSD/src 836a76atests/sys/kern inotify_test.c

tests/inotify: Make an error message more useful

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

FreeBSD/src 7bf11a2sys/kern subr_epoch.c

epoch: Fix epoch_drain_callbacks()

This function is supposed to wait until all pending callbacks have been
executed.  This is useful in some contexts where we tear down some
context (like a VNET jail and its associated UMA zones) synchronously,
and we want to make sure that all pending asynchronous callbacks (which
may free objects to said UMA zones) have run first.

The implementation schedules a callback on each CPU and waits for them
all to run.  This assumes that, on a given CPU, callbacks are executed
in the order that they are pushed.  This assumption depends on the
implementation of epoch_call_task() and ck_epoch_poll_deferred(), and it
is not true in general.

Callbacks are pushed onto a per-CPU stack in LIFO order.
ck_epoch_poll_deferred() first pulls out the callbacks from epoch - 2,
which are always safe to execute, and in so doing reorders them such
that the oldest callback as at the top of the stack, so in this case,
epoch_call_task() will execute them in order.  However,

    [22 lines not shown]
DeltaFile
+30-20sys/kern/subr_epoch.c
+30-201 files

FreeBSD/src f370bf9sys/kern vfs_inotify.c

inotify: Ensure that "allocfail" is initialized in inotify_log_one()

Fixes:  b70997c8c75a ("inotify: Unconditionally generate IN_IGNORED events for files/dirs")
DeltaFile
+1-2sys/kern/vfs_inotify.c
+1-21 files

FreeBSD/src a585906sys/kern subr_taskqueue.c subr_gtaskqueue.c, sys/sys taskqueue.h

taskqueue: Avoid unbounded epoch read sections

The taskqueue thread loop tries to avoid entering and exiting net epoch
read sections for every task.  This reduces the overhead of net epoch
integration, but the implementation wasn't bounding the length of the
read section, so a busy taskqueue thread could hold an epoch open for an
unbounded period.  This is easy to achieve with the epair task, for
instance.

Bound the number of tasks that we'll execute without observing the
global epoch, and provide a sysctl to control it.  Let the default bound
be eight.

Reviewed by:    glebius
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D58031
DeltaFile
+26-8sys/kern/subr_taskqueue.c
+12-8sys/kern/subr_gtaskqueue.c
+2-0sys/sys/taskqueue.h
+40-163 files

FreeBSD/src de6193csys/kern sys_timerfd.c

timefd: Correct the required rights for timerfd_gettime()

Reviewed by:    jfree
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D58084
DeltaFile
+1-1sys/kern/sys_timerfd.c
+1-11 files

FreeBSD/src e1ab351sys/dev/netmap netmap_bdg.c

netmap: Don't assume that user-provided strings are nul-terminated

MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
DeltaFile
+4-0sys/dev/netmap/netmap_bdg.c
+4-01 files

FreeBSD/src 28f617dcontrib/tzcode zic.c localtime.c

tzcode: Update to 2026c

MFC after:      1 week
DeltaFile
+181-170contrib/tzcode/zic.c
+44-34contrib/tzcode/localtime.c
+70-7contrib/tzcode/NEWS
+10-56contrib/tzcode/zdump.c
+23-27contrib/tzcode/tz-link.html
+17-28contrib/tzcode/Makefile
+345-3229 files not shown
+414-37915 files