From d056683fba1d5fdfabb809e083a10c988a549655 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 30 Jan 2013 10:57:30 +0100 Subject: [PATCH] 3.4-stable patches added patches: ath9k_htc-fix-memory-leak.patch mac80211-fix-ft-roaming.patch --- queue-3.4/ath9k_htc-fix-memory-leak.patch | 34 ++++++++++++++ queue-3.4/mac80211-fix-ft-roaming.patch | 55 +++++++++++++++++++++++ queue-3.4/series | 2 + 3 files changed, 91 insertions(+) create mode 100644 queue-3.4/ath9k_htc-fix-memory-leak.patch create mode 100644 queue-3.4/mac80211-fix-ft-roaming.patch diff --git a/queue-3.4/ath9k_htc-fix-memory-leak.patch b/queue-3.4/ath9k_htc-fix-memory-leak.patch new file mode 100644 index 00000000000..2ef01117b5a --- /dev/null +++ b/queue-3.4/ath9k_htc-fix-memory-leak.patch @@ -0,0 +1,34 @@ +From 0981c3b24ef664f5611008a6e6d0622fac6d892b Mon Sep 17 00:00:00 2001 +From: Sujith Manoharan +Date: Wed, 9 Jan 2013 16:07:48 +0530 +Subject: ath9k_htc: Fix memory leak + +From: Sujith Manoharan + +commit 0981c3b24ef664f5611008a6e6d0622fac6d892b upstream. + +SKBs that are allocated in the HTC layer do not have callbacks +registered and hence ended up not being freed, Fix this by freeing +them properly in the TX completion routine. + +Reported-by: Larry Finger +Signed-off-by: Sujith Manoharan +Tested-by: Larry Finger +Signed-off-by: John W. Linville +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/ath/ath9k/htc_hst.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/net/wireless/ath/ath9k/htc_hst.c ++++ b/drivers/net/wireless/ath/ath9k/htc_hst.c +@@ -342,6 +342,8 @@ void ath9k_htc_txcompletion_cb(struct ht + endpoint->ep_callbacks.tx(endpoint->ep_callbacks.priv, + skb, htc_hdr->endpoint_id, + txok); ++ } else { ++ kfree_skb(skb); + } + } + diff --git a/queue-3.4/mac80211-fix-ft-roaming.patch b/queue-3.4/mac80211-fix-ft-roaming.patch new file mode 100644 index 00000000000..0490ad64cd0 --- /dev/null +++ b/queue-3.4/mac80211-fix-ft-roaming.patch @@ -0,0 +1,55 @@ +From 1626e0fa740dec8665a973cf2349405cdfeb46dc Mon Sep 17 00:00:00 2001 +From: Johannes Berg +Date: Fri, 11 Jan 2013 14:34:25 +0100 +Subject: mac80211: fix FT roaming + +From: Johannes Berg + +commit 1626e0fa740dec8665a973cf2349405cdfeb46dc upstream. + +During FT roaming, wpa_supplicant attempts to set the +key before association. This used to be rejected, but +as a side effect of my commit 66e67e418908442389d3a9e +("mac80211: redesign auth/assoc") the key was accepted +causing hardware crypto to not be used for it as the +station isn't added to the driver yet. + +It would be possible to accept the key and then add it +to the driver when the station has been added. However, +this may run into issues with drivers using the state- +based station adding if they accept the key only after +association like it used to be. + +For now, revert to the behaviour from before the auth +and assoc change. + +Reported-by: Cédric Debarge +Tested-by: Cédric Debarge +Signed-off-by: Johannes Berg +Signed-off-by: Greg Kroah-Hartman + +--- + net/mac80211/cfg.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +--- a/net/mac80211/cfg.c ++++ b/net/mac80211/cfg.c +@@ -151,7 +151,17 @@ static int ieee80211_add_key(struct wiph + sta = sta_info_get(sdata, mac_addr); + else + sta = sta_info_get_bss(sdata, mac_addr); +- if (!sta) { ++ /* ++ * The ASSOC test makes sure the driver is ready to ++ * receive the key. When wpa_supplicant has roamed ++ * using FT, it attempts to set the key before ++ * association has completed, this rejects that attempt ++ * so it will set the key again after assocation. ++ * ++ * TODO: accept the key if we have a station entry and ++ * add it to the device after the station. ++ */ ++ if (!sta || !test_sta_flag(sta, WLAN_STA_ASSOC)) { + ieee80211_key_free(sdata->local, key); + err = -ENOENT; + goto out_unlock; diff --git a/queue-3.4/series b/queue-3.4/series index 7fb711d8ce4..e68aba2041c 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -13,3 +13,5 @@ xfs-fix-possible-use-after-free-with-aio.patch mwifiex-fix-typo-in-pcie-adapter-null-check.patch iwlegacy-fix-ibss-cleanup.patch brcmsmac-increase-timer-reference-count-for-new-timers-only.patch +mac80211-fix-ft-roaming.patch +ath9k_htc-fix-memory-leak.patch -- 2.47.3