mac80211: update to backports-4.14-rc2
[openwrt/staging/lynxis.git] / package / kernel / mac80211 / patches / 100-remove-cryptoapi-dependencies.patch
index 95fea441a4f2d3dffc7ea08d9ce03412d08e352b..263be3e209f4d9ca50b82b137fbcb44073fb76d2 100644 (file)
@@ -6,9 +6,9 @@
        depends on CRYPTO_AES
 -      select BPAUTO_CRYPTO_CCM
 -      depends on CRYPTO_GCM
+       depends on CRYPTO_CMAC
        depends on CRC32
        ---help---
-         This option enables the hardware independent IEEE 802.11
 --- a/net/mac80211/Makefile
 +++ b/net/mac80211/Makefile
 @@ -16,9 +16,7 @@ mac80211-y := \
                struct {
 --- a/net/mac80211/wpa.c
 +++ b/net/mac80211/wpa.c
-@@ -305,7 +305,8 @@ ieee80211_crypto_tkip_decrypt(struct iee
+@@ -306,7 +306,8 @@ ieee80211_crypto_tkip_decrypt(struct iee
  }
  
  
  {
        __le16 mask_fc;
        int a4_included, mgmt;
-@@ -335,14 +336,8 @@ static void ccmp_special_blocks(struct s
+@@ -336,14 +337,8 @@ static void ccmp_special_blocks(struct s
        else
                qos_tid = 0;
  
  
        /* Nonce: Nonce Flags | A2 | PN
         * Nonce Flags: Priority (b0..b3) | Management (b4) | Reserved (b5..b7)
-@@ -350,6 +345,8 @@ static void ccmp_special_blocks(struct s
+@@ -351,6 +346,8 @@ static void ccmp_special_blocks(struct s
        b_0[1] = qos_tid | (mgmt << 4);
        memcpy(&b_0[2], hdr->addr2, ETH_ALEN);
        memcpy(&b_0[8], pn, IEEE80211_CCMP_PN_LEN);
  
        /* AAD (extra authenticate-only data) / masked 802.11 header
         * FC | A1 | A2 | A3 | SC | [A4] | [QC] */
-@@ -406,7 +403,7 @@ static int ccmp_encrypt_skb(struct ieee8
+@@ -407,7 +404,7 @@ static int ccmp_encrypt_skb(struct ieee8
        u8 *pos;
        u8 pn[6];
        u64 pn64;
        u8 b_0[AES_BLOCK_SIZE];
  
        if (info->control.hw_key &&
-@@ -461,9 +458,11 @@ static int ccmp_encrypt_skb(struct ieee8
+@@ -462,9 +459,11 @@ static int ccmp_encrypt_skb(struct ieee8
                return 0;
  
        pos += IEEE80211_CCMP_HDR_LEN;
  }
  
  
-@@ -536,7 +535,7 @@ ieee80211_crypto_ccmp_decrypt(struct iee
+@@ -537,7 +536,7 @@ ieee80211_crypto_ccmp_decrypt(struct iee
                        u8 aad[2 * AES_BLOCK_SIZE];
                        u8 b_0[AES_BLOCK_SIZE];
                        /* hardware didn't decrypt/verify MIC */
  
                        if (ieee80211_aes_ccm_decrypt(
                                    key->u.ccmp.tfm, b_0, aad,
-@@ -638,7 +637,7 @@ static int gcmp_encrypt_skb(struct ieee8
+@@ -639,7 +638,7 @@ static int gcmp_encrypt_skb(struct ieee8
        u8 *pos;
        u8 pn[6];
        u64 pn64;
        u8 j_0[AES_BLOCK_SIZE];
  
        if (info->control.hw_key &&
-@@ -695,8 +694,10 @@ static int gcmp_encrypt_skb(struct ieee8
+@@ -696,8 +695,10 @@ static int gcmp_encrypt_skb(struct ieee8
  
        pos += IEEE80211_GCMP_HDR_LEN;
        gcmp_special_blocks(skb, pn, j_0, aad);
  }
  
  ieee80211_tx_result
-@@ -1120,9 +1121,9 @@ ieee80211_crypto_aes_gmac_encrypt(struct
+@@ -1121,9 +1122,9 @@ ieee80211_crypto_aes_gmac_encrypt(struct
        struct ieee80211_key *key = tx->key;
        struct ieee80211_mmie_16 *mmie;
        struct ieee80211_hdr *hdr;
  
        if (WARN_ON(skb_queue_len(&tx->skbs) != 1))
                return TX_DROP;
-@@ -1168,7 +1169,7 @@ ieee80211_crypto_aes_gmac_decrypt(struct
+@@ -1169,7 +1170,7 @@ ieee80211_crypto_aes_gmac_decrypt(struct
        struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
        struct ieee80211_key *key = rx->key;
        struct ieee80211_mmie_16 *mmie;