Skip to contentSkip to conversation

Patch "mac80211: Fix local deauth while associating" has been added to the 4.1-stable tree

PATCH [email protected] 1 participant 1 message Dec 7, 2015

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

mac80211: Fix local deauth while associating

to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
mac80211-fix-local-deauth-while-associating.patch
and it can be found in the queue-4.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From a64cba3c5330704a034bd3179270b8d04daf6987 Mon Sep 17 00:00:00 2001

From: Andrei Otcheretianski <[email protected]>
Date: Sun, 25 Oct 2015 10:59:38 +0200
Subject: mac80211: Fix local deauth while associating

From: Andrei Otcheretianski <[email protected]>

commit a64cba3c5330704a034bd3179270b8d04daf6987 upstream.

Local request to deauthenticate wasn't handled while associating, thus the association could continue even when the user space required to disconnect.

---
 net/mac80211/mlme.c |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
net/mac80211/mlme.c +19 -0
@@ -4946,6 +4946,25 @@ int ieee80211_mgd_deauth(struct ieee8021
 		return 0;
 	}
 
+	if (ifmgd->assoc_data &&
+	    ether_addr_equal(ifmgd->assoc_data->bss->bssid, req->bssid)) {
+		sdata_info(sdata,
+			   "aborting association with %pM by local choice (Reason: %u=%s)\n",
+			   req->bssid, req->reason_code,
+			   ieee80211_get_reason_code_string(req->reason_code));
+
+		drv_mgd_prepare_tx(sdata->local, sdata);
+		ieee80211_send_deauth_disassoc(sdata, req->bssid,
+					       IEEE80211_STYPE_DEAUTH,
+					       req->reason_code, tx,
+					       frame_buf);
+		ieee80211_destroy_assoc_data(sdata, false);
+		ieee80211_report_disconnect(sdata, frame_buf,
+					    sizeof(frame_buf), true,
+					    req->reason_code);
+		return 0;
+	}
+
 	if (ifmgd->associated &&
 	    ether_addr_equal(ifmgd->associated->bssid, req->bssid)) {
 		sdata_info(sdata,

Patches currently in stable-queue which might be from [email protected] are

queue-4.1/mac80211-fix-local-deauth-while-associating.patch