wifi: rtw89: check if sta's mac_id is valid under AP/TDLS
authorZong-Zhe Yang <kevin_yang@realtek.com>
Fri, 21 Oct 2022 09:18:28 +0000 (17:18 +0800)
committerKalle Valo <kvalo@kernel.org>
Tue, 1 Nov 2022 09:25:49 +0000 (11:25 +0200)
Add boundary check of mac_id when adding sta under AP/TDLS.
And, return -ENOSPC if the acquired mac_id is invalid.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20221021091828.40157-1-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/core.c

index 6d8243e..a27ca62 100644 (file)
@@ -2413,6 +2413,8 @@ int rtw89_core_sta_add(struct rtw89_dev *rtwdev,
        } else if (vif->type == NL80211_IFTYPE_AP || sta->tdls) {
                rtwsta->mac_id = rtw89_core_acquire_bit_map(rtwdev->mac_id_map,
                                                            RTW89_MAX_MAC_ID_NUM);
+               if (rtwsta->mac_id == RTW89_MAX_MAC_ID_NUM)
+                       return -ENOSPC;
        }
 
        return 0;