From: Simon Wunderlich Date: Tue, 26 Nov 2013 15:45:18 +0000 (+0100) Subject: mac80211: check csa wiphy flag in ibss before switching X-Git-Tag: drm-fsl-dcu-for-next~6129^2~4^2^2~2^2~4 X-Git-Url: http://git.agner.ch/gitweb/?a=commitdiff_plain;h=0834ae3c3af44480834cce128b6fef83006e537f;p=linux-drm-fsl-dcu.git mac80211: check csa wiphy flag in ibss before switching When external CSA IEs are received (beacons or action messages), a channel switch is triggered as well. This should only be allowed on devices which actually support channel switches, otherwise disconnect. (For the corresponding userspace invocation, the wiphy flag is checked in nl80211). Signed-off-by: Simon Wunderlich Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index 531be040b9ae..27a39de89679 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -823,6 +823,10 @@ ieee80211_ibss_process_chanswitch(struct ieee80211_sub_if_data *sdata, if (err) return false; + /* channel switch is not supported, disconnect */ + if (!(sdata->local->hw.wiphy->flags & WIPHY_FLAG_HAS_CHANNEL_SWITCH)) + goto disconnect; + params.count = csa_ie.count; params.chandef = csa_ie.chandef;