mac80211: update to backports-4.14-rc2

This updates mac80211 to backprots-4.14-rc2.
This was compile and runtime tested with ath9k, ath10k and b43
with multiple stations and ieee80211w and in different scenarios by many
other people.

To create the backports-4.14-rc2-1.tar.xz use this repository:
https://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git
from tag v4.14-rc2-1

Then run this:
./gentree.py --git-revision v4.14-rc2 --clean  <path to linux repo> ../backports-4.14-rc2-1

This also adapts the ath10k-ct and mt76 driver to the changed cfg80211
APIs and syncs the nl80211.h file in iw with the new version from
backports-4.14-rc2.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Hauke Mehrtens
2017-08-22 23:59:48 +02:00
parent 1114f5dc10
commit a8f63a0717
148 changed files with 910 additions and 7138 deletions

View 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 := \
@@ -275,7 +275,7 @@
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
}
@@ -285,7 +285,7 @@
{
__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;
@@ -302,7 +302,7 @@
/* 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);
@@ -311,7 +311,7 @@
/* 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;
@@ -320,7 +320,7 @@
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;
@@ -335,7 +335,7 @@
}
@@ -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 */
@@ -344,7 +344,7 @@
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;
@@ -353,7 +353,7 @@
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);
@@ -366,7 +366,7 @@
}
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;
@@ -378,7 +378,7 @@
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;