mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-04 04:54:18 +00:00
323e249ce8
This updates mac80211 to version 6.1.97-1. This code is based on Linux 6.1.97 and contains all fixes included in the upstream wireless subsystem from that kernel version. This includes many bugfixes and also some security fixes. The removed patches are already integrated in upstream Linux 6.1.97 or in backports. The following patches were integrated in upstream Linux: ath11k/0013-wifi-ath11k-synchronize-ath11k_mac_he_gi_to_nl80211_.patch ath11k/0035-wifi-ath11k-Use-platform_get_irq-to-get-the-interrup.patch ath11k/0036-wifi-ath11k-fix-SAC-bug-on-peer-addition-with-sta-ba.patch ath11k/0047-wifi-ath11k-fix-deinitialization-of-firmware-resourc.patch ath11k/0053-wifi-ath11k-fix-writing-to-unintended-memory-region.patch ath11k/0060-wifi-ath11k-Ignore-frags-from-uninitialized-peer-in-.patch ath11k/0065-wifi-ath11k-fix-tx-status-reporting-in-encap-offload.patch ath11k/0067-wifi-ath11k-Fix-SKB-corruption-in-REO-destination-ri.patch ath11k/0069-wifi-ath11k-fix-registration-of-6Ghz-only-phy-withou.patch ath11k/0080-wifi-ath11k-add-support-default-regdb-while-searchin.patch ath11k/0085-wifi-ath11k-fix-memory-leak-in-WMI-firmware-stats.patch ath11k/0086-wifi-ath11k-Add-missing-check-for-ioremap.patch ath11k/0096-wifi-ath11k-fix-boot-failure-with-one-MSI-vector.patch subsys/337-wifi-mac80211-fix-race-condition-on-enabling-fast-xm.patch The following patches were integrated in upstream backports: ath11k/901-wifi-ath11k-pci-fix-compilation-in-5.16-and-older.patch build/080-resv_start_op.patch build/110-backport_napi_build_skb.patch The following files are missing in backports, we do not have to remove them any more. Some were already missing before some were removed in this update: include/linux/cordic.h include/linux/crc8.h include/linux/eeprom_93cx6.h include/linux/wl12xx.h include/net/ieee80211.h backport-include/linux/bcm47xx_nvram.h include/linux/ath9k_platform.h include/net/bluetooth/ backports ships a dummy Mediatek wed header for older kernel versions. We backported the feature in our kernel, remove the dummy header: backport-include/linux/soc/mediatek/mtk_wed.h Remove header files for subsystems used form the mainline kernel: include/trace/events/qrtr.h include/net/rsi_91x.h backport-include/linux/platform_data/brcmnand.h Link: https://github.com/openwrt/openwrt/pull/15827 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
85 lines
2.5 KiB
Diff
85 lines
2.5 KiB
Diff
From 695df2f417d25202bdac9cde3c82d2acb6492b4d Mon Sep 17 00:00:00 2001
|
|
From: Arnd Bergmann <arnd@arndb.de>
|
|
Date: Fri, 5 May 2023 16:11:25 +0300
|
|
Subject: [PATCH] wifi: ath: work around false-positive stringop-overread
|
|
warning
|
|
|
|
In a rare arm64 randconfig build, I got multiple warnings for ath11k
|
|
and ath12k:
|
|
|
|
In function 'ath11k_peer_assoc_h_ht',
|
|
inlined from 'ath11k_peer_assoc_prepare' at drivers/net/wireless/ath/ath11k/mac.c:2665:2:
|
|
drivers/net/wireless/ath/ath11k/mac.c:1709:13: error: 'ath11k_peer_assoc_h_ht_masked' reading 10 bytes from a region of size 0 [-Werror=stringop-overread]
|
|
1709 | if (ath11k_peer_assoc_h_ht_masked(ht_mcs_mask))
|
|
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
This happens whenever gcc-13 fails to inline one of the functions
|
|
that take a fixed-length array argument but gets passed a pointer.
|
|
|
|
Change these functions to all take a regular pointer argument
|
|
instead.
|
|
|
|
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
|
Link: https://lore.kernel.org/r/20230417205447.1800912-1-arnd@kernel.org
|
|
---
|
|
drivers/net/wireless/ath/ath11k/mac.c | 12 ++++++------
|
|
1 file changed, 6 insertions(+), 6 deletions(-)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/mac.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/mac.c
|
|
@@ -433,7 +433,7 @@ u8 ath11k_mac_bitrate_to_idx(const struc
|
|
}
|
|
|
|
static u32
|
|
-ath11k_mac_max_ht_nss(const u8 ht_mcs_mask[IEEE80211_HT_MCS_MASK_LEN])
|
|
+ath11k_mac_max_ht_nss(const u8 *ht_mcs_mask)
|
|
{
|
|
int nss;
|
|
|
|
@@ -445,7 +445,7 @@ ath11k_mac_max_ht_nss(const u8 ht_mcs_ma
|
|
}
|
|
|
|
static u32
|
|
-ath11k_mac_max_vht_nss(const u16 vht_mcs_mask[NL80211_VHT_NSS_MAX])
|
|
+ath11k_mac_max_vht_nss(const u16 *vht_mcs_mask)
|
|
{
|
|
int nss;
|
|
|
|
@@ -457,7 +457,7 @@ ath11k_mac_max_vht_nss(const u16 vht_mcs
|
|
}
|
|
|
|
static u32
|
|
-ath11k_mac_max_he_nss(const u16 he_mcs_mask[NL80211_HE_NSS_MAX])
|
|
+ath11k_mac_max_he_nss(const u16 *he_mcs_mask)
|
|
{
|
|
int nss;
|
|
|
|
@@ -1651,7 +1651,7 @@ static void ath11k_peer_assoc_h_rates(st
|
|
}
|
|
|
|
static bool
|
|
-ath11k_peer_assoc_h_ht_masked(const u8 ht_mcs_mask[IEEE80211_HT_MCS_MASK_LEN])
|
|
+ath11k_peer_assoc_h_ht_masked(const u8 *ht_mcs_mask)
|
|
{
|
|
int nss;
|
|
|
|
@@ -1663,7 +1663,7 @@ ath11k_peer_assoc_h_ht_masked(const u8 h
|
|
}
|
|
|
|
static bool
|
|
-ath11k_peer_assoc_h_vht_masked(const u16 vht_mcs_mask[])
|
|
+ath11k_peer_assoc_h_vht_masked(const u16 *vht_mcs_mask)
|
|
{
|
|
int nss;
|
|
|
|
@@ -2058,7 +2058,7 @@ static u16 ath11k_peer_assoc_h_he_limit(
|
|
}
|
|
|
|
static bool
|
|
-ath11k_peer_assoc_h_he_masked(const u16 he_mcs_mask[NL80211_HE_NSS_MAX])
|
|
+ath11k_peer_assoc_h_he_masked(const u16 *he_mcs_mask)
|
|
{
|
|
int nss;
|
|
|