diff options
author | Dan Carpenter <dan.carpenter@linaro.org> | 2023-06-09 13:48:44 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2023-06-09 13:28:41 +0200 |
commit | 996c3117dae4c02b38a3cb68e5c2aec9d907ec15 (patch) | |
tree | ea9647ba8c6739d64dc2d38191f02156482bef7e /net/wireless | |
parent | f7e60032c6618dfd643c7210d5cba2789e2de2e2 (diff) | |
download | linux-996c3117dae4c02b38a3cb68e5c2aec9d907ec15.tar.gz linux-996c3117dae4c02b38a3cb68e5c2aec9d907ec15.tar.bz2 linux-996c3117dae4c02b38a3cb68e5c2aec9d907ec15.zip |
wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid()
The locking was changed recently so now the caller holds the wiphy_lock()
lock. Taking the lock inside the reg_wdev_chan_valid() function will
lead to a deadlock.
Fixes: f7e60032c661 ("wifi: cfg80211: fix locking in regulatory disconnect")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/40c4114a-6cb4-4abf-b013-300b598aba65@moroto.mountain
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/reg.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 949e1fb3bec6..26f11e4746c0 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -2404,11 +2404,8 @@ static bool reg_wdev_chan_valid(struct wiphy *wiphy, struct wireless_dev *wdev) case NL80211_IFTYPE_P2P_GO: case NL80211_IFTYPE_ADHOC: case NL80211_IFTYPE_MESH_POINT: - wiphy_lock(wiphy); ret = cfg80211_reg_can_beacon_relax(wiphy, &chandef, iftype); - wiphy_unlock(wiphy); - if (!ret) return ret; break; |