summaryrefslogtreecommitdiffstats
path: root/net/mac80211/key.h
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2017-02-06 11:49:28 +0100
committerJohannes Berg <johannes.berg@intel.com>2017-02-08 09:19:33 +0100
commit26717828b75dd5c46e97f7f4a9b937d038bb2852 (patch)
treecb192493dd8bb60c52260932877cd7e23de96a81 /net/mac80211/key.h
parentmac80211: fils_aead: Use crypto api CMAC shash rather than bare cipher (diff)
downloadlinux-26717828b75dd5c46e97f7f4a9b937d038bb2852.tar.xz
linux-26717828b75dd5c46e97f7f4a9b937d038bb2852.zip
mac80211: aes-cmac: switch to shash CMAC driver
Instead of open coding the CMAC algorithm in the mac80211 driver using byte wide xors and calls into the crypto layer for each block of data, instantiate a cmac(aes) synchronous hash and pass all the data into it directly. This does not only simplify the code, it also allows the use of more efficient and more secure implementations, especially on platforms where SIMD ciphers have a considerable setup cost. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/key.h')
-rw-r--r--net/mac80211/key.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/key.h b/net/mac80211/key.h
index 4aa20cef0859..ebdb80b85dc3 100644
--- a/net/mac80211/key.h
+++ b/net/mac80211/key.h
@@ -93,7 +93,7 @@ struct ieee80211_key {
} ccmp;
struct {
u8 rx_pn[IEEE80211_CMAC_PN_LEN];
- struct crypto_cipher *tfm;
+ struct crypto_shash *tfm;
u32 replays; /* dot11RSNAStatsCMACReplays */
u32 icverrors; /* dot11RSNAStatsCMACICVErrors */
} aes_cmac;