diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-01-29 05:41:38 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-02-04 12:57:44 -0500 |
commit | e54faf29e07b6cc28a44a4f01d7fbc40905a67d3 (patch) | |
tree | 19bbfcbb6dc5b867c4ee025793761b20a4989519 /net | |
parent | 2ca813ad61136896c91a40194452ff665a522711 (diff) |
mac80211: allow transmitting deauth with tainted key
When we had a connection for WoWLAN and after resume it
needed to be disconnected, the previous commit enabled
sending a deauth frame to the AP. This frame would not
go through on MFP-enabled networks as the key for it is
marked tainted before the frame is transmitted.
Allow a tainted key to be used for deauth frames. Worst
case, we'll use a wrong key because the PTK was rekeyed
while suspended, but more likely the PTK is still fine
and the taint flag really only applies to the GTK(s).
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/tx.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index a2cb6a302cc7..7892b0a8873e 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -594,7 +594,8 @@ ieee80211_tx_h_select_key(struct ieee80211_tx_data *tx) | |||
594 | break; | 594 | break; |
595 | } | 595 | } |
596 | 596 | ||
597 | if (unlikely(tx->key && tx->key->flags & KEY_FLAG_TAINTED)) | 597 | if (unlikely(tx->key && tx->key->flags & KEY_FLAG_TAINTED && |
598 | !ieee80211_is_deauth(hdr->frame_control))) | ||
598 | return TX_DROP; | 599 | return TX_DROP; |
599 | 600 | ||
600 | if (!skip_hw && tx->key && | 601 | if (!skip_hw && tx->key && |