aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2010-03-30 02:36:15 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-03-31 14:46:42 -0400
commitfa83a2189870cdcd6fb4deeed391e0b988dc9a19 (patch)
treeb8bd693448ce691cd2948e69178f0adfa271d2e2 /net
parentecbcd3243651ae8ac2b73a96c320992a4cf01c5b (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')
-rw-r--r--net/mac80211/rx.c3
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