summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorAnjaneyulu <pagadala.yesu.anjaneyulu@intel.com>2023-06-16 08:53:56 +0200
committerJohannes Berg <johannes.berg@intel.com>2023-06-19 12:05:28 +0200
commit05050a2bc0c1599e95ef15a6ae34cb68ceabb06a (patch)
tree6f37406817d06c48684b796cc6572ba6c1ee4b95 /net
parentwifi: mac80211: stop passing cbss to parser (diff)
downloadlinux-05050a2bc0c1599e95ef15a6ae34cb68ceabb06a.tar.xz
linux-05050a2bc0c1599e95ef15a6ae34cb68ceabb06a.zip
wifi: mac80211: add consistency check for compat chandef
Add NULL check for compat variable to avoid crash in cfg80211_chandef_compatible() if it got called with some mixed up channel context where not all the users compatible with each other, which shouldn't happen. Signed-off-by: Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230616094948.ae0f10dfd36b.Iea98c74aeb87bf6ef49f6d0c8687bba0dbea2abd@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/chan.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c
index 168bf3edd4b4..68952752b599 100644
--- a/net/mac80211/chan.c
+++ b/net/mac80211/chan.c
@@ -802,6 +802,11 @@ void ieee80211_recalc_chanctx_chantype(struct ieee80211_local *local,
}
}
+ if (WARN_ON_ONCE(!compat)) {
+ rcu_read_unlock();
+ return;
+ }
+
/* TDLS peers can sometimes affect the chandef width */
list_for_each_entry_rcu(sta, &local->sta_list, list) {
if (!sta->uploaded ||