diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2019-02-15 18:43:55 +0100 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2019-02-17 17:33:18 +0100 |
commit | d48a8ed40d3d1b65eec9c848828c6c0e2928cf07 (patch) | |
tree | a9d76b409892bf8f354099730732aeab3760742f /package/kernel/mac80211/patches/subsys/384-mac80211-ensure-that-management-tx-skbs-have-encrypt.patch | |
parent | c8a30172f88f3df6d58dd3f67c5c12ef9472e979 (diff) | |
download | upstream-d48a8ed40d3d1b65eec9c848828c6c0e2928cf07.tar.gz upstream-d48a8ed40d3d1b65eec9c848828c6c0e2928cf07.tar.bz2 upstream-d48a8ed40d3d1b65eec9c848828c6c0e2928cf07.zip |
mac80211: update to version 4.19.23-1
This updates mac80211 to backports version 4.19.23-1 which includes all
the stable fixes from kernel 4.19.23.
The removed patches are included in this version.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'package/kernel/mac80211/patches/subsys/384-mac80211-ensure-that-management-tx-skbs-have-encrypt.patch')
-rw-r--r-- | package/kernel/mac80211/patches/subsys/384-mac80211-ensure-that-management-tx-skbs-have-encrypt.patch | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/package/kernel/mac80211/patches/subsys/384-mac80211-ensure-that-management-tx-skbs-have-encrypt.patch b/package/kernel/mac80211/patches/subsys/384-mac80211-ensure-that-management-tx-skbs-have-encrypt.patch deleted file mode 100644 index 1c1951eadd..0000000000 --- a/package/kernel/mac80211/patches/subsys/384-mac80211-ensure-that-management-tx-skbs-have-encrypt.patch +++ /dev/null @@ -1,48 +0,0 @@ -From: Felix Fietkau <nbd@nbd.name> -Date: Mon, 28 Jan 2019 13:16:45 +0100 -Subject: [PATCH] mac80211: ensure that management tx skbs have encryption - tailroom - -Some drivers use IEEE80211_KEY_FLAG_SW_MGMT_TX to indicate that management -frames need to be software encrypted. Since normal data packets are still -encrypted by the hardware, crypto_tx_tailroom_needed_cnt gets decremented -after key upload. This can lead to passing skbs to ccmp_encrypt_skb, which -don't have the needed tailroom for software encryption. - -Change the code to add tailroom for encrypted management packets, even if -crypto_tx_tailroom_needed_cnt is 0. - -Cc: stable@vger.kernel.org -Signed-off-by: Felix Fietkau <nbd@nbd.name> ---- - ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -1912,9 +1912,16 @@ static int ieee80211_skb_resize(struct i - int head_need, bool may_encrypt) - { - struct ieee80211_local *local = sdata->local; -+ struct ieee80211_hdr *hdr; -+ bool enc_tailroom; - int tail_need = 0; - -- if (may_encrypt && sdata->crypto_tx_tailroom_needed_cnt) { -+ hdr = (struct ieee80211_hdr *) skb->data; -+ enc_tailroom = may_encrypt && -+ (sdata->crypto_tx_tailroom_needed_cnt || -+ ieee80211_is_mgmt(hdr->frame_control)); -+ -+ if (enc_tailroom) { - tail_need = IEEE80211_ENCRYPT_TAILROOM; - tail_need -= skb_tailroom(skb); - tail_need = max_t(int, tail_need, 0); -@@ -1922,8 +1929,7 @@ static int ieee80211_skb_resize(struct i - - if (skb_cloned(skb) && - (!ieee80211_hw_check(&local->hw, SUPPORTS_CLONED_SKBS) || -- !skb_clone_writable(skb, ETH_HLEN) || -- (may_encrypt && sdata->crypto_tx_tailroom_needed_cnt))) -+ !skb_clone_writable(skb, ETH_HLEN) || enc_tailroom)) - I802_DEBUG_INC(local->tx_expand_skb_head_cloned); - else if (head_need || tail_need) - I802_DEBUG_INC(local->tx_expand_skb_head); |