diff options
author | Johannes Berg <johannes.berg@intel.com> | 2011-07-06 22:00:35 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-07-08 11:11:20 -0400 |
commit | 75396ae6d433b49482e377e6f8dbf1f42ad53f3a (patch) | |
tree | 07fb506f08f3cca7d67d2fd365cc059240b6957b /net/mac80211/key.h | |
parent | aba83a0b301c32dbb91c017f33307611e1a1d384 (diff) | |
download | lwn-75396ae6d433b49482e377e6f8dbf1f42ad53f3a.tar.gz lwn-75396ae6d433b49482e377e6f8dbf1f42ad53f3a.zip |
mac80211: fix CMAC races
Just like TKIP and CCMP, CMAC has the PN race.
It might not actually be possible to hit it now
since there aren't multiple ACs for management
frames, but fix it anyway.
Also move scratch buffers onto the stack.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/key.h')
-rw-r--r-- | net/mac80211/key.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/net/mac80211/key.h b/net/mac80211/key.h index 05ce4c0203fc..fcb52eb2f92f 100644 --- a/net/mac80211/key.h +++ b/net/mac80211/key.h @@ -97,14 +97,11 @@ struct ieee80211_key { #endif } ccmp; struct { - u8 tx_pn[6]; + atomic64_t tx_pn; u8 rx_pn[6]; struct crypto_cipher *tfm; u32 replays; /* dot11RSNAStatsCMACReplays */ u32 icverrors; /* dot11RSNAStatsCMACICVErrors */ - /* scratch buffers for virt_to_page() (crypto API) */ - u8 tx_crypto_buf[2 * AES_BLOCK_LEN]; - u8 rx_crypto_buf[2 * AES_BLOCK_LEN]; } aes_cmac; } u; |