mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-06 19:19:31 +00:00
This updates mac80211 to version 6.1.110-1. This code is based on Linux 6.1.110 and contains all fixes included in the upstream wireless subsystem from that kernel version. This includes many bugfixes and also some security fixes. The removed patches are already integrated in upstream Linux 6.1.110. The following patches were integrated in upstream Linux: subsys/311-v6.2-wifi-mac80211-fix-and-simplify-unencrypted-drop-chec.patch subsys/312-v6.3-wifi-cfg80211-move-A-MSDU-check-in-ieee80211_data_to.patch subsys/313-v6.3-wifi-cfg80211-factor-out-bridge-tunnel-RFC1042-heade.patch subsys/314-v6.3-wifi-mac80211-remove-mesh-forwarding-congestion-chec.patch subsys/315-v6.3-wifi-mac80211-fix-receiving-A-MSDU-frames-on-mesh-in.patch subsys/316-v6.3-wifi-mac80211-add-a-workaround-for-receiving-non-sta.patch subsys/321-mac80211-fix-mesh-forwarding.patch subsys/322-wifi-mac80211-fix-mesh-path-discovery-based-on-unica.patch subsys/329-wifi-mac80211-fix-receiving-mesh-packets-in-forwardi.patch subsys/339-wifi-cfg80211-fix-receving-mesh-packets-without-RFC1.patch subsys/350-v6.3-wifi-mac80211-Allow-NSS-change-only-up-to-capability.patch subsys/351-v6.9-wifi-mac80211-track-capability-opmode-NSS-separately.patch Link: https://github.com/openwrt/openwrt/pull/16368 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
From: Johannes Berg <johannes.berg@intel.com>
|
|
Date: Mon, 13 Mar 2023 11:42:12 +0100
|
|
Subject: [PATCH] wifi: mac80211: flush queues on STA removal
|
|
|
|
When we remove a station, we first make it unreachable,
|
|
then we (must) remove its keys, and then remove the
|
|
station itself. Depending on the hardware design, if
|
|
we have hardware crypto at all, frames still sitting
|
|
on hardware queues may then be transmitted without a
|
|
valid key, possibly unencrypted or with a fixed key.
|
|
|
|
Fix this by flushing the queues when removing stations
|
|
so this cannot happen.
|
|
|
|
Cc: stable@vger.kernel.org
|
|
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
Reviewed-by: Greenman, Gregory <gregory.greenman@intel.com>
|
|
---
|
|
|
|
--- a/net/mac80211/sta_info.c
|
|
+++ b/net/mac80211/sta_info.c
|
|
@@ -1290,6 +1290,14 @@ static void __sta_info_destroy_part2(str
|
|
WARN_ON_ONCE(ret);
|
|
}
|
|
|
|
+ /* Flush queues before removing keys, as that might remove them
|
|
+ * from hardware, and then depending on the offload method, any
|
|
+ * frames sitting on hardware queues might be sent out without
|
|
+ * any encryption at all.
|
|
+ */
|
|
+ if (local->ops->set_key)
|
|
+ ieee80211_flush_queues(local, sta->sdata, false);
|
|
+
|
|
/* now keys can no longer be reached */
|
|
ieee80211_free_sta_keys(local, sta);
|
|
|