From: Greg Kroah-Hartman Date: Mon, 6 Apr 2015 10:57:02 +0000 (+0200) Subject: 3.14-stable patches X-Git-Tag: v3.10.74~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bf5ae5934fe3237d2e7c552cd44e6be8acd93b1b;p=thirdparty%2Fkernel%2Fstable-queue.git 3.14-stable patches added patches: mac80211-disable-u-apsd-queues-by-default.patch mac80211-drop-unencrypted-frames-in-mesh-fwding.patch nl80211-ignore-ht-vht-capabilities-without-qos-wmm.patch revert-iwlwifi-mvm-fix-failure-path-when-power_update.patch --- diff --git a/queue-3.14/mac80211-disable-u-apsd-queues-by-default.patch b/queue-3.14/mac80211-disable-u-apsd-queues-by-default.patch new file mode 100644 index 00000000000..c9dfc234edf --- /dev/null +++ b/queue-3.14/mac80211-disable-u-apsd-queues-by-default.patch @@ -0,0 +1,73 @@ +From aa75ebc275b2a91b193654a177daf900ad6703f0 Mon Sep 17 00:00:00 2001 +From: Michal Kazior +Date: Tue, 10 Feb 2015 12:48:44 +0100 +Subject: mac80211: disable u-APSD queues by default + +From: Michal Kazior + +commit aa75ebc275b2a91b193654a177daf900ad6703f0 upstream. + +Some APs experience problems when working with +U-APSD. Decreasing the probability of that +happening by using legacy mode for all ACs but VO +isn't enough. + +Cisco 4410N originally forced us to enable VO by +default only because it treated non-VO ACs as +legacy. + +However some APs (notably Netgear R7000) silently +reclassify packets to different ACs. Since u-APSD +ACs require trigger frames for frame retrieval +clients would never see some frames (e.g. ARP +responses) or would fetch them accidentally after +a long time. + +It makes little sense to enable u-APSD queues by +default because it needs userspace applications to +be aware of it to actually take advantage of the +possible additional powersavings. Implicitly +depending on driver autotrigger frame support +doesn't make much sense. + +Signed-off-by: Michal Kazior +Signed-off-by: Johannes Berg +Signed-off-by: Greg Kroah-Hartman + +--- + net/mac80211/ieee80211_i.h | 23 +++++++++++++++++------ + 1 file changed, 17 insertions(+), 6 deletions(-) + +--- a/net/mac80211/ieee80211_i.h ++++ b/net/mac80211/ieee80211_i.h +@@ -57,13 +57,24 @@ struct ieee80211_local; + #define IEEE80211_UNSET_POWER_LEVEL INT_MIN + + /* +- * Some APs experience problems when working with U-APSD. Decrease the +- * probability of that happening by using legacy mode for all ACs but VO. +- * The AP that caused us trouble was a Cisco 4410N. It ignores our +- * setting, and always treats non-VO ACs as legacy. ++ * Some APs experience problems when working with U-APSD. Decreasing the ++ * probability of that happening by using legacy mode for all ACs but VO isn't ++ * enough. ++ * ++ * Cisco 4410N originally forced us to enable VO by default only because it ++ * treated non-VO ACs as legacy. ++ * ++ * However some APs (notably Netgear R7000) silently reclassify packets to ++ * different ACs. Since u-APSD ACs require trigger frames for frame retrieval ++ * clients would never see some frames (e.g. ARP responses) or would fetch them ++ * accidentally after a long time. ++ * ++ * It makes little sense to enable u-APSD queues by default because it needs ++ * userspace applications to be aware of it to actually take advantage of the ++ * possible additional powersavings. Implicitly depending on driver autotrigger ++ * frame support doesn't make much sense. + */ +-#define IEEE80211_DEFAULT_UAPSD_QUEUES \ +- IEEE80211_WMM_IE_STA_QOSINFO_AC_VO ++#define IEEE80211_DEFAULT_UAPSD_QUEUES 0 + + #define IEEE80211_DEFAULT_MAX_SP_LEN \ + IEEE80211_WMM_IE_STA_QOSINFO_SP_ALL diff --git a/queue-3.14/mac80211-drop-unencrypted-frames-in-mesh-fwding.patch b/queue-3.14/mac80211-drop-unencrypted-frames-in-mesh-fwding.patch new file mode 100644 index 00000000000..1d4ac4a01d8 --- /dev/null +++ b/queue-3.14/mac80211-drop-unencrypted-frames-in-mesh-fwding.patch @@ -0,0 +1,34 @@ +From d0c22119f574b851e63360c6b8660fe9593bbc3c Mon Sep 17 00:00:00 2001 +From: Bob Copeland +Date: Mon, 2 Mar 2015 14:28:52 -0500 +Subject: mac80211: drop unencrypted frames in mesh fwding + +From: Bob Copeland + +commit d0c22119f574b851e63360c6b8660fe9593bbc3c upstream. + +The mesh forwarding path was not checking that data +frames were protected when running an encrypted network; +add the necessary check. + +Reported-by: Johannes Berg +Signed-off-by: Bob Copeland +Signed-off-by: Johannes Berg +Signed-off-by: Greg Kroah-Hartman + +--- + net/mac80211/rx.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/net/mac80211/rx.c ++++ b/net/mac80211/rx.c +@@ -2107,6 +2107,9 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 + hdr = (struct ieee80211_hdr *) skb->data; + mesh_hdr = (struct ieee80211s_hdr *) (skb->data + hdrlen); + ++ if (ieee80211_drop_unencrypted(rx, hdr->frame_control)) ++ return RX_DROP_MONITOR; ++ + /* frame is in RMC, don't forward */ + if (ieee80211_is_data(hdr->frame_control) && + is_multicast_ether_addr(hdr->addr1) && diff --git a/queue-3.14/nl80211-ignore-ht-vht-capabilities-without-qos-wmm.patch b/queue-3.14/nl80211-ignore-ht-vht-capabilities-without-qos-wmm.patch new file mode 100644 index 00000000000..8217c95fdf7 --- /dev/null +++ b/queue-3.14/nl80211-ignore-ht-vht-capabilities-without-qos-wmm.patch @@ -0,0 +1,42 @@ +From 496fcc294daab18799e190c0264863d653588d1f Mon Sep 17 00:00:00 2001 +From: Johannes Berg +Date: Thu, 12 Mar 2015 08:53:27 +0200 +Subject: nl80211: ignore HT/VHT capabilities without QoS/WMM + +From: Johannes Berg + +commit 496fcc294daab18799e190c0264863d653588d1f upstream. + +As HT/VHT depend heavily on QoS/WMM, it's not a good idea to +let userspace add clients that have HT/VHT but not QoS/WMM. +Since it does so in certain cases we've observed (client is +using HT IEs but not QoS/WMM) just ignore the HT/VHT info at +this point and don't pass it down to the drivers which might +unconditionally use it. + +Signed-off-by: Johannes Berg +Signed-off-by: Greg Kroah-Hartman + +--- + net/wireless/nl80211.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/net/wireless/nl80211.c ++++ b/net/wireless/nl80211.c +@@ -4190,6 +4190,16 @@ static int nl80211_new_station(struct sk + if (parse_station_flags(info, dev->ieee80211_ptr->iftype, ¶ms)) + return -EINVAL; + ++ /* HT/VHT requires QoS, but if we don't have that just ignore HT/VHT ++ * as userspace might just pass through the capabilities from the IEs ++ * directly, rather than enforcing this restriction and returning an ++ * error in this case. ++ */ ++ if (!(params.sta_flags_set & BIT(NL80211_STA_FLAG_WME))) { ++ params.ht_capa = NULL; ++ params.vht_capa = NULL; ++ } ++ + /* When you run into this, adjust the code below for the new flag */ + BUILD_BUG_ON(NL80211_STA_FLAG_MAX != 7); + diff --git a/queue-3.14/revert-iwlwifi-mvm-fix-failure-path-when-power_update.patch b/queue-3.14/revert-iwlwifi-mvm-fix-failure-path-when-power_update.patch new file mode 100644 index 00000000000..18295a29cd2 --- /dev/null +++ b/queue-3.14/revert-iwlwifi-mvm-fix-failure-path-when-power_update.patch @@ -0,0 +1,27 @@ +From 349cf6f6b43986575af2ff253138df2453110d7b Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Mon, 6 Apr 2015 12:18:59 +0200 +Subject: Revert "iwlwifi: mvm: fix failure path when power_update fails in add_interface" + +This reverts commit 5ac97a1b97e50ef197b64b72c1cd71779e4ecbbe + +It was incorrectly applied, as it merged with fuzz. + +Reported-by: Jiri Slaby +Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org + +--- + drivers/net/wireless/iwlwifi/mvm/mac80211.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c ++++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c +@@ -594,7 +594,7 @@ static int iwl_mvm_mac_add_interface(str + + ret = iwl_mvm_mac_ctxt_add(mvm, vif); + if (ret) +- goto out_remove_mac; ++ goto out_release; + + iwl_mvm_power_disable(mvm, vif); + diff --git a/queue-3.14/series b/queue-3.14/series index 5c25adcf9ee..793f449fca9 100644 --- a/queue-3.14/series +++ b/queue-3.14/series @@ -16,3 +16,7 @@ regmap-regcache-rbtree-fix-present-bitmap-resize.patch clocksource-efm32-fix-a-null-pointer-dereference.patch tcm_fc-missing-curly-braces-in-ft_invl_hw_context.patch tcm_qla2xxx-fix-incorrect-use-of-__transport_register_session.patch +nl80211-ignore-ht-vht-capabilities-without-qos-wmm.patch +mac80211-disable-u-apsd-queues-by-default.patch +mac80211-drop-unencrypted-frames-in-mesh-fwding.patch +revert-iwlwifi-mvm-fix-failure-path-when-power_update.patch