diff mbox series

[net] mac80211: fix locking in ieee80211_restart_work()

Message ID 20210817121210.47bdb177064f.Ib1ef79440cd27f318c028ddfc0c642406917f512@changeid
State New
Headers show
Series [net] mac80211: fix locking in ieee80211_restart_work() | expand

Commit Message

Johannes Berg Aug. 17, 2021, 10:12 a.m. UTC
From: Johannes Berg <johannes.berg@intel.com>

Ilan's change to move locking around accidentally lost the
wiphy_lock() during some porting, add it back.

Fixes: 45daaa131841 ("mac80211: Properly WARN on HW scan before restart")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
Can you please apply this directly to net? I don't have any
other patches, so not much sense in sending a pull request.
---
 net/mac80211/main.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

patchwork-bot+netdevbpf@kernel.org Aug. 17, 2021, 2 p.m. UTC | #1
Hello:

This patch was applied to netdev/net.git (refs/heads/master):

On Tue, 17 Aug 2021 12:12:22 +0200 you wrote:
> From: Johannes Berg <johannes.berg@intel.com>
> 
> Ilan's change to move locking around accidentally lost the
> wiphy_lock() during some porting, add it back.
> 
> Fixes: 45daaa131841 ("mac80211: Properly WARN on HW scan before restart")
> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
> 
> [...]

Here is the summary with links:
  - [net] mac80211: fix locking in ieee80211_restart_work()
    https://git.kernel.org/netdev/net/c/276e189f8e4e

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
diff mbox series

Patch

diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 05f4c3c72619..fcae76ddd586 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -260,6 +260,8 @@  static void ieee80211_restart_work(struct work_struct *work)
 	flush_work(&local->radar_detected_work);
 
 	rtnl_lock();
+	/* we might do interface manipulations, so need both */
+	wiphy_lock(local->hw.wiphy);
 
 	WARN(test_bit(SCAN_HW_SCANNING, &local->scanning),
 	     "%s called with hardware scan in progress\n", __func__);