FreeBSD/src c527f58lib/libc/gen exterr_cat_filenames.h

exterr: Regenerate exterr_cat_filenames.h
DeltaFile
+1-1lib/libc/gen/exterr_cat_filenames.h
+1-11 files

FreeBSD/src bda6ed2tools/build make_libc_exterr_cat_filenames.sh

exterr: Sort output from make_libc_exterr_cat_filenames.sh

Otherwise the script may permute the order of entries in the file since
find(1) output is not stable.

Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54669
DeltaFile
+1-1tools/build/make_libc_exterr_cat_filenames.sh
+1-11 files

FreeBSD/src e2d7becusr.sbin/bhyve config.c config.h

bhyve: Want walk_config_nodes

Add a function to all nodes under a config option node. This allows
parsing an arbitrary number of similarly structured configuration
options in a config option group.

Reviewed by:    corvink, markj
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D51551
DeltaFile
+33-16usr.sbin/bhyve/config.c
+9-0usr.sbin/bhyve/config.h
+42-162 files

FreeBSD/src 87c4d65sys/x86/cpufreq hwpstate_amd.c

hwpstate_amd: Use ipi instead of sched_bind + thread_lock

Reviewed by:    olce
Approved by:    markj (mentor)
MFC after:      2 weeks
Differential Revision: https://reviews.freebsd.org/D54505
DeltaFile
+79-67sys/x86/cpufreq/hwpstate_amd.c
+79-671 files

FreeBSD/src 5b61ef9sys/kern subr_smp.c, sys/sys smp.h

smp: add smp_rendezvous_cpu helper function

Reviewed by:    olce
Approved by:    markj (mentor)
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D54551
DeltaFile
+13-0sys/kern/subr_smp.c
+7-1sys/sys/smp.h
+20-12 files

FreeBSD/src cc05704sys/kern subr_bus.c

device_delete_child should be destroying the child, not the dev

MFC After: 1 week
Reviewed by: imp, kib
Pull Request: https://github.com/freebsd/freebsd-src/pull/1934

(cherry picked from commit 930a1341d62ccc4be969c2261e3abaf0c0573a9f)
DeltaFile
+1-1sys/kern/subr_bus.c
+1-11 files

FreeBSD/src b39662fsys/arm/broadcom/bcm2835 files.bcm283x, sys/conf kern.mk files.arm64

vchiq: fix build with clang 21

When compiling vchiq with clang 21, the following -Werror warning is
produced:

    sys/contrib/vchiq/interface/vchiq_arm/vchiq_arm.c:728:27: error: default initialization of an object of type 'VCHIQ_QUEUE_MESSAGE32_T' with const member leaves the object uninitialized [-Werror,-Wdefault-const-init-field-unsafe]
      728 |                 VCHIQ_QUEUE_MESSAGE32_T args32;
          |                                         ^
    sys/contrib/vchiq/interface/vchiq_arm/vchiq_ioctl.h:151:40: note: member 'elements' declared 'const' here
      151 |         const /*VCHIQ_ELEMENT_T * */ uint32_t elements;
          |                                               ^

While the warning is formally correct, the 'args32' object is
immediately initialized after its declaration. Therefore, suppress the
warning.

MFC after:      3 days
DeltaFile
+3-0sys/conf/kern.mk
+1-1sys/conf/files.arm64
+1-1sys/arm/broadcom/bcm2835/files.bcm283x
+5-23 files

FreeBSD/src bbd3092share/man/man4 bge.4, sys/dev/bge if_bge.c

bge: disable TXCSUM if UDP transmit checksum offloading is disabled

The bge interface is special with respect to transmit checksumi
offloading. In the default settings, an bge interface announces TXCSUM
capabilities, but only supports TCP/IPv4 and not UDP/IPv4 due to
limitations of some of the NICs. This results in problems when the bge
interface becomes a member of a bridge. Since currently only the
TXCSUM capabilities are synced when a member is added to a bridge and
not the protocol specific capabilities, this can result in a situation
where UDP packets are sent out using a bge interface without having a
correct checksum.
To mitigate this problem, initially don't announce TXCSUM capabilities,
when UDP transmit checksum is disabled. It is still possible to enable
TXCSUM capabilities via ifconfig.

PR:                     291420
Reviewed by:            Timo Voelker
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D54486
DeltaFile
+13-1sys/dev/bge/if_bge.c
+9-1share/man/man4/bge.4
+22-22 files

FreeBSD/src 77a6992sys/amd64/conf MINIMAL, sys/i386/conf MINIMAL

MINIMAL: Add virtio_scsi

This allows a MINIMAL kernel to boot in qemu/kvm.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
DeltaFile
+1-0sys/amd64/conf/MINIMAL
+1-0sys/i386/conf/MINIMAL
+2-02 files

FreeBSD/src 1f5b1desys/netinet6 ip6_output.c

ipv6: account for jumbo payload option

If a jumbo payload option is added, the length of the mbuf chain is
increased by 8 but the actual hop-by-hop extension header with the
jumbo playload option is only inserted in the packet if there are
other options. Therefore, adjust optlen to reflect the actual size
of IPv6 extension headers including the hop-by-hop extension header
containing the jumbo payload option.

Reported by:            syzbot+73fe316271df473230eb at syzkaller.appspotmail.com
Reviewed by:            markj, Timo Voelker
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D54394
DeltaFile
+1-0sys/netinet6/ip6_output.c
+1-01 files

FreeBSD/src f8ddf74sys/dev/dwc dwc1000_dma.c

dwc: improve IPv4 transmit checksum offloading

This patch provides two improvements for TCP/IPv4 and UDP/IPv4
transmit checksum offloading:
(1) Use *CIC_SEG instead of *CIC_FULL, since FreeBSD always provides
    a pseudo header checksum.
(2) Don't make transmit IPv4 header checksum offloading a prerequisite
    for TCP/IPv4 or UDP/IPv4 transmit checksum offloading.
This is the root cause of PR 291696, since right now the epair
interface does not support transmit IPv4 header checksum offloading,
but TCP/IPv4 and UDP/IPv4 transmit checksum offloading.

PR:                     291696
Reviewed by:            Timo Voelker
Tested by:              Marek Benc
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D54395
DeltaFile
+7-14sys/dev/dwc/dwc1000_dma.c
+7-141 files

FreeBSD/src a01a4c0.github CODEOWNERS

CODEOWNERS: register interest in some infrastructure
DeltaFile
+3-1.github/CODEOWNERS
+3-11 files

FreeBSD/src d78291blib/virtual_oss Makefile.inc, lib/virtual_oss/bt Makefile

lib/virtual_oss: don't (over)link to libsamplerate

These plugins require samplerate.h due to virtual_oss's int.h including
it, but don't use any symbols directly so don't link to the library.

Centralize adding the include path.

Reviewed by:    christos
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54705
DeltaFile
+1-3lib/virtual_oss/sndio/Makefile
+0-3lib/virtual_oss/null/Makefile
+1-2lib/virtual_oss/bt/Makefile
+0-3lib/virtual_oss/oss/Makefile
+2-0lib/virtual_oss/Makefile.inc
+4-115 files

FreeBSD/src 373c72alib/virtual_oss Makefile.inc, lib/virtual_oss/bt Makefile

virtual_oss: build system tidying

general:
 - find libsamplerate's headers in the temporary sysroot instead of
   digging in the source tree.
 - use LIBADD where possible

lib/virtual_oss:
 - centralize SHLIBDIR define
 - centralize include path for internal headers
 - don't try to find libsamplerate directly in .OBJDIR

No functional changes.

Reviewed by:    christos
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54704
DeltaFile
+4-5usr.sbin/virtual_oss/virtual_oss/Makefile
+2-5lib/virtual_oss/bt/Makefile
+4-2lib/virtual_oss/Makefile.inc
+1-3lib/virtual_oss/null/Makefile
+1-3lib/virtual_oss/oss/Makefile
+1-3lib/virtual_oss/sndio/Makefile
+13-212 files not shown
+14-248 files

FreeBSD/src adab1ddlib/virtual_oss Makefile, usr.sbin/virtual_oss Makefile

virtual_oss: build commands/libs in parallel

Reviewed by:    christos
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54703
DeltaFile
+2-0lib/virtual_oss/Makefile
+2-0usr.sbin/virtual_oss/Makefile
+4-02 files

FreeBSD/src 497a136lib/virtual_oss Makefile, usr.sbin/virtual_oss Makefile

virtual_oss: remove needless .include in intermediate Makefile

It doesn't define anything we use.

Reviewed by:    christos
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54702
DeltaFile
+0-1lib/virtual_oss/Makefile
+0-1usr.sbin/virtual_oss/Makefile
+0-22 files

FreeBSD/src 484edabsys/net iflib.c

iflib: remove convoluted custom zeroing code

Replace a collection of aliasing violations and ifdefs with memset
(which now expands to __builtin_memset and should be quite reliably
inlined.)  The old code is hard to maintain as evidenced by the most
recent change to if_pkt_info_t updating the defines, but not the zeroing
code.

Reviewed by:    gallatin, erj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Fixes:          43d7ee540efe ("iflib: support for transmit side nic KTLS offload")
Differential Revision:  https://reviews.freebsd.org/D54605

(cherry picked from commit 31e7dc6b9a000b02353bfc41cbd897533287cda2)
DeltaFile
+5-60sys/net/iflib.c
+5-601 files

FreeBSD/src 296ebf7sys/net iflib.c

iflib: remove convoluted custom zeroing code

Replace a collection of aliasing violations and ifdefs with memset
(which now expands to __builtin_memset and should be quite reliably
inlined.)  The old code is hard to maintain as evidenced by the most
recent change to if_pkt_info_t updating the defines, but not the zeroing
code.

Reviewed by:    gallatin, erj
Effort:         CHERI upstreaming
Sponsored by:   Innovate UK
Fixes:          43d7ee540efe ("iflib: support for transmit side nic KTLS offload")
Differential Revision:  https://reviews.freebsd.org/D54605

(cherry picked from commit 31e7dc6b9a000b02353bfc41cbd897533287cda2)
DeltaFile
+5-60sys/net/iflib.c
+5-601 files

FreeBSD/src 22569a1sys/sys param.h

Bump __FreeBSD_version for MAC changes
DeltaFile
+1-1sys/sys/param.h
+1-11 files

FreeBSD/src c18631f. RELNOTES

RELNOTES: document the MAC/jail integration

Reviewed by:    jamie, markj
Differential Revision:  https://reviews.freebsd.org/D54737
DeltaFile
+7-0RELNOTES
+7-01 files

FreeBSD/src d141ee1sys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: fix rx_nss with VHT

When fixing single-stream chipsets, like iwlwifi(4) AX101, we started
masking the announced with the hardware supported values.  This would
probably limit, e.g., rx_nss.  During these works we fixed a loop
checking from the highest nss=7 to lowest nss=0 (8..1) and would set
rx_nss if the stream was supported.  This left us with always setting
rx_nss on nss=0 to nss + 1 = 1.  Instead only update once when we hit
the first supported MCS value (highest number of supported streams).
Looking at the diff of the mentioned commit hash which gets fixed it
looks like even the old code was not correct either.

This only fixes the logic to calculate rx_nss.  This does not yet help
with modern drivers to actually update the value.  Code for this will
come in a later commit.

Sponsored by:   The FreeBSD Foundation
Fixes:          adb4901ac9ae

(cherry picked from commit 8494be1b5af7fe4f765532f802ac0a145e061d73)
DeltaFile
+2-1sys/compat/linuxkpi/common/src/linux_80211.c
+2-11 files

FreeBSD/src 6e2b552sys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: assign sequence numbers to frames

While all native drivers were converted to call
ieee80211_output_seqno_assign() after changes to net80211 if needed,
LinuxKPI 802.11 was not fixed.  Add the missing call.
Given we are currently only supporting STA mode, we can provide
sequence numbers for all frames (mgmt/beacon would be a problem in
AP mode).

This greatly helps LinuxKPI based drivers other than iwlwifi(4).
If drivers do their own sequence numbers, they will overwrite what we
pre-set unless we would pass a txflag not to do so (beware the
consequences).

Sponsored by:   The FreeBSD Foundation
Fixes:          eabcd1773fa3, 785edcc2af5a

(cherry picked from commit 9cf85457b13bc7aa125388d63c82acf2b21e9e9e)
DeltaFile
+2-0sys/compat/linuxkpi/common/src/linux_80211.c
+2-01 files

FreeBSD/src 4d255absys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: reset hdr after crypto in lkpi_80211_txq_tx_one()

When lkpi_80211_txq_tx_one() calls into the crypto offloading parts to
possibly make space in the headroom, the beginning of our frame moves.
We have to reset hdr after that call as otherwise later classifications
based on the hdr->frame_control will fail or cause wrong classificaiton
of packets.
This makes sure frames will either be directly sent using (*mo_tx)()
or use the correct tid for the correct queue.  This helps to get
rtwx8 packets flowing after BA was negotiated.

Sponsored by:   The FreeBSD Foundation
Fixes:          11db70b6057e4

(cherry picked from commit f0395993e1ea83705e0da6623843e7d5d03f7269)
DeltaFile
+2-0sys/compat/linuxkpi/common/src/linux_80211.c
+2-01 files

FreeBSD/src 6b9c0acshare/man/man4 linuxkpi_wlan.4, sys/compat/linuxkpi/common/src linux_80211.c linux_80211.h

LinuxKPI: 802.11: add compat.linuxkpi.80211.IF.dump_stas_queues

Extend the normal compat.linuxkpi.80211.IF.dump_stas sysctl by
queue information.  This was helpful for debugging various issues,
like selecting the outbound queue, stopping queues for BAR and helped
finding multiple bugs.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 32ea8209825af594cbfa1fc654d45eb9a6aab528)
DeltaFile
+73-5sys/compat/linuxkpi/common/src/linux_80211.c
+8-1share/man/man4/linuxkpi_wlan.4
+4-0sys/compat/linuxkpi/common/src/linux_80211.h
+85-63 files

FreeBSD/src 605389esys/sys bitcount.h

sys/bitcount.h: add __const_bitcount<n>

Add a version of __const_bitcount<n> which can be used to get the
numbers at compile-time when __builtin_popcountg() is not available
(see sys/compat/linuxkpi/common/include/linux/bitops.h for LLVM before
19 and gcc before 14).

Obtained from:  https://reviews.freebsd.org/D50995#1174884 by obiwac
Sponsored by:   The FreeBSD Foundation
Reviewed by:    brooks, emaste
Differential Revision: https://reviews.freebsd.org/D54301

(cherry picked from commit 27aa23cee81088b0ffa974eec9f03c654c36438e)
DeltaFile
+22-0sys/sys/bitcount.h
+22-01 files

FreeBSD/src 9755a80sys/compat/linuxkpi/common/include/linux bitops.h

LinuxKPI: bitcount fix builds with gcc and older llvm

LLVM before 19 and gcc before 14 do not support __builtin_popcountg().
Use __const_bitcount<n> from sys/bitcount.h as a replacement in these
cases.  This should still allow drm-kmod to build where the size needs
to be known at compile-time.

Remove the conditional for gcc around the iwlwifi modules build,
which was collateral damage in all this.

Sponsored by:   The FreeBSD Foundation
Fixes:          7cbc4d875971, 5e0a4859f28a
Reviewed by:    brooks, emaste (without the sys/modules/Makefile change)
Differential Revision: https://reviews.freebsd.org/D54297

(cherry picked from commit 34892a8e30055000352d9612ad985be550c82bea)
DeltaFile
+8-0sys/compat/linuxkpi/common/include/linux/bitops.h
+8-01 files

FreeBSD/src 4b5b8d6release/powerpc mkisoimages.sh

powerpc: fix release image building for Apple partitions

awk changed somewhere between 14 and 15 and it stopped accepting
a hexadecimal number as its input - it will always return 0.
This results in a very badly written apple boot block.

So just remove it; do the math in shell.

PR:             kern/292341
Differential Revision:  https://reviews.freebsd.org/D54639
Reviewed by:    imp
MFC after:      1 week

(cherry picked from commit 7afa03963c448a14b1735a10eaf84941b0b74862)
DeltaFile
+1-1release/powerpc/mkisoimages.sh
+1-11 files

FreeBSD/src 1e8c287share/man/man4 mac.4, usr.sbin/jail jail.8

jail: document the mac.label parameter

In particular, we should provide a hint about mac.conf(5), since libjail
will just use the mac_prepare_type(3) API to provide a reasonably sane
interface for system administrators.  Progammers wanting to fetch an
arbitrary MAC label would need to bypass libjail and use jail_get(2)
directly with their own prepared `struct mac`.

Differential Revision:  https://reviews.freebsd.org/D54067
DeltaFile
+12-1usr.sbin/jail/jail.8
+3-1share/man/man4/mac.4
+15-22 files

FreeBSD/src db3b39flib/libjail jail.c

libjail: extend struct handlers to included MAC labels

MAC label handling is a little special; to avoid being too disruptive,
we allocate a `mac_t *` here for the value so that we can mac_prepare()
or mac_from_text() into.  As a result, we need:

 - A custom free() handler to avoid leaking the *jp_value
 - A custom jailparam_get() handler to mac_prepare() the mac_t and
    populate the iove properly, so that the kernel doesn't have to
    do something funky like copyin, dereference, copyin again.
 - A custom jailparam_set() handler to similarly populate the iovec
    properly.

Reviewed by:    jamie
Differential Revision:  https://reviews.freebsd.org/D53960
DeltaFile
+189-3lib/libjail/jail.c
+189-31 files

FreeBSD/src 1af8d56lib/libjail jail.c

libjail: start refactoring struct ioctl support

Instead of ad-hoc comparisons against the struct type in a few places,
start to abstract out an interface for dealing with struct types.  For
now, this just means that we have some special jailparam_import and
jailparam_export handling for the ip addr types, but in the next commit
we'll extend it further to support MAC labels.

Reviewed by:    jamie
Differential Revision:  https://reviews.freebsd.org/D53959
DeltaFile
+149-57lib/libjail/jail.c
+149-571 files