linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH AUTOSEL 4.9 01/23] mac80211: Run TXQ teardown code before de-registering interfaces
@ 2018-09-24 14:49 Sasha Levin
  2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 02/23] KVM: PPC: Book3S HV: Don't truncate HPTE index in xlate function Sasha Levin
                   ` (21 more replies)
  0 siblings, 22 replies; 23+ messages in thread
From: Sasha Levin @ 2018-09-24 14:49 UTC (permalink / raw)
  To: stable, linux-kernel
  Cc: Toke Høiland-Jørgensen, Johannes Berg, Sasha Levin

From: Toke Høiland-Jørgensen <toke@toke.dk>

[ Upstream commit 77cfaf52eca5cac30ed029507e0cab065f888995 ]

The TXQ teardown code can reference the vif data structures that are
stored in the netdev private memory area if there are still packets on
the queue when it is being freed. Since the TXQ teardown code is run
after the netdevs are freed, this can lead to a use-after-free. Fix this
by moving the TXQ teardown code to earlier in ieee80211_unregister_hw().

Reported-by: Ben Greear <greearb@candelatech.com>
Tested-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
---
 net/mac80211/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 2bb6899854d4..6389ce868668 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -1164,6 +1164,7 @@ void ieee80211_unregister_hw(struct ieee80211_hw *hw)
 #if IS_ENABLED(CONFIG_IPV6)
 	unregister_inet6addr_notifier(&local->ifa6_notifier);
 #endif
+	ieee80211_txq_teardown_flows(local);
 
 	rtnl_lock();
 
@@ -1191,7 +1192,6 @@ void ieee80211_unregister_hw(struct ieee80211_hw *hw)
 	skb_queue_purge(&local->skb_queue);
 	skb_queue_purge(&local->skb_queue_unreliable);
 	skb_queue_purge(&local->skb_queue_tdls_chsw);
-	ieee80211_txq_teardown_flows(local);
 
 	destroy_workqueue(local->workqueue);
 	wiphy_unregister(local->hw.wiphy);
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2018-09-24 14:57 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-24 14:49 [PATCH AUTOSEL 4.9 01/23] mac80211: Run TXQ teardown code before de-registering interfaces Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 02/23] KVM: PPC: Book3S HV: Don't truncate HPTE index in xlate function Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 03/23] mac80211: correct use of IEEE80211_VHT_CAP_RXSTBC_X Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 04/23] mac80211_hwsim: " Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 05/23] gpio: adp5588: Fix sleep-in-atomic-context bug Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 07/23] net: hns: add netif_carrier_off before change speed and duplex Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 06/23] mac80211: mesh: fix HWMP sequence numbering to follow standard Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 09/23] gpio: Fix crash due to registration race Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 08/23] cfg80211: nl80211_update_ft_ies() to validate NL80211_ATTR_IE Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 11/23] RAID10 BUG_ON in raise_barrier when force is true and conf->barrier is 0 Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 10/23] ARC: atomics: unbork atomic_fetch_##op() Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 12/23] net: ethernet: cpsw-phy-sel: prefer phandle for phy sel Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 14/23] i2c: uniphier-f: issue STOP only for last message or I2C_M_STOP Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 13/23] i2c: uniphier: " Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 16/23] fs/cifs: don't translate SFM_SLASH (U+F026) to backslash Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 15/23] net: cadence: Fix a sleep-in-atomic-context bug in macb_halt_tx() Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 18/23] mac80211: fix a race between restart and CSA flows Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 17/23] cfg80211: fix a type issue in ieee80211_chandef_to_operating_class() Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 19/23] mac80211: Fix station bandwidth setting after channel switch Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 20/23] mac80211: don't Tx a deauth frame if the AP forbade Tx Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 21/23] mac80211: shorten the IBSS debug messages Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 23/23] tools/vm/page-types.c: fix "defined but not used" warning Sasha Levin
2018-09-24 14:49 ` [PATCH AUTOSEL 4.9 22/23] tools/vm/slabinfo.c: fix sign-compare warning Sasha Levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).