FreeBSD/src f41d835sys/fs/nfsclient nfs_clrpcops.c, sys/rpc rpc_generic.c

nfsclient: Fix problems with the NFS over RDMA glue

There were a couple of problems detected w.r.t. the
"glue" for the nfsclrdma.ko module.
- When the NFS server has a small reply for a read,
  it can choose to not use the reduction chunk
  (separate memory area for the read data).  I did
  not realize this was the case.
- There was a bug in rpc_copy_uio_pages() function
  that caused intermittent crashes in memcpy().

This patch fixes the above cases.  It uses M_PROTO6
to mark that an RPC reply has used a reduction chunk,
so that read can handle it correctly.  Read also now
provides a reduction chunk for all read sizes, since
the worst case for the rest of the read RPC reply is
close to the 1024 byte limit.  (NFSv4 uses strings
instead of uid/gid in the attributes and these name
strings can be rather large.)

    [12 lines not shown]
DeltaFile
+49-35sys/rpc/rpc_generic.c
+46-12sys/fs/nfsclient/nfs_clrpcops.c
+95-472 files

FreeBSD/src 326ab53sys/kern sys_procdesc.c

pdopenpid(2): in cap mode, translate all errors from pdopenpid1() to ECAPMODE

to not leak information about unused pids or system processes' pids.

Reviewed by:    markj
Fixes:  73c92a978cce ("pdopenpid(2): allow in capability mode with restrictions")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D59252
DeltaFile
+3-0sys/kern/sys_procdesc.c
+3-01 files

FreeBSD/src b3734c1tests/sys/kern procdesc.c

tests/sys/kern/procdesc.c: mark grandchild var in pdopenpid_capmode() as volatile

The variable is written in the child process which shares the address
space with the parent.  The data flow must not be optimized by a compiler.

Reviewed by:    markj
Fixes:  ddf62c83fc0a ("sys/tests/kern/pdopenpid: pdopenpid(2) is allowed in cap mode")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D59282
DeltaFile
+2-1tests/sys/kern/procdesc.c
+2-11 files

FreeBSD/src d675662sys/dev/clk/rockchip rk3568_cru.c

Fixed some clocks divide width.

clk_cpll_div_333m_div, clk_cpll_div_125m_div, clk_cpll_div_50m_div,
clk_cpll_div_25m_div, clk_cpll_div_100m_div, clk_osc0_div_750k_div
did not respond Rockchip RK3568 TRM Part1 V1.1-20210301.pdf
documentation page 79. I changed them correctly.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2287
DeltaFile
+6-6sys/dev/clk/rockchip/rk3568_cru.c
+6-61 files

FreeBSD/src bfa3613stand/kboot/libkboot util.c

kboot: Fix file2str() buffer under-read

Signed-off-by: Aryan Arora <aryanarora.w1 at gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2359
DeltaFile
+1-1stand/kboot/libkboot/util.c
+1-11 files

FreeBSD/src b7400b0usr.sbin/bluetooth/ath3kfw main.c

bluetooth/ath3kfw: Whitelist "Dell Wireless 1802 Bluetooth 4.0 LE"

"Qualcomm Atheros Communications Dell Wireless 1802 Bluetooth 4.0 LE"
(0cf3:e006) is a wifi-bluetooth combo. The bluetooth chip is confirmed
to be AR3012 compatible. That's what the Linux ath3k driver loads as
well. It has been tested with the firmware files from the
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
repository as the comms/ath3k-firmware port appears to be discontinued.

Signed-off-by: Robin Haberkorn <rhaberkorn at fmsbw.de>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2280
DeltaFile
+1-0usr.sbin/bluetooth/ath3kfw/main.c
+1-01 files

FreeBSD/src b5ecbcdusr.bin/vmstat vmstat.c

vmstat: Drop vm_cnt compat hack

Prior to FreeBSD 11, vm_cnt was named cnt.  When it was renamed, vmstat
was modified to fall back to the old name if the new name was not found.
It's time we dropped this.

Reviewed by:    kib, jhb, emaste
Differential Revision:  https://reviews.freebsd.org/D59255
DeltaFile
+0-11usr.bin/vmstat/vmstat.c
+0-111 files

FreeBSD/src cdfc673lib/libkvm kvm_proc.c kvm_pcpu.c, lib/libmemstat memstat_malloc.c

various: Fix nlist invocations

Fix nlist(3) consumers that either expected our toolchain to prepend an
underscore to symbol names or expected nlist(3) to ignore the mismatch,
as it did until we overhauled it back in May.

While here, also fix cases where the last element in the list had an
empty string instead of NULL as sentinel.

MFC after:      3 days
Fixes:          4617a6cb82a6 ("nlist: Handle multiple symbol tables")
Reviewed by:    kib, jhb
Differential Revision:  https://reviews.freebsd.org/D59254
DeltaFile
+48-48usr.bin/netstat/nlist_symbols
+11-11usr.bin/vmstat/vmstat.c
+8-8lib/libkvm/kvm_proc.c
+8-8lib/libkvm/kvm_pcpu.c
+6-6sbin/ddb/ddb_capture.c
+6-6lib/libmemstat/memstat_malloc.c
+87-8711 files not shown
+118-11817 files

FreeBSD/src 30211e6lib/msun/ld128 s_asinpil.c, lib/msun/ld80 s_atanpil.c s_asinpil.c

msun: add asinpi, acospi, and atanpi

This commit implements the inverse half-cycle
trigonometric functions:

   asinpi(x) = asin(x) / pi                        Eq. (1)
   acospi(x) = acos(x) / pi
   atanpi(x) = atan(x) / pi

Implemention details are contained in src/s_asinpi.c and
src/a_atanpi.c, where the details for acospi(x) appear in
the former.

*************

CAVEAT EMPTOR: The ld128 code has been only compiled.  It has
not been tested for correctness due to lack of hardware.

*************

    [127 lines not shown]
DeltaFile
+243-0lib/msun/src/s_asinpi.c
+215-0lib/msun/src/s_atanpi.c
+191-0lib/msun/ld80/s_asinpil.c
+175-0lib/msun/ld80/s_atanpil.c
+173-0lib/msun/ld128/s_asinpil.c
+157-0lib/msun/src/s_asinpif.c
+1,154-09 files not shown
+1,735-1515 files

FreeBSD/src fb1a13flib/libc/stdlib strfromd.c strfroml.c, lib/libc/tests/stdlib strfrom_test.c

libc: Add strfromd, strfromf, and strfroml per C23

strfromd(), strfromf(), and strfroml() are implemented directly
in terms of gdtoa.  If a non-conforming format string is passed,
the string "EDOOFUS" is returned and errno set to EDOOFUS as an
extension.

Reviewed by:    fuz
MFC after:      1 month
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2301
Signed-off-by:  Faraz Vahedi <kfv at kfv.io>

(cherry picked from commit f68d7bfc1479042184e09431bd55771c50c47f68)
DeltaFile
+590-0lib/libc/tests/stdlib/strfrom_test.c
+476-0lib/libc/stdlib/strfrom.c
+109-0lib/libc/stdlib/strfromd.3
+47-0lib/libc/stdlib/strfromf.c
+46-0lib/libc/stdlib/strfroml.c
+45-0lib/libc/stdlib/strfromd.c
+1,313-05 files not shown
+1,363-111 files

FreeBSD/src 12c799esys/dev/ice ice_drv_info.h

ice(4): Add two more 4-part IDs for E835 adapters

Two additional subdevice IDs were introduced
to distinguish between adapters with and without
manageability over USB support.

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

Reviewed by:    erj
Tested by:      Mateusz Moga <mateusz.moga at intel.com>
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D57337

(cherry picked from commit f370d9e4d5844daa06d77e57236e03bd7c5f4ba1)
DeltaFile
+6-0sys/dev/ice/ice_drv_info.h
+6-01 files

FreeBSD/src e0954f7sys/dev/ixgbe if_ix.c

ix(4): Sanitize negative error codes

Due to development history FreeBSD driver error codes are reported
the same way as in Linux (as negatives) which is inconsistent
with FreeBSD standard. It may cause unexpected behavior when driver
errors are interpreted by a kernel as syscall handler return values.
This patch converts error codes from negative to positive values for
NVM access functions.

Signed-off-by: Pawel Sobczyk <pawel.sobczyk at intel.com>

Reviewed by:    kbowling, erj, milosz.linkiewicz_intel.com
Tested by:      Mateusz Moga <mateusz.moga at intel.com>
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D57642

(cherry picked from commit 33e2eac3e3e738daa95a06f42d6c661b87ad9aac)
DeltaFile
+19-4sys/dev/ixgbe/if_ix.c
+19-41 files

FreeBSD/src 05ef239sys/dev/ixgbe ixgbe_e610.c

ix(4): Remove workaround for 2.5/5G speeds on E610

The problem observed on X550 adapters with 2.5 and 5 Gbps speeds
negotiation on some switches is not affecting E610 adapters.
Remove workaround, which omitted those speeds in the list
of initially advertised speeds and advertise all speeds
supported by adapter.

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

Reviewed by:    kbowling
Tested by:      Mateusz Moga <mateusz.moga at intel.com>
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D57339

(cherry picked from commit 62d5d119ee7d935ac05966f1c7c4333c33c4f3a9)
DeltaFile
+12-23sys/dev/ixgbe/ixgbe_e610.c
+12-231 files

FreeBSD/src aa85e7asys/dev/ixgbe if_ix.c

ix(4): Sanitize negative error codes

Due to development history FreeBSD driver error codes are reported
the same way as in Linux (as negatives) which is inconsistent
with FreeBSD standard. It may cause unexpected behavior when driver
errors are interpreted by a kernel as syscall handler return values.
This patch converts error codes from negative to positive values for
NVM access functions.

Signed-off-by: Pawel Sobczyk <pawel.sobczyk at intel.com>

Reviewed by:    kbowling, erj, milosz.linkiewicz_intel.com
Tested by:      Mateusz Moga <mateusz.moga at intel.com>
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D57642

(cherry picked from commit 33e2eac3e3e738daa95a06f42d6c661b87ad9aac)
DeltaFile
+19-4sys/dev/ixgbe/if_ix.c
+19-41 files

FreeBSD/src 63e9ab9sys/dev/ixgbe ixgbe_e610.c

ix(4): Remove workaround for 2.5/5G speeds on E610

The problem observed on X550 adapters with 2.5 and 5 Gbps speeds
negotiation on some switches is not affecting E610 adapters.
Remove workaround, which omitted those speeds in the list
of initially advertised speeds and advertise all speeds
supported by adapter.

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

Reviewed by:    kbowling
Tested by:      Mateusz Moga <mateusz.moga at intel.com>
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D57339

(cherry picked from commit 62d5d119ee7d935ac05966f1c7c4333c33c4f3a9)
DeltaFile
+12-23sys/dev/ixgbe/ixgbe_e610.c
+12-231 files

FreeBSD/src 793abbfsys/fs/tarfs tarfs_vfsops.c, usr.sbin/jail jail.8

tarfs: allow mounting inside jails

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

(cherry picked from commit ba99013a4464c2f3e8cc0a89c23d03810dc2d37e)
DeltaFile
+9-1usr.sbin/jail/jail.8
+1-1sys/fs/tarfs/tarfs_vfsops.c
+10-22 files

FreeBSD/src f659997libexec/rc/tests rc_subr_test.sh

rc_subr_test: ignore stderr in no_cycles test

nuageinit_user_data_script references 'firstboot_freebsd_update'
and 'firstboot_pkg_upgrade', which are from Ports. In a default
base system test without sysutils/firstboot-freebsd-update and
sysutils/firstboot-pkg-upgrade, rcorder will warn on "unknown
provisions" to stderr, but is otherwise harmless.

Reviewed by:    arrowd
Fixes:          16e47f317c4ce2be5fed530bf8a9af9f9bf55364
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 3c33729ce2f421e2a583f19f85a181968aa310de)
DeltaFile
+1-1libexec/rc/tests/rc_subr_test.sh
+1-11 files

FreeBSD/src 57bc966sys/fs/tarfs tarfs_vfsops.c

tarfs: remove PRIV_VFS_MOUNT_PERM check

The backing file is already opened successfully, so there is
no need to override the permissions.

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

(cherry picked from commit 4d524915233092d71b309b49d9743012cb05c11e)
DeltaFile
+0-5sys/fs/tarfs/tarfs_vfsops.c
+0-51 files

FreeBSD/src fd35c63sys/dev/ice ice_drv_info.h

ice(4): Add two more 4-part IDs for E835 adapters

Two additional subdevice IDs were introduced
to distinguish between adapters with and without
manageability over USB support.

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

Reviewed by:    erj
Tested by:      Mateusz Moga <mateusz.moga at intel.com>
Sponsored by:   Intel Corporation
Differential Revision:  https://reviews.freebsd.org/D57337

(cherry picked from commit f370d9e4d5844daa06d77e57236e03bd7c5f4ba1)
DeltaFile
+6-0sys/dev/ice/ice_drv_info.h
+6-01 files

FreeBSD/src ecc16ddsecure/lib/libcrypto/man/man3 NAME_CONSTRAINTS_check.3 OPENSSL_armcap.3

crypto/openssl: add manpages missed in related commit

MFC with:       78e936b2d
Fixes:          0d4d0f3a9 ("crypto/openssl: update generated content ...")
Reported by:    Jenkins CI

(cherry picked from commit 19c1fe2d0c8f0001558c20f134be624241418191)
DeltaFile
+285-0secure/lib/libcrypto/man/man3/OPENSSL_armcap.3
+237-0secure/lib/libcrypto/man/man3/NAME_CONSTRAINTS_check.3
+522-02 files

FreeBSD/src 514ff9acrypto/openssl/crypto/aes aes_x86core.c, crypto/openssl/doc/man3 X509_verify_cert.pod

crypto/openssl: update to 3.5.8

This is a security bugfix release. Please see the related merge commit
for more details.

Maintainer note:        `quic_ackm.h`'s conflict was resolved by taking
                        the upstream version of the file verbatim.

Conflicts:
        crypto/openssl/include/internal/quic_ackm.h

MFC after:      3 days
Merge commit '248da023ae5ea7292930ac5d715d88b87e2e6f46'

(cherry picked from commit 78e936b2d0b5e6554425009199be31e76bc67c10)
DeltaFile
+0-79,844crypto/openssl/test/recipes/30-test_evp_data/evprand.txt
+0-867crypto/openssl/crypto/aes/aes_x86core.c
+851-3crypto/openssl/test/evp_extra_test.c
+394-125crypto/openssl/test/evp_extra_test2.c
+476-32crypto/openssl/test/endecode_test.c
+439-61crypto/openssl/doc/man3/X509_verify_cert.pod
+2,160-80,932253 files not shown
+7,387-81,985259 files

FreeBSD/src a281913secure/lib/libcrypto/man/man3 SSL_poll.3 SSL_get_value_uint.3, secure/lib/libcrypto/man/man7 openssl-quic-concurrency.7 openssl-threads.7

crypto/openssl: update generated content to match 3.5.8 release

This contains 2 new manpages as well as some minor manpage content
changes.

MFC with:       78e936b2d

(cherry picked from commit 0d4d0f3a9f229f9e822b43234b0ff72e7223f19f)
DeltaFile
+366-62secure/lib/libcrypto/man/man3/X509_verify_cert.3
+38-12secure/lib/libcrypto/man/man3/ASN1_aux_cb.3
+28-3secure/lib/libcrypto/man/man7/openssl-threads.7
+27-3secure/lib/libcrypto/man/man7/openssl-quic-concurrency.7
+19-4secure/lib/libcrypto/man/man3/SSL_get_value_uint.3
+18-3secure/lib/libcrypto/man/man3/SSL_poll.3
+496-87898 files not shown
+1,514-1,048904 files

FreeBSD/src f89b0cecontrib/expat Changes, contrib/expat/lib xmlparse.c

contrib/expat: import expat 2.8.4

Changes: https://github.com/libexpat/libexpat/blob/R_2_8_4/expat/Changes

Security:       CVE-2026-66046
Security:       CVE-2026-76641
Security:       CVE-2026-76957
Security:       CVE-2026-76956
MFC after:      1 week
DeltaFile
+189-64contrib/expat/lib/xmlparse.c
+79-0contrib/expat/tests/basic_tests.c
+65-0contrib/expat/Changes
+57-1contrib/expat/tests/misc_tests.c
+3-3lib/libexpat/expat_config.h
+2-2lib/libexpat/libbsdxml.3
+395-7010 files not shown
+408-7916 files

FreeBSD/src 094c567share/man/man4 bnxt.4

bnxt(4): Cross-reference led(4)

Point the identification LED documentation to led(4), which describes
how to control /dev/led device nodes.

Sponsored by:   BBOX.io

(cherry picked from commit af069400a8ea514c8e55f123cae478aee65e04d5)
DeltaFile
+4-1share/man/man4/bnxt.4
+4-11 files

FreeBSD/src 64d0098share/man/man4 bnxt.4

bnxt(4): Cross-reference led(4)

Point the identification LED documentation to led(4), which describes
how to control /dev/led device nodes.

Sponsored by:   BBOX.io

(cherry picked from commit af069400a8ea514c8e55f123cae478aee65e04d5)
DeltaFile
+4-1share/man/man4/bnxt.4
+4-11 files

FreeBSD/src 310c4c9share/man/man4 ice.4, sys/dev/ice ice_iflib.h if_ice_iflib.c

ice: Add led(4) identification support

Expose the firmware-controlled physical port identification LED
through /dev/led/ice*.  Use the AdminQ port-identification command to
select blinking mode and restore the netlist-selected original mode
before the interface is stopped.

Sponsored by:   BBOX.io

(cherry picked from commit a781965b91ea390f9576ae42c35c842db74aab86)
DeltaFile
+44-0sys/dev/ice/if_ice_iflib.c
+8-1share/man/man4/ice.4
+1-0sys/dev/ice/ice_iflib.h
+53-13 files

FreeBSD/src ee44a57sys/kern kern_umtx.c

umtx: use a distribution-fair multiplier for the chain hash

  umtxq_hash() multiplies the key by 0x9E370001 and keeps the high bits.  That
  constant is 0x9E37 * 2^16 + 1, so it degenerates for keys whose spacing carries
  trailing zero bits: at a 64 KiB stride it puts 128 of 512 parked waiters onto a
  single chain mutex, and at 16 KiB and up it uses only a handful of the 512
  chains.  Base-system consumers never hit this because libthr places its own wait
  words 128 bytes apart, but a Linux-ABI runtime waiting on addresses it allocates
  itself lands squarely on the floor.  Switch to 0x61C88647, which leaves at most 3
  waiters per chain at the same stride; Linux made this exact change in 2016, after
  judging the sparse constants "actively bad for hashing".

Approved by:    adrian (mentor)
Reviewed by:    kib, adrian, emaste
Differential Revision:  https://reviews.freebsd.org/D58337

Signed-off-by: Nick Price <nprice at FreeBSD.org>
DeltaFile
+2-2sys/kern/kern_umtx.c
+2-21 files

FreeBSD/src 742c549sys/dev/bxe bxe.c

bxe(4): don't feed a zero page size to ilog2 during ILT init

FreeBSD's bxe hardwires CNIC_SUPPORT() to 0, so bxe_ilt_set_info()
never enters the block that initializes the SRC and TM ILT clients.
Those two clients are left zeroed (page_size 0, flags 0), yet
ecore_ilt_init_page_size() calls ecore_ilt_init_client_psz() for all
four clients unconditionally. For SRC and TM that evaluates
ILOG2(page_size >> 12), i.e. ilog2(0). On an INVARIANTS kernel ilog2()
asserts "ilog argument must be nonzero" and panics the machine the
first time the interface is brought up (bxe_init -> bxe_nic_load ->
bxe_init_hw -> ecore_ilt_init_page_size). On a non-INVARIANTS kernel
it silently programs a bogus page-size register instead.

Restore the else branch that upstream Linux bnx2x carries: when CNIC
is not supported, mark the SRC and TM clients with ILT_CLIENT_SKIP_INIT
and ILT_CLIENT_SKIP_MEM so ecore_ilt_init_client_psz() skips them.

Root-caused from a crash dump on a BCM57810 (device 0x168e): the ILT
clients showed CDU and QM populated and SRC and TM zeroed with no skip

    [6 lines not shown]
DeltaFile
+5-0sys/dev/bxe/bxe.c
+5-01 files

FreeBSD/src 533918ctools/tools/nanobsd/embedded pandaboard.cfg

nanobsd: Remove pandaboard.cfg

Pandaboard (sys/arm/ti/omap4) is removed due to lack of HW.
Remove the pandaboard config file for nanobsd aswell.

Approved by: imp, jlduran, manu(mentor)
Diffrential revision: https://reviews.freebsd.org/D54319
DeltaFile
+0-35tools/tools/nanobsd/embedded/pandaboard.cfg
+0-351 files

FreeBSD/src 654cffesys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: implement cfg80211_calculate_bitrate()

lkpi_cfg80211_calculate_bitrate_vht() was constantly showing up
in my debug traces as a TODO with rtw89 so I went ahead and implemented
the HT and VHT versions.  Realtek seems to limit amsdu sizes based
on the value and ask for it whether needed or not.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
DeltaFile
+105-4sys/compat/linuxkpi/common/src/linux_80211.c
+105-41 files