]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Aug 2019 17:13:56 +0000 (19:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Aug 2019 17:13:56 +0000 (19:13 +0200)
added patches:
mwifiex-fix-802.11n-wpa-detection.patch

queue-4.4/mwifiex-fix-802.11n-wpa-detection.patch [new file with mode: 0644]
queue-4.4/series

diff --git a/queue-4.4/mwifiex-fix-802.11n-wpa-detection.patch b/queue-4.4/mwifiex-fix-802.11n-wpa-detection.patch
new file mode 100644 (file)
index 0000000..8bdfa9c
--- /dev/null
@@ -0,0 +1,53 @@
+From df612421fe2566654047769c6852ffae1a31df16 Mon Sep 17 00:00:00 2001
+From: Brian Norris <briannorris@chromium.org>
+Date: Wed, 24 Jul 2019 12:46:34 -0700
+Subject: mwifiex: fix 802.11n/WPA detection
+
+From: Brian Norris <briannorris@chromium.org>
+
+commit df612421fe2566654047769c6852ffae1a31df16 upstream.
+
+Commit 63d7ef36103d ("mwifiex: Don't abort on small, spec-compliant
+vendor IEs") adjusted the ieee_types_vendor_header struct, which
+inadvertently messed up the offsets used in
+mwifiex_is_wpa_oui_present(). Add that offset back in, mirroring
+mwifiex_is_rsn_oui_present().
+
+As it stands, commit 63d7ef36103d breaks compatibility with WPA (not
+WPA2) 802.11n networks, since we hit the "info: Disable 11n if AES is
+not supported by AP" case in mwifiex_is_network_compatible().
+
+Fixes: 63d7ef36103d ("mwifiex: Don't abort on small, spec-compliant vendor IEs")
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Brian Norris <briannorris@chromium.org>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ drivers/net/wireless/mwifiex/main.h |    1 +
+ drivers/net/wireless/mwifiex/scan.c |    3 ++-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/mwifiex/main.h
++++ b/drivers/net/wireless/mwifiex/main.h
+@@ -108,6 +108,7 @@ enum {
+ #define MWIFIEX_MAX_TOTAL_SCAN_TIME   (MWIFIEX_TIMER_10S - MWIFIEX_TIMER_1S)
++#define WPA_GTK_OUI_OFFSET                            2
+ #define RSN_GTK_OUI_OFFSET                            2
+ #define MWIFIEX_OUI_NOT_PRESENT                       0
+--- a/drivers/net/wireless/mwifiex/scan.c
++++ b/drivers/net/wireless/mwifiex/scan.c
+@@ -151,7 +151,8 @@ mwifiex_is_wpa_oui_present(struct mwifie
+       if (((bss_desc->bcn_wpa_ie) &&
+            ((*(bss_desc->bcn_wpa_ie)).vend_hdr.element_id ==
+             WLAN_EID_VENDOR_SPECIFIC))) {
+-              iebody = (struct ie_body *) bss_desc->bcn_wpa_ie->data;
++              iebody = (struct ie_body *)((u8 *)bss_desc->bcn_wpa_ie->data +
++                                          WPA_GTK_OUI_OFFSET);
+               oui = &mwifiex_wpa_oui[cipher][0];
+               ret = mwifiex_search_oui_in_ie(iebody, oui);
+               if (ret)
index d3b673fb039031b45ebcf1a17e5942ae238eb6e2..c2c42f90986c3e427d4ebdfc2ffe54b72a1619fb 100644 (file)
@@ -29,3 +29,4 @@ alsa-firewire-fix-a-memory-leak-bug.patch
 mac80211-don-t-warn-on-short-wmm-parameters-from-ap.patch
 smb3-fix-deadlock-in-validate-negotiate-hits-reconnect.patch
 smb3-send-cap_dfs-capability-during-session-setup.patch
+mwifiex-fix-802.11n-wpa-detection.patch