cfg80211: fix station info handling bugs
authorJohannes Berg <johannes.berg@intel.com>
Tue, 16 Jan 2018 22:20:22 +0000 (23:20 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 18 Jan 2018 20:36:18 +0000 (15:36 -0500)
Fix two places where the structure isn't initialized to zero,
and thus can't be filled properly by the driver.

Fixes: 4a4b8169501b ("cfg80211: Accept multiple RSSI thresholds for CQM")
Fixes: 9930380f0bd8 ("cfg80211: implement IWRATE")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/wireless/nl80211.c
net/wireless/wext-compat.c

index ed87a97fcb0b040720addf4ecfa2ae6709573f41..542a4fc0a8d77cfecf82b95851c7e49609652472 100644 (file)
@@ -9809,7 +9809,7 @@ static int cfg80211_cqm_rssi_update(struct cfg80211_registered_device *rdev,
         */
        if (!wdev->cqm_config->last_rssi_event_value && wdev->current_bss &&
            rdev->ops->get_station) {
-               struct station_info sinfo;
+               struct station_info sinfo = {};
                u8 *mac_addr;
 
                mac_addr = wdev->current_bss->pub.bssid;
index 7ca04a7de85ae469348449c3f74ddedbec198e8c..05186a47878fe93b87807130b00d978d3a6d9bc5 100644 (file)
@@ -1254,8 +1254,7 @@ static int cfg80211_wext_giwrate(struct net_device *dev,
 {
        struct wireless_dev *wdev = dev->ieee80211_ptr;
        struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
-       /* we are under RTNL - globally locked - so can use a static struct */
-       static struct station_info sinfo;
+       struct station_info sinfo = {};
        u8 addr[ETH_ALEN];
        int err;