diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-01-07 20:23:53 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-01-08 15:49:28 -0500 |
commit | d79074488083ec0d7ecd15352192dc1631f25643 (patch) | |
tree | 3ba73d537ca84153bc6412bf5b9fdcdf1e3e56b9 /net/mac80211/rx.c | |
parent | 045cfb71a3901005bf6dcedae98cecb3360a0bfc (diff) | |
download | op-kernel-dev-d79074488083ec0d7ecd15352192dc1631f25643.zip op-kernel-dev-d79074488083ec0d7ecd15352192dc1631f25643.tar.gz |
mac80211: add missing sanity checks for action frames
Various missing sanity checks caused rejected action frames to be
interpreted as channel switch announcements, which can cause a client
mode interface to switch away from its operating channel, thereby losing
connectivity. This patch ensures that only spectrum management action
frames are processed by the CSA handling function and prevents rejected
action frames from getting processed by the MLME code.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 5429699..82a30c1 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -2015,6 +2015,10 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) } break; default: + /* do not process rejected action frames */ + if (mgmt->u.action.category & 0x80) + return RX_DROP_MONITOR; + return RX_CONTINUE; } |