projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c7e34c1
)
mac80211_hwsim: fix RCU protected chanctx access
author
Johannes Berg
<johannes.berg@intel.com>
Thu, 5 May 2022 21:04:21 +0000
(23:04 +0200)
committer
Johannes Berg
<johannes.berg@intel.com>
Mon, 9 May 2022 12:00:07 +0000
(14:00 +0200)
We need to RCU protect the chanctx_conf access, so
do that.
Fixes: 585625c955b1 ("mac80211_hwsim: check TX and STA bandwidth")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link:
https://lore.kernel.org/r/20220505230421.fb8055c081a2.Ic6da3307c77a909bd61a0ea25dc2a4b08fe1b03f@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/mac80211_hwsim.c
patch
|
blob
|
history
diff --git
a/drivers/net/wireless/mac80211_hwsim.c
b/drivers/net/wireless/mac80211_hwsim.c
index 28bfa7b7b73c09ab0e6cad98b9587fc7b4bea39f..3ac3693dbecb668e42178eaed58cbb4d41dfd521 100644
(file)
--- a/
drivers/net/wireless/mac80211_hwsim.c
+++ b/
drivers/net/wireless/mac80211_hwsim.c
@@
-2202,11
+2202,14
@@
mac80211_hwsim_sta_rc_update(struct ieee80211_hw *hw,
if (!data->use_chanctx) {
confbw = data->bw;
} else {
- struct ieee80211_chanctx_conf *chanctx_conf =
- rcu_dereference(vif->chanctx_conf);
+ struct ieee80211_chanctx_conf *chanctx_conf;
+
+ rcu_read_lock();
+ chanctx_conf = rcu_dereference(vif->chanctx_conf);
if (!WARN_ON(!chanctx_conf))
confbw = chanctx_conf->def.width;
+ rcu_read_unlock();
}
WARN(bw > hwsim_get_chanwidth(confbw),