From: Johannes Berg Date: Sun, 9 Aug 2009 09:51:29 +0000 (+0200) Subject: cfg80211: add missing device list locking X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=aee83eaff859694642b323553f93b9eb59141144;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git cfg80211: add missing device list locking When calling into the wext code from the NETDEV_UP notifier, we need to hold the devlist_mtx mutex as the wext code ends up calling into channel checks. Reported-by: Kalle Valo Signed-off-by: Johannes Berg Tested-by: Kalle Valo Signed-off-by: John W. Linville --- diff --git a/net/wireless/core.c b/net/wireless/core.c index 62e1ac00879b..e630648fef79 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -710,6 +710,7 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb, case NETDEV_UP: #ifdef CONFIG_WIRELESS_EXT cfg80211_lock_rdev(rdev); + mutex_lock(&rdev->devlist_mtx); wdev_lock(wdev); switch (wdev->iftype) { case NL80211_IFTYPE_ADHOC: @@ -722,6 +723,7 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb, break; } wdev_unlock(wdev); + mutex_unlock(&rdev->devlist_mtx); cfg80211_unlock_rdev(rdev); #endif break;