From 93db9a65dad5ba1f98c2ff2fc1b716c9d3e9a725 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 29 Sep 2018 16:05:12 +0200 Subject: [PATCH] mac80211: fix management frame protection issue with mt76 (and possibly other drivers) Software crypto wasn't working for management frames because the flag indicating management frame crypto was missing Signed-off-by: Felix Fietkau --- ...ting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 package/kernel/mac80211/patches/subsys/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch diff --git a/package/kernel/mac80211/patches/subsys/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch b/package/kernel/mac80211/patches/subsys/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch new file mode 100644 index 0000000000..7aa62858bd --- /dev/null +++ b/package/kernel/mac80211/patches/subsys/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch @@ -0,0 +1,25 @@ +From: Felix Fietkau +Date: Sat, 29 Sep 2018 15:55:44 +0200 +Subject: [PATCH] mac80211: fix setting IEEE80211_KEY_FLAG_RX_MGMT for AP mode + keys + +key->sta is only valid after ieee80211_key_link, which is called later +in this function. Because of that, the IEEE80211_KEY_FLAG_RX_MGMT is +never set when management frame protection is enabled. + +Fixes: e548c49e6dc6b ("mac80211: add key flag for management keys") +Cc: stable@vger.kernel.org +Signed-off-by: Felix Fietkau +--- + +--- a/net/mac80211/cfg.c ++++ b/net/mac80211/cfg.c +@@ -427,7 +427,7 @@ static int ieee80211_add_key(struct wiph + case NL80211_IFTYPE_AP: + case NL80211_IFTYPE_AP_VLAN: + /* Keys without a station are used for TX only */ +- if (key->sta && test_sta_flag(key->sta, WLAN_STA_MFP)) ++ if (sta && test_sta_flag(sta, WLAN_STA_MFP)) + key->conf.flags |= IEEE80211_KEY_FLAG_RX_MGMT; + break; + case NL80211_IFTYPE_ADHOC: