Commit 89389b4d authored by David S. Miller's avatar David S. Miller

Merge tag 'mac80211-for-davem-2017-02-06' of...

Merge tag 'mac80211-for-davem-2017-02-06' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211

Johannes Berg says:

====================
A few simple fixes:
 * fix FILS AEAD cipher usage to use the correct AAD vectors
   and to use synchronous algorithms
 * fix using mesh HT operation data from userspace
 * fix adding mesh vendor elements to beacons & plink frames
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents ebf6c9cb fd551bac
...@@ -124,7 +124,7 @@ static int aes_siv_encrypt(const u8 *key, size_t key_len, ...@@ -124,7 +124,7 @@ static int aes_siv_encrypt(const u8 *key, size_t key_len,
/* CTR */ /* CTR */
tfm2 = crypto_alloc_skcipher("ctr(aes)", 0, 0); tfm2 = crypto_alloc_skcipher("ctr(aes)", 0, CRYPTO_ALG_ASYNC);
if (IS_ERR(tfm2)) { if (IS_ERR(tfm2)) {
kfree(tmp); kfree(tmp);
return PTR_ERR(tfm2); return PTR_ERR(tfm2);
...@@ -183,7 +183,7 @@ static int aes_siv_decrypt(const u8 *key, size_t key_len, ...@@ -183,7 +183,7 @@ static int aes_siv_decrypt(const u8 *key, size_t key_len,
/* CTR */ /* CTR */
tfm2 = crypto_alloc_skcipher("ctr(aes)", 0, 0); tfm2 = crypto_alloc_skcipher("ctr(aes)", 0, CRYPTO_ALG_ASYNC);
if (IS_ERR(tfm2)) if (IS_ERR(tfm2))
return PTR_ERR(tfm2); return PTR_ERR(tfm2);
/* K2 for CTR */ /* K2 for CTR */
...@@ -272,7 +272,7 @@ int fils_encrypt_assoc_req(struct sk_buff *skb, ...@@ -272,7 +272,7 @@ int fils_encrypt_assoc_req(struct sk_buff *skb,
crypt_len = skb->data + skb->len - encr; crypt_len = skb->data + skb->len - encr;
skb_put(skb, AES_BLOCK_SIZE); skb_put(skb, AES_BLOCK_SIZE);
return aes_siv_encrypt(assoc_data->fils_kek, assoc_data->fils_kek_len, return aes_siv_encrypt(assoc_data->fils_kek, assoc_data->fils_kek_len,
encr, crypt_len, 1, addr, len, encr); encr, crypt_len, 5, addr, len, encr);
} }
int fils_decrypt_assoc_resp(struct ieee80211_sub_if_data *sdata, int fils_decrypt_assoc_resp(struct ieee80211_sub_if_data *sdata,
......
...@@ -339,7 +339,7 @@ int mesh_add_vendor_ies(struct ieee80211_sub_if_data *sdata, ...@@ -339,7 +339,7 @@ int mesh_add_vendor_ies(struct ieee80211_sub_if_data *sdata,
/* fast-forward to vendor IEs */ /* fast-forward to vendor IEs */
offset = ieee80211_ie_split_vendor(ifmsh->ie, ifmsh->ie_len, 0); offset = ieee80211_ie_split_vendor(ifmsh->ie, ifmsh->ie_len, 0);
if (offset) { if (offset < ifmsh->ie_len) {
len = ifmsh->ie_len - offset; len = ifmsh->ie_len - offset;
data = ifmsh->ie + offset; data = ifmsh->ie + offset;
if (skb_tailroom(skb) < len) if (skb_tailroom(skb) < len)
......
...@@ -5916,6 +5916,7 @@ do { \ ...@@ -5916,6 +5916,7 @@ do { \
break; break;
} }
cfg->ht_opmode = ht_opmode; cfg->ht_opmode = ht_opmode;
mask |= (1 << (NL80211_MESHCONF_HT_OPMODE - 1));
} }
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPactivePathToRootTimeout, FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPactivePathToRootTimeout,
1, 65535, mask, 1, 65535, mask,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment