FreeBSD/src b53eab3sys/compat/linuxkpi/common/src linux_idr.c

LinuxKPi: idr: use macros for lock idr lock operations

Our idr implementation is using a mtx lock which in the past has
already caused problems (613723bac219c).
In order to make it easier to tackle the problem start by factoring
out all the operations related to the idr->lock into macros as we
have often done in other parts of code as well.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Reviewed by:    wulf, emaste
Differential Revision: https://reviews.freebsd.org/D55392
DeltaFile
+37-30sys/compat/linuxkpi/common/src/linux_idr.c
+37-301 files

FreeBSD/src d07460fsys/compat/linuxkpi/common/src linuxkpi_80211_pm.c

LinuxKPI: 802.11 suspend/resume: fix the is_pci_dev check

Shortly before I committed the works from a year ago, jhb added a
function ("is_pci_device") so that the check against the devclass
does not have to be coded in every driver.  Use this instead in main
(and stable/15 in case the works get MFCed).

At the same time this fixes the check (the old one was wrong) as we
attach to the LinuxKPI 802.11 driver, e.g., iwlwifi and thus we need
to check the parent of the parent and not just the parent to be
of the devclass "pci" in the identify bus function.  The was the
first error.  The second was (and this is why it worked) that we
checked for == instead of != and so the wrong check became true again.

Discussed with: jhb
Fixes:          11d69a4558de ("LinuxKPI: 802.11: add support for s/r")
MFC after:      3 days
X-MFC after:    ffcf5e356644 ("pci: Add is_pci_device helper function")
Sponsored by:   The FreeBSD Foundation
DeltaFile
+2-1sys/compat/linuxkpi/common/src/linuxkpi_80211_pm.c
+2-11 files

FreeBSD/src 49b413csys/dev/rtwn/usb rtwn_usb_attach.h, sys/dev/usb usbdevs

rtwn/usb: add ID for D-Link DWA-121 rev B1 to rtwn RTL8188EU

Add the device ID to the usbdevs table in order to be able to use
it in the rtwn/usb driver for the RTL8188EU attachment.

(I adjusted the name to B1 compared to the original submission)

PR:             291839
MFC after:      3 days
DeltaFile
+1-0sys/dev/rtwn/usb/rtwn_usb_attach.h
+1-0sys/dev/usb/usbdevs
+2-02 files

FreeBSD/src a64148esys/compat/linux linux_misc.c linux_misc.h

linux: Add support for PR_SET_VMA to prctl(2)

Implement dummy support for PR_SET_VMA with PR_SET_VMA_ANON_NAME in
prctl(2).  This prevents applications from receiving EINVAL when
attempting to name anonymous memory regions.
DeltaFile
+7-0sys/compat/linux/linux_misc.c
+2-0sys/compat/linux/linux_misc.h
+9-02 files

FreeBSD/src eda74felib/libc/stdlib rand.3

rand(3): Normalize function ordering

Align ordering between NAME & SYNOPSIS sections.

Obtained from:  https://github.com/apple-oss-distributions/libc
Sponsored by:   Klara, Inc.
DeltaFile
+5-5lib/libc/stdlib/rand.3
+5-51 files

FreeBSD/src 7f421c7share/mk bsd.sys.mk

bsd.sys.mk: also suppress gcc -Wc++1[47]-extensions warnings for >= 12

This is a direct commit to stable/14, which does not yet default to
C++17 for most in-tree programs. In some cases, this would trigger gcc
-Wc++1[47]-extensions warnings with libc++ 21.
DeltaFile
+2-0share/mk/bsd.sys.mk
+2-01 files

FreeBSD/src c115aadshare/man/man3 assert.3

assert.3: Update as per C23

Signed-off-by:  Faraz Vahedi <kfv at kfv.io>
Reviewed by:    fuz
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2203
DeltaFile
+61-15share/man/man3/assert.3
+61-151 files

FreeBSD/src 0fe73dcinclude assert.h

libc: Add <assert.h> C23 feature test macro

Signed-off-by:  Faraz Vahedi <kfv at kfv.io>
Reviewed by:    fuz
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2203
DeltaFile
+3-3include/assert.h
+3-31 files

FreeBSD/src 157c184include assert.h

assert.h: Remove leading tabs for whitespace consistency

Signed-off-by:  Faraz Vahedi <kfv at kfv.io>
Reviewed by:    fuz
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2203
DeltaFile
+9-9include/assert.h
+9-91 files

FreeBSD/src 6450212sbin/mdmfs mdmfs.c

mdmfs: Use standard bool definition

Include `<stdbool.h>` instead of defining a local bool enum.
This avoids duplicating a standard type name and keeps the
source compatible with headers that provide bool as a macro,
or in case of C23 that compilers provide it as keyword.

Signed-off-by:  Faraz Vahedi <kfv at kfv.io>
Reviewed by:    fuz
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2203
DeltaFile
+1-2sbin/mdmfs/mdmfs.c
+1-21 files

FreeBSD/src c5c7d18include assert.h

libc: Restrict the static_assert macro to pre-C23 modes

Signed-off-by:  Faraz Vahedi <kfv at kfv.io>
Reviewed by:    fuz
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2203
DeltaFile
+4-1include/assert.h
+4-11 files

FreeBSD/src 867b514include assert.h

libc: Add variadic assert in accordance with C23

Signed-off-by:  Faraz Vahedi <kfv at kfv.io>
Reviewed by:    fuz
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2203
DeltaFile
+35-7include/assert.h
+35-71 files

FreeBSD/src 60c11e7include/rpcsvc yp_prot.h

rpcsvc: Remove obsolete bool definition from yp_prot.h

`yp_prot.h` has carried a SunRPC-era typedef of `bool` guarded by
`BOOL_DEFINED`, but the header itself does not use it. The YP/RPC
interfaces use `bool_t` for protocol booleans.

Defining `bool` in a public header collides with modern C headers
that provide `bool` as a macro or keyword, such as `<stdbool.h>`
and C23-aware assert handling. Drop the compatibility typedef and
leave `bool` definition to the consumer's language mode.

Signed-off-by:  Faraz Vahedi <kfv at kfv.io>
Reviewed by:    fuz
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2203
DeltaFile
+0-5include/rpcsvc/yp_prot.h
+0-51 files

FreeBSD/src 2010906sys/kern imgact_elf.c

imgact_elf: add sysctl kern.elfXX.phnums for the number of program headers

that are accepted in the activated image or interpreter.

Requested by:   jhb
Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57328
DeltaFile
+12-10sys/kern/imgact_elf.c
+12-101 files

FreeBSD/src 2fa4bddsys/contrib/edk2/Include Base.h

edk2: enable static asserts for *INT64 alignment

The ia32 loader is now built with -malign-double, so these should pass.

Differential Revision:  https://reviews.freebsd.org/D55386
DeltaFile
+0-2sys/contrib/edk2/Include/Base.h
+0-21 files

FreeBSD/src d15cc76stand loader.mk defs.mk, stand/efi Makefile Makefile.inc

stand: compile ia32 EFI loader with -malign-double

The UEFI spec says:
> Structures are aligned on boundaries equal to the largest internal
> datum of the structure and internal data are implicitly padded to
> achieve natural alignment.

Unlike the old Intel EFI toolkit, the EDK2 headers expect ia32 builds to
use -malign-double to achive this.

Make EFI versions of libsa32, liblua32, and ficl32. With the difference
being that they are compiled with -malign-double.

Differential Revision:  https://reviews.freebsd.org/D55385
DeltaFile
+7-1stand/efi/Makefile
+5-0stand/efi/Makefile.inc
+2-2stand/loader.mk
+3-0stand/efi/liblua32efi/Makefile
+3-0stand/efi/ficl32efi/Makefile
+1-1stand/defs.mk
+21-41 files not shown
+22-47 files

FreeBSD/src f048a1atests/sys/netipsec/tunnel Makefile

tests/ipsec: Run in parallel

Use execenv=jail to enable this.

MFC after:      1 week
DeltaFile
+2-2tests/sys/netipsec/tunnel/Makefile
+2-21 files

FreeBSD/src e492ad0sys/netlink/route rt.c

netlink/route: extend pre-2.6.19 Linux compat shim to del/getroute

Commit f34aca55adef ("netlink/route: provide pre-2.6.19 Linux compat shim",
2024-06) fixed the partial fix for net/bird2 on the netlink path by mapping the
legacy 8-bit struct rtmsg::rtm_table field onto the modern 32-bit RTA_TABLE
attribute when the latter is absent.

That fix, however, was only applied to rtnl_handle_newroute. The two sibling
handlers: rtnl_handle_delroute and rtnl_handle_getroute were left looking at
attrs.rta_table directly. They are reachable from exactly the same client
(bird, in its netlink scan path), so any FIB number that fits in 8 bits
silently maps to RT_TABLE_UNSPEC in those handlers.

Reviewed by:    melifaro (previous version)
Approved by:    emaste
MFC after:      1 week
Sponsored by:   Netflix
DeltaFile
+11-3sys/netlink/route/rt.c
+11-31 files

FreeBSD/src 96dbc9asys/netlink/route iface_drivers.c

netlink: Check permissions for interface flag changes

Reviewed by:    pouria, melifaro
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57332
DeltaFile
+10-1sys/netlink/route/iface_drivers.c
+10-11 files

FreeBSD/src 9ddb606sys/netlink/route iface_drivers.c

netlink: Use early exit pattern in _nl_modify_ifp_generic

No functional change.

Reviewed by:    pouria, melifaro
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57349
DeltaFile
+25-28sys/netlink/route/iface_drivers.c
+25-281 files

FreeBSD/src 11f23d7tools/test/stress2/misc msdos22.sh msdos23.sh

tools/test/stress2/misc: Fix and enable new tests

The previously committed versions of these tests failed to prevent
duplicate file names in the list of files to process, leading to
missing files when a "mv" commando tried to operate on a file that
had already been renamed.

The test for filenames containing UTF-16 surrogate pairs stays
disabled, since the required kernel changes have not been committed,
yet.
DeltaFile
+6-8tools/test/stress2/misc/msdos22.sh
+5-7tools/test/stress2/misc/msdos23.sh
+5-7tools/test/stress2/misc/msdos24.sh
+0-2tools/test/stress2/misc/all.exclude
+16-244 files

FreeBSD/src e021144usr.sbin/acpi/acpidb Makefile

Work around unterminated-string-initialization warnings in acpidb

ACPICA 20250807 fixes these warnings by adding nonstring attributes, but
since ACPICA in stable/14 has not been updated for quite some time,
suppress the warning for clang >= 21 instead. Direct commit to
stable/14, since stable/15 and main already have ACPICA 20250807.
DeltaFile
+4-0usr.sbin/acpi/acpidb/Makefile
+4-01 files

FreeBSD/src 47f4f76sys/sys param.h

Bump __FreeBSD_version for llvm 21.1.8 merge

PR:             292067
MFC after:      1 month

(cherry picked from commit 8f95b8b19088bd8d73f6d14dab7afe848dfc0c35)
DeltaFile
+1-1sys/sys/param.h
+1-11 files

FreeBSD/src ec67978lib/clang/include/llvm/Config config.h

Fix up builds on Linux hosts after llvm 21.1.8 merge

This is because contrib/llvm-project/llvm/lib/Support/Unix/Threading.inc
attempts to use pthread_get_name_np(3) and pthread_set_name_np(3), which
are not defined on Linux.

Reported by:    ivy
PR:             292067
MFC after:      1 month

(cherry picked from commit b6d823e39072daae9df4b47a15ea7142b7a55f1a)
DeltaFile
+4-0lib/clang/include/llvm/Config/config.h
+4-01 files

FreeBSD/src 0c6a058contrib/llvm-project/clang/lib/Headers emmintrin.h xmmintrin.h

Merge commit b0d2b57f7e47 from llvm git (by Phoebe Wang):

  [Headers][X86] Remove more duplicated typedefs (#153820)

  They are defined in mmintrin.h

This fixes a -Werror warning in openzfs, which compiles for C99, and C99
does not allow for typedef redefinitions.

PR:             292067
MFC after:      1 month

(cherry picked from commit 20450c2e792084f06974cff9d2338e2d0406883f)
DeltaFile
+0-4contrib/llvm-project/clang/lib/Headers/emmintrin.h
+0-1contrib/llvm-project/clang/lib/Headers/xmmintrin.h
+0-52 files

FreeBSD/src 2e97bf2contrib/llvm-project/libcxx/src iostream.cpp

Merge commit c1d26c3c2510 from llvm git (by Nikolas Klauser):

  [libc++] Fix iostream size ABI break (#185839)

  In #124103 we changed the size of various iostream objects, which turns
  out to be ABI breaking when compiling non-PIE code.

  This ABI break is safe to fix, since for any programs allocating more
  memory for the iostream objects, the remaining bytes are simply unused
  now.

  Fixes #185724

This fixes the ABI break that causes programs that use the standard
streams to terminate in various interesting ways, usually by throwing an
unexpected std::bad_cast exception.

PR:             292067
MFC after:      1 month

    [2 lines not shown]
DeltaFile
+55-36contrib/llvm-project/libcxx/src/iostream.cpp
+55-361 files

FreeBSD/src 0b78483contrib/llvm-project/llvm/include/llvm/Option OptParser.td

Add a comment to llvm's OptParser.td, so dependent files get rebuilt.

PR:             292067
MFC after:      1 month

(cherry picked from commit 3cbf898fb49fe087cdcafe2745cca3f7a20f4388)
DeltaFile
+2-0contrib/llvm-project/llvm/include/llvm/Option/OptParser.td
+2-01 files

FreeBSD/src e4ec227. ObsoleteFiles.inc

Remove usr/include/c++/v1/__fwd/get.h from ObsoleteFiles.inc.

PR:             292067
MFC after:      1 month

(cherry picked from commit b99d02027a0fe2e9f9a4aeb6fa3484847ddc5a57)
DeltaFile
+0-1ObsoleteFiles.inc
+0-11 files

FreeBSD/src b50d6ddshare/mk bsd.sys.mk

bsd.sys.mk: also suppress clang -Wc++1[47]-extensions warnings for >= 19

This is a direct commit to stable/14, which does not yet default to
C++17 for most in-tree programs. In some cases, this would trigger
-Wc++1[47]-extensions warnings with libc++ 21.
DeltaFile
+2-0share/mk/bsd.sys.mk
+2-01 files

FreeBSD/src 8bf7343. ObsoleteFiles.inc, contrib/llvm-project/libcxx/include stdint.h cstdint

Revert 00bee6fcd77f, which partially reverted libc++ commit aa7f377c965c

After base 966fb94cb357, this revert is no longer necessary: stdint.h
will unconditionally define macros such as `SIZE_MAX`, `UINT64_C`, and
others.

Submitted by:   Nikolas Klauser <nikolasklauser at berlin.de>
MFC after:      1 month
Reviewed by:    imp
Differential Revision: https://reviews.freebsd.org/D56746

(cherry picked from commit 19ff93c921a9d31770bcfc194c078e7a42a5f14f)
DeltaFile
+0-127contrib/llvm-project/libcxx/include/stdint.h
+0-8contrib/llvm-project/libcxx/include/cstdint
+0-4lib/libc++/module.modulemap
+3-0ObsoleteFiles.inc
+0-1lib/libc++/Makefile
+3-1405 files