From f7da3946796510758a31d6d93f299e34e06e0c52 Mon Sep 17 00:00:00 2001 From: Ryder Lee Date: Wed, 14 Jul 2021 17:18:48 +0800 Subject: [PATCH] mt76 mt7915: take RCU read lock when calling ieee80211_bss_get_elem() As ieee80211_bss_get_elem() derefences an RCU to return ie, both the call to this function and any operation on this variable need protection by the RCU read lock. Signed-off-by: Ryder Lee Signed-off-by: Felix Fietkau --- mt7915/mcu.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mt7915/mcu.c b/mt7915/mcu.c index 47507189..385b157d 100644 --- a/mt7915/mcu.c +++ b/mt7915/mcu.c @@ -923,12 +923,15 @@ static void mt7915_check_he_obss_narrow_bw_ru_iter(struct wiphy *wiphy, struct mt7915_he_obss_narrow_bw_ru_data *data = _data; const struct element *elem; + rcu_read_lock(); elem = ieee80211_bss_get_elem(bss, WLAN_EID_EXT_CAPABILITY); if (!elem || elem->datalen <= 10 || !(elem->data[10] & WLAN_EXT_CAPA10_OBSS_NARROW_BW_RU_TOLERANCE_SUPPORT)) data->tolerated = false; + + rcu_read_unlock(); } static bool mt7915_check_he_obss_narrow_bw_ru(struct ieee80211_hw *hw,