FreeBSD/src d1180d4share/misc bsd-family-tree

bsd-family-tree: add FreeBSD 14.4
DeltaFile
+8-5share/misc/bsd-family-tree
+8-51 files

FreeBSD/src e6d579bstand/lua core.lua

core.lua: follow symlinks when looking for bootable kernels

PR: 293654
Reviewed by:    kevans
Approved by:    kevans
Differential Revision:  https://reviews.freebsd.org/D55713
DeltaFile
+1-1stand/lua/core.lua
+1-11 files

FreeBSD/src bc531a9libexec/flua/lfs lfs.c

stand: lua: break out a few more dirent types in lfs

These are non-standard and specific to the version used in loader.  We
have some desire to recognize symlinks to avoid filtering out kernel
symlinks in the autodetection bits when they would be perfectly fine to
`load`.

This won't be usable right away, so any impending use will need to be
careful to account for nil.

Reported by:    leres
DeltaFile
+4-0libexec/flua/lfs/lfs.c
+4-01 files

FreeBSD/src 863b5c1lib/libc/tests/stdlib system_test.c

system(3): Fix brain glitch in previous commit

We were saving SIGINT twice instead of SIGINT and SIGQUIT.

Also restore original order of operations (SIGINT then SIGQUIT), which
matches the order in which they're discussed in the POSIX description
of system(3).

MFC after:      1 week
Sponsored by:   Klara, Inc.
Fixes:          48368f702423 ("system(3): Address test robustness issue")
DeltaFile
+7-7lib/libc/tests/stdlib/system_test.c
+7-71 files

FreeBSD/src 48368f7lib/libc/tests/stdlib system_test.c

system(3): Address test robustness issue

Don't assume that SIGINT and SIGQUIT are set to SIG_DFL at the start
of the test.  Instead, retrieve their current dispositions and verify
that they are restored at the end of the test.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D55709
DeltaFile
+27-11lib/libc/tests/stdlib/system_test.c
+27-111 files

FreeBSD/src 72f0bc8share/dict web2

share/dict/web2: Sort

PR: 293659
Fixes: e49b6ead4114 ("Add a number of five letter words to the dictionary")
DeltaFile
+2-2share/dict/web2
+2-21 files

FreeBSD/src f37fbe3sys/netinet6 nd6_nbr.c nd6.h

ndp: implement delayed anycast and proxy NA

Reviewed by: bms
Differential Revision: https://reviews.freebsd.org/D55141
DeltaFile
+54-24sys/netinet6/nd6_nbr.c
+3-0sys/netinet6/nd6.h
+57-242 files

FreeBSD/src 6ccfa67share/man/man4 bpf.4, share/man/man7 hier.7

Fix typos in manual pages

bpf.4: accomodate -> accommodate
hier.7: compatability -> compatibility
namei.9: succesfull -> successful

Signed-off-by: Christos Longros <chris.longros at gmail.com>
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D55746
DeltaFile
+1-1share/man/man4/bpf.4
+1-1share/man/man7/hier.7
+1-1share/man/man9/namei.9
+3-33 files

FreeBSD/src 6560ee9share/man/man4 igc.4

igc.4: Describe better

MFC after:      3 days
DeltaFile
+4-4share/man/man4/igc.4
+4-41 files

FreeBSD/src 87c6ec1usr.sbin/cxgbetool cxgbetool.c

cxgbetool: create one backend routine for all the loadX cmds

They are all doing almost the same thing so it makes sense to have one
common routine.  The new routine supports non-regular files too.  eg.
 # cxgbetool chnex0 loadfw <(fetch -qo - http://srv/t7fw.bin)

MFC after:      1 week
Sponsored by:   Chelsio Communications
Reviewed by:    jhb
Differential Revision:  https://reviews.freebsd.org/D55747
DeltaFile
+77-117usr.sbin/cxgbetool/cxgbetool.c
+77-1171 files

FreeBSD/src e2ed7eeshare/mk bsd.progs.mk

bsd.progs.mk: Fix incremental META_MODE for prog sources

This fixes recursed builds not having meta mode enabled for them which
disabled dependency and and command change tracking.  We only want common
objects marked .NOMETA when recursing, not non-common objects.  The
common code expects _PROGS_COMMON_SRCS does not contain the prog source
or else it will be marked .NOMETA.

Add comments explaining the intent and cases being covered.

Fixes:  4ea5e107b1 ("<bsd.progs.mk>: Allow using SRCS for common sources")
Differential Revision:  https://reviews.freebsd.org/D55711
Reviewed by:    vexeduxr, sjg
DeltaFile
+25-2share/mk/bsd.progs.mk
+25-21 files

FreeBSD/src b4daedesys/dev/usb/quirk usb_quirk.c, sys/dev/usb/storage umass.c

usb: umass: add SCSIEJECT quirk and fix RTW8821CU_CD (USB mode switch)

Several Realtek (and lots other) USB dongles present themselves as
CDROM device first.  Upon eject they do a mode switch and suddenly
are a different kind of device (sometimes even with different IDs),
e.g., a wireless dongle.

In order to avoid the CDROM stage and rather than adding the quirk
handling to more drivers, add support to umass and if enabled
automatically eject the "CDROM" to make it the real device.

Longer-term some other drivers could stop using their hand-rolled
support for this.  It is unclear as-to how much we need the list of
(eject) quirks from u3g here, or if these are very specific to that
kind of devices.

Sponsored by:   The FreeBSD Foundation
Fixes:          b3b6a959c85a, 9c0cce328363
Reviewed by:    imp
Differential Revision: https://reviews.freebsd.org/D54901
DeltaFile
+56-1sys/dev/usb/storage/umass.c
+1-1sys/dev/usb/quirk/usb_quirk.c
+57-22 files

FreeBSD/src 02fd9fausr.sbin/freebsd-update freebsd-update.8 freebsd-update.sh

freebsd-update: Document -v verbosity flag

PR:             276099
MFC after:      3 days
Reported by:    michaelo
Co-authored-by: Alexander Ziaee <ziaee at FreeBSD.org>
DeltaFile
+12-1usr.sbin/freebsd-update/freebsd-update.8
+1-0usr.sbin/freebsd-update/freebsd-update.sh
+13-12 files

FreeBSD/src 7fd8a20contrib/llvm-project/libcxx/include/__type_traits add_lvalue_reference.h add_pointer.h

Merge commit 81b20e110b3f from llvm git (by Roland McGrath):

    [libc++] Work around new GCC 15 type_traits builtins that can't be
    used as Clang's can (#137871)

    GCC 15 has added builtins for various C++ type traits that Clang
    already had.  Since `__has_builtin(...)` now finds these, the #if
    branches previously only used for Clang are now used for GCC 15.
    However, GCC 15 requires that these builtins only be used in type
    aliases, not in template aliases.

    For now, just don't use the `__has_builtin(...)` branches under newer
    GCC versions, so both 14 and 15 work during the transition.  This
    can be cleaned up later to use all the GCC 15 builtins available.

    Fixed: #137704
    Fixed: #117319

Reviewed by:    dim

    [4 lines not shown]
DeltaFile
+1-1contrib/llvm-project/libcxx/include/__type_traits/add_lvalue_reference.h
+1-1contrib/llvm-project/libcxx/include/__type_traits/add_pointer.h
+1-1contrib/llvm-project/libcxx/include/__type_traits/add_rvalue_reference.h
+1-1contrib/llvm-project/libcxx/include/__type_traits/decay.h
+1-1contrib/llvm-project/libcxx/include/__type_traits/remove_all_extents.h
+1-1contrib/llvm-project/libcxx/include/__type_traits/remove_extent.h
+6-66 files

FreeBSD/src 897711bcontrib/llvm-project/libcxx/include/__type_traits add_lvalue_reference.h add_pointer.h

Merge commit 81b20e110b3f from llvm git (by Roland McGrath):

    [libc++] Work around new GCC 15 type_traits builtins that can't be
    used as Clang's can (#137871)

    GCC 15 has added builtins for various C++ type traits that Clang
    already had.  Since `__has_builtin(...)` now finds these, the #if
    branches previously only used for Clang are now used for GCC 15.
    However, GCC 15 requires that these builtins only be used in type
    aliases, not in template aliases.

    For now, just don't use the `__has_builtin(...)` branches under newer
    GCC versions, so both 14 and 15 work during the transition.  This
    can be cleaned up later to use all the GCC 15 builtins available.

    Fixed: #137704
    Fixed: #117319

Reviewed by:    dim

    [3 lines not shown]
DeltaFile
+1-1contrib/llvm-project/libcxx/include/__type_traits/add_lvalue_reference.h
+1-1contrib/llvm-project/libcxx/include/__type_traits/add_pointer.h
+1-1contrib/llvm-project/libcxx/include/__type_traits/add_rvalue_reference.h
+1-1contrib/llvm-project/libcxx/include/__type_traits/decay.h
+1-1contrib/llvm-project/libcxx/include/__type_traits/remove_all_extents.h
+1-1contrib/llvm-project/libcxx/include/__type_traits/remove_extent.h
+6-66 files

FreeBSD/src 2c5cd07contrib/jemalloc/src jemalloc.c

rallocx path: only set errno on the realloc case.

PR:             291677
Obtained from:  jemalloc (commit 83b075789b4239035931c1ee212576d00153bbf0)
Fixes:          c43cad871720 ("jemalloc: Merge from jemalloc 5.3.0 vendor branch")
MFC after:      3 days
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2059
DeltaFile
+3-1contrib/jemalloc/src/jemalloc.c
+3-11 files

FreeBSD/src 5583b64contrib/jemalloc/src jemalloc.c

Set errno to ENOMEM on rallocx() OOM failures

realloc() and rallocx() shares path, and realloc() should set errno to
ENOMEM upon OOM failures.

PR:             291677
Obtained from:  jemalloc (commit 38056fea64c34ca4fef0a16212776eaa4de80b78)
Fixes:          c43cad871720 ("jemalloc: Merge from jemalloc 5.3.0 vendor branch")
MFC after:      3 days
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2059
DeltaFile
+1-0contrib/jemalloc/src/jemalloc.c
+1-01 files

FreeBSD/src 0cac462sys/contrib/dev/iwlwifi/mld mld.c

iwlwifi: mld: add LINUXKPI_PARAM_PREFIX

Add a LINUXKPI_PARAM_PREFIX to mld to properly export the
power_scheme module_param (sysctl).  This is especially needed given
mvm has the same parameter and we need to avoid a clash.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 7db8503bda2724ae145475c3260d581bb98613ad)
DeltaFile
+4-0sys/contrib/dev/iwlwifi/mld/mld.c
+4-01 files

FreeBSD/src a367a62sys/contrib/dev/iwlwifi/mld mld.c, sys/contrib/dev/iwlwifi/mvm ops.c

iwlwifi: adjust driver description

Adjust the module driver descriptions for mvm and mld to make it clear
that this is not a driver for Linux but a Linux-based driver for FreeBSD.
Cleanup surroundings.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 782fe2f8d90488a61ecdbe1d4b245900a88bee56)
DeltaFile
+6-0sys/contrib/dev/iwlwifi/mld/mld.c
+1-2sys/contrib/dev/iwlwifi/mvm/ops.c
+7-22 files

FreeBSD/src 79aafaesys/contrib/dev/iwlwifi/fw/api rx.h, sys/contrib/dev/iwlwifi/mld rx.c d3.c

iwlwifi: update Intel's mvm/mld drivers

This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
05f7e89ab9731565d8a62e3b5d1ec206485eeb0b ( tag: v6.19 ).

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 95dd8736f846dee1208fe4c306caf1b0baf3caba)
DeltaFile
+931-804sys/contrib/dev/iwlwifi/mld/rx.c
+0-809sys/contrib/dev/iwlwifi/mvm/link.c
+359-200sys/contrib/dev/iwlwifi/mld/d3.c
+49-347sys/contrib/dev/iwlwifi/mvm/d3.c
+286-0sys/contrib/dev/iwlwifi/fw/api/rx.h
+175-77sys/contrib/dev/iwlwifi/pcie/gen1_2/trans.c
+1,800-2,237103 files not shown
+3,127-4,432109 files

FreeBSD/src 8642c8csys/compat/linuxkpi/common/src linux_80211.c linux_80211_macops.c

LinuxKPI: 802.11: split (*bss_info_changed) up for more modern drivers

With the advent of MLO some of the updates (*bss_info_changed) would
have done are not per-link.  This had (*vif_cfg_changed) and
(*link_conf_changed) introduced which are used by iwlwifi, rtw89,
select mt76 drivers, and ath12k currently it seems.
A driver normally only supports on or the other set.

Factor out the call to (*bss_info_changed) into an internal function.
There split the options up depending on whether they are for the
vif or a link and leave a fallback to (*bss_info_changed) for older
drivers.

Add the mac80211 ops implementations for the two new calls along with
a currently unused backup option for (*bss_info_changed) for each
as I assume we will eventually call the directly rather than from the
internal wrapper function.

Sponsored by:   The FreeBSD Foundation

    [2 lines not shown]
DeltaFile
+61-14sys/compat/linuxkpi/common/src/linux_80211.c
+63-7sys/compat/linuxkpi/common/src/linux_80211_macops.c
+4-0sys/compat/linuxkpi/common/src/linux_80211.h
+128-213 files

FreeBSD/src 169ab96sys/contrib/dev/iwlwifi/mld mld.c

iwlwifi: mld: move module_init() to SI_ORDER_SECOND

In FreeBSD the iwlwifi driver is a single kernel module.
As for iwlwifi/mvm we need to make sure the common "iwlwifi drv" code
is initialized before trying to register the mld sub-driver
in order for lists, etc. in the registration code to be initialized.
We do this by using an extended (FreeBSD specific) version of
module_init which overrides the order parameter of the SYSINIT.
Otherwise we can randomly (depending on SYSINIT run order) run into
a NULL pointer deref panic.

Sponsored by:   The FreeBSD Foundation
PR:             291120

(cherry picked from commit 551c4cb74a807ceae55288bf273f5cfeb37c7c91)
DeltaFile
+4-0sys/contrib/dev/iwlwifi/mld/mld.c
+4-01 files

FreeBSD/src 651fcd5sys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: fix typo

Sponsored by:   The FreeBSD Foundation

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

FreeBSD/src 5f68af1sys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: change teardown order of disassoc and sta rm

In lkpi_sta_auth_to_scan() we remove the sta from the firmware
for everything supporting (*sta_state).

We used to run into issues here with iwlwifi in that we had to
use a specific order: set vif->cfg.assoc = false, .aid = 0,
then remove the sta, and then send the mac update as otherwise
we would either have the sta silently removed (if we run
(*bss_info_change) first and fail then or silently not have the
sta removed and upon sta add we would trigger the fw crash.

The order of events seem to have changed now and especially BE200
(iwlwifi/mld) is picky about this and would crash the firmware with
something like:

        iwlwifi0: 0x20103311 | ADVANCED_SYSASSERT
        iwlwifi0: 0x00000000 | umac branchlink1
        iwlwifi0: 0xC00808AA | umac branchlink2

    [22 lines not shown]
DeltaFile
+30-27sys/compat/linuxkpi/common/src/linux_80211.c
+30-271 files

FreeBSD/src 4e7b625sys/net80211 ieee80211_sta.c

net80211: sta: use IEEE80211_STATUS_SUCCESS instead of magic 0

Rather than using the status != 0 check use the way more descriptive
status != IEEE80211_STATUS_SUCCESS definition.  This makes it a lot
more clear what is checked here.  While here add a comment in case
aof the (Re)Assoc Resp failure as we do not update state in that case
but rely on a timeout which will bounce us back to State 1
(cf. 802.11-2024, Figure 11-23) which means SCAN in our case, rather
than possibly moving us back to AUTH.  We will likely have to revisit
this when SAE hits the tree.

Sponsored by:   The FreeBSD Foundation
Reviewed by:    adrian
Differential Revision: https://reviews.freebsd.org/D55643

(cherry picked from commit 9b03cc2a70e4b6354c5f5b90e4c51b850b6b1dd2)
DeltaFile
+8-3sys/net80211/ieee80211_sta.c
+8-31 files

FreeBSD/src 9e989afsys/compat/linuxkpi/common/include/linux dma-mapping.h

LinuxKPI: pass attrs in more places in dma-mapping.h

Various macros (dma_map_sg_attrs, dma_unmap_sg_attrs,
dma_map_single_attrs, and dma_unmap_single_attrs) currently supress
passing on the attrs argument.  Their implementation (even though at
times still marked the argument __unused; we remove that) have long
gained support for handling the argument.
With ofed fixed (5edf24aac1d09), pass the argument through so that
other drivers using these functions may hopefully work just a bit
better as well.

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

(cherry picked from commit 31c3cba807839a1a16e6f4bca91d530d9342b61a)
DeltaFile
+6-6sys/compat/linuxkpi/common/include/linux/dma-mapping.h
+6-61 files

FreeBSD/src 748f775sys/compat/linuxkpi/common/include/net mac80211.h, sys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: improve prep_tx_info

Over time struct ieee80211_prep_tx_info has grown further fields.
One which is becoming mandatory is the subtype (of the mgmt frame).
iwlwifi(mld) has a WARN for it if it does not match, so we now have
to set this for proper operation.  In addition we are tyring to improve
the situation of setting/unsetting (prepare_tx/complete_tx) in various
states and cleanup the use of other fields but link_id which we now
leave as a marker for the future everywhere.
The general problem we are facing is that our hook surface in this case
is the state machine but likely would have to be tx/rx mgmt frames but
we would alos have to driver the TX queues from there which is tricky.
The long-term answer is to change net80211.

Further the hardware flag DEAUTH_NEED_MGD_TX_PREP is dead and was
removed again in favour of leting drivers deal with it.  iwlwifi(mvm)
likely being the only driver which ever used this.

Sponsored by:   The FreeBSD Foundation

    [2 lines not shown]
DeltaFile
+72-21sys/compat/linuxkpi/common/src/linux_80211.c
+0-1sys/compat/linuxkpi/common/include/net/mac80211.h
+72-222 files

FreeBSD/src d9f6064sys/contrib/dev/iwlwifi/mvm mld-mac80211.c

iwlwifi: fixup link_id for certain cases

In iwl_mvm_mld_vif_cfg_changed_station() if we do not do MLO (which we
do not do yet at all), dtim_period is not yet set but asssoc is
(our common case) the link_id can become -1 as active_links is always
0 for the non-MLO case.

This leads to logging of a WARN;
Invalid link ID for session protection: 4294967295

Fixup the link_id if it is -1 to be 0.  This is the deflink link_id so
that should always be fine in this case.

For Linux 7.0-rc2 that code is already gone so this is a local temporary
stopgap measure for the mvm-mld devices (e.g., some AX210).

Sponosred by:   The FreeBSD Foundation

(cherry picked from commit 760e0a18d3033152899fbd0e3f587dfe3c28d6bf)
DeltaFile
+8-0sys/contrib/dev/iwlwifi/mvm/mld-mac80211.c
+8-01 files

FreeBSD/src 81b53d3sys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: fix typo

Sponsored by:   The FreeBSD Foundation

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

FreeBSD/src ad85b6bsys/dev/dpaa2 dpaa2_buf.c

dpaa2: improve error messages and log requested cluster size

If m_getjcl() fails we want to know the size we requested in order to
have a chance to evaluate the problem better.

Reviewed by:    tuexen
Differential Revision: https://reviews.freebsd.org/D55555

(cherry picked from commit c3577fcf3fd0494cc992021d4debbca09241a49e)
DeltaFile
+2-1sys/dev/dpaa2/dpaa2_buf.c
+2-11 files