diff options
author | Jouni Malinen <j@w1.fi> | 2010-03-30 02:36:15 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-03-31 14:46:42 -0400 |
commit | fa83a2189870cdcd6fb4deeed391e0b988dc9a19 (patch) | |
tree | b8bd693448ce691cd2948e69178f0adfa271d2e2 /net/mac80211 | |
parent | ecbcd3243651ae8ac2b73a96c320992a4cf01c5b (diff) |
mac80211: Fix dropping of unprotected robust multicast frames
When selecting the RX key for group-addressed robust management
frames, we do not actually select any BIP key if the frame is
unprotected (since we cannot find the key index from MMIE). This
results in the drop_unencrypted check in failing to drop the frame. It
is enough to verify that we have a STA entry for the transmitter and
that MFP is enabled for that STA; we do not need to check rx->key
here. This fixes BIP processing for unprotected, group-addressed,
robust management frames.
Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/rx.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 11ed5aa90f83..ea71e1abc4c8 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -1421,8 +1421,7 @@ ieee80211_drop_unencrypted_mgmt(struct ieee80211_rx_data *rx) | |||
1421 | return -EACCES; | 1421 | return -EACCES; |
1422 | /* BIP does not use Protected field, so need to check MMIE */ | 1422 | /* BIP does not use Protected field, so need to check MMIE */ |
1423 | if (unlikely(ieee80211_is_multicast_robust_mgmt_frame(rx->skb) && | 1423 | if (unlikely(ieee80211_is_multicast_robust_mgmt_frame(rx->skb) && |
1424 | ieee80211_get_mmie_keyidx(rx->skb) < 0 && | 1424 | ieee80211_get_mmie_keyidx(rx->skb) < 0)) |
1425 | rx->key)) | ||
1426 | return -EACCES; | 1425 | return -EACCES; |
1427 | /* | 1426 | /* |
1428 | * When using MFP, Action frames are not allowed prior to | 1427 | * When using MFP, Action frames are not allowed prior to |