mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
45 lines
2.0 KiB
Diff
45 lines
2.0 KiB
Diff
From eb19efed836a51ee30a602abe2dd21a97c47bbcc Mon Sep 17 00:00:00 2001
|
|
From: Arnd Bergmann <arnd@arndb.de>
|
|
Date: Fri, 24 Sep 2021 16:52:52 +0300
|
|
Subject: [PATCH] ath11k: Wstringop-overread warning
|
|
|
|
gcc-11 with the kernel address sanitizer prints a warning for this
|
|
driver:
|
|
|
|
In function 'ath11k_peer_assoc_h_vht',
|
|
inlined from 'ath11k_peer_assoc_prepare' at drivers/net/wireless/ath/ath11k/mac.c:1632:2:
|
|
drivers/net/wireless/ath/ath11k/mac.c:1164:13: error: 'ath11k_peer_assoc_h_vht_masked' reading 16 bytes from a region of size 4 [-Werror=stringop-overread]
|
|
1164 | if (ath11k_peer_assoc_h_vht_masked(vht_mcs_mask))
|
|
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
drivers/net/wireless/ath/ath11k/mac.c: In function 'ath11k_peer_assoc_prepare':
|
|
drivers/net/wireless/ath/ath11k/mac.c:1164:13: note: referencing argument 1 of type 'const u16 *' {aka 'const short unsigned int *'}
|
|
drivers/net/wireless/ath/ath11k/mac.c:969:1: note: in a call to function 'ath11k_peer_assoc_h_vht_masked'
|
|
969 | ath11k_peer_assoc_h_vht_masked(const u16 vht_mcs_mask[NL80211_VHT_NSS_MAX])
|
|
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
According to analysis from gcc developers, this is a glitch in the
|
|
way gcc tracks the size of struct members. This should really get
|
|
fixed in gcc, but it's also easy to work around this instance
|
|
by changing the function prototype to no include the length of
|
|
the array.
|
|
|
|
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99673
|
|
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
|
Link: https://lore.kernel.org/r/20210322160253.4032422-5-arnd@kernel.org
|
|
---
|
|
drivers/net/wireless/ath/ath11k/mac.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/mac.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/mac.c
|
|
@@ -1406,7 +1406,7 @@ ath11k_peer_assoc_h_ht_masked(const u8 h
|
|
}
|
|
|
|
static bool
|
|
-ath11k_peer_assoc_h_vht_masked(const u16 vht_mcs_mask[NL80211_VHT_NSS_MAX])
|
|
+ath11k_peer_assoc_h_vht_masked(const u16 vht_mcs_mask[])
|
|
{
|
|
int nss;
|
|
|