wifi: cfg80211: wext: hold wiphy lock in siwgenie
authorJohannes Berg <johannes.berg@intel.com>
Tue, 6 Jun 2023 12:49:23 +0000 (14:49 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 7 Jun 2023 17:53:11 +0000 (19:53 +0200)
Missed this ioctl since it's in wext-sme.c where we
usually get via a front-level ioctl handler in the
other files, but it should also hold the wiphy lock
to align the locking contract towards the driver.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/wext-sme.c

index f231207..f3eaa33 100644 (file)
@@ -3,7 +3,7 @@
  * cfg80211 wext compat for managed mode.
  *
  * Copyright 2009      Johannes Berg <johannes@sipsolutions.net>
- * Copyright (C) 2009, 2020-2022 Intel Corporation
+ * Copyright (C) 2009, 2020-2023 Intel Corporation
  */
 
 #include <linux/export.h>
@@ -338,6 +338,7 @@ int cfg80211_wext_siwgenie(struct net_device *dev,
        if (!ie_len)
                ie = NULL;
 
+       wiphy_lock(wdev->wiphy);
        wdev_lock(wdev);
 
        /* no change */
@@ -370,6 +371,7 @@ int cfg80211_wext_siwgenie(struct net_device *dev,
        err = 0;
  out:
        wdev_unlock(wdev);
+       wiphy_unlock(wdev->wiphy);
        return err;
 }