]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: rtw89: Fix array index mistake in rtw89_sta_info_get_iter()
authorAleksandr Mishin <amishin@t-argos.ru>
Wed, 3 Jul 2024 21:05:10 +0000 (00:05 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Aug 2024 06:59:43 +0000 (08:59 +0200)
[ Upstream commit 85099c7ce4f9e64c66aa397cd9a37473637ab891 ]

In rtw89_sta_info_get_iter() 'status->he_gi' is compared to array size.
But then 'rate->he_gi' is used as array index instead of 'status->he_gi'.
This can lead to go beyond array boundaries in case of 'rate->he_gi' is
not equal to 'status->he_gi' and is bigger than array size. Looks like
"copy-paste" mistake.

Fix this mistake by replacing 'rate->he_gi' with 'status->he_gi'.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: e3ec7017f6a2 ("rtw89: add Realtek 802.11ax driver")
Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20240703210510.11089-1-amishin@t-argos.ru
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/realtek/rtw89/debug.c

index affffc4092ba32b128d6277c4e6687bf0603c8ab..5b4077c9fd286badd353c083fe376ecad58a7cdf 100644 (file)
@@ -3531,7 +3531,7 @@ static void rtw89_sta_info_get_iter(void *data, struct ieee80211_sta *sta)
        case RX_ENC_HE:
                seq_printf(m, "HE %dSS MCS-%d GI:%s", status->nss, status->rate_idx,
                           status->he_gi <= NL80211_RATE_INFO_HE_GI_3_2 ?
-                          he_gi_str[rate->he_gi] : "N/A");
+                          he_gi_str[status->he_gi] : "N/A");
                break;
        case RX_ENC_EHT:
                seq_printf(m, "EHT %dSS MCS-%d GI:%s", status->nss, status->rate_idx,