tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git 
master
head:   076dc671ee9fa374e77c3d05925dafb75b23a74c
commit: c179e91512cab01e83be35a60eaeda0f170a9101 [3/5] cfg80211: wext: don't 
use static struct
config: x86_64-randconfig-x016-01221834 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
        git checkout c179e91512cab01e83be35a60eaeda0f170a9101
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   net//wireless/wext-compat.c: In function 'cfg80211_wireless_stats':
>> net//wireless/wext-compat.c:1351:9: warning: function returns address of 
>> local variable [-Wreturn-local-addr]
     return &wstats;
            ^~~~~~~

vim +1351 net//wireless/wext-compat.c

8990646d2 Johannes Berg 2009-07-01  1289  
8990646d2 Johannes Berg 2009-07-01  1290  /* Get wireless statistics.  Called 
by /proc/net/wireless and by SIOCGIWSTATS */
04b0c5c69 Johannes Berg 2011-07-15  1291  static struct iw_statistics 
*cfg80211_wireless_stats(struct net_device *dev)
8990646d2 Johannes Berg 2009-07-01  1292  {
8990646d2 Johannes Berg 2009-07-01  1293        struct wireless_dev *wdev = 
dev->ieee80211_ptr;
f26cbf401 Zhao, Gang    2014-04-21  1294        struct 
cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
c179e9151 Johannes Berg 2018-01-16  1295        struct iw_statistics wstats = 
{};
c179e9151 Johannes Berg 2018-01-16  1296        struct station_info sinfo = {};
c56c5714f Johannes Berg 2009-07-10  1297        u8 bssid[ETH_ALEN];
8990646d2 Johannes Berg 2009-07-01  1298  
8990646d2 Johannes Berg 2009-07-01  1299        if (dev->ieee80211_ptr->iftype 
!= NL80211_IFTYPE_STATION)
8990646d2 Johannes Berg 2009-07-01  1300                return NULL;
8990646d2 Johannes Berg 2009-07-01  1301  
8990646d2 Johannes Berg 2009-07-01  1302        if (!rdev->ops->get_station)
8990646d2 Johannes Berg 2009-07-01  1303                return NULL;
8990646d2 Johannes Berg 2009-07-01  1304  
c56c5714f Johannes Berg 2009-07-10  1305        /* Grab BSSID of current BSS, 
if any */
c56c5714f Johannes Berg 2009-07-10  1306        wdev_lock(wdev);
c56c5714f Johannes Berg 2009-07-10  1307        if (!wdev->current_bss) {
c56c5714f Johannes Berg 2009-07-10  1308                wdev_unlock(wdev);
8990646d2 Johannes Berg 2009-07-01  1309                return NULL;
c56c5714f Johannes Berg 2009-07-10  1310        }
c56c5714f Johannes Berg 2009-07-10  1311        memcpy(bssid, 
wdev->current_bss->pub.bssid, ETH_ALEN);
c56c5714f Johannes Berg 2009-07-10  1312        wdev_unlock(wdev);
8990646d2 Johannes Berg 2009-07-01  1313  
e35e4d28b Hila Gonen    2012-06-27  1314        if (rdev_get_station(rdev, dev, 
bssid, &sinfo))
8990646d2 Johannes Berg 2009-07-01  1315                return NULL;
8990646d2 Johannes Berg 2009-07-01  1316  
8990646d2 Johannes Berg 2009-07-01  1317        switch 
(rdev->wiphy.signal_type) {
8990646d2 Johannes Berg 2009-07-01  1318        case CFG80211_SIGNAL_TYPE_MBM:
319090bf6 Johannes Berg 2014-11-17  1319                if (sinfo.filled & 
BIT(NL80211_STA_INFO_SIGNAL)) {
8990646d2 Johannes Berg 2009-07-01  1320                        int sig = 
sinfo.signal;
8990646d2 Johannes Berg 2009-07-01  1321                        
wstats.qual.updated |= IW_QUAL_LEVEL_UPDATED;
8990646d2 Johannes Berg 2009-07-01  1322                        
wstats.qual.updated |= IW_QUAL_QUAL_UPDATED;
8990646d2 Johannes Berg 2009-07-01  1323                        
wstats.qual.updated |= IW_QUAL_DBM;
8990646d2 Johannes Berg 2009-07-01  1324                        
wstats.qual.level = sig;
8990646d2 Johannes Berg 2009-07-01  1325                        if (sig < -110)
8990646d2 Johannes Berg 2009-07-01  1326                                sig = 
-110;
8990646d2 Johannes Berg 2009-07-01  1327                        else if (sig > 
-40)
8990646d2 Johannes Berg 2009-07-01  1328                                sig = 
-40;
8990646d2 Johannes Berg 2009-07-01  1329                        
wstats.qual.qual = sig + 110;
8990646d2 Johannes Berg 2009-07-01  1330                        break;
8990646d2 Johannes Berg 2009-07-01  1331                }
8990646d2 Johannes Berg 2009-07-01  1332        case 
CFG80211_SIGNAL_TYPE_UNSPEC:
319090bf6 Johannes Berg 2014-11-17  1333                if (sinfo.filled & 
BIT(NL80211_STA_INFO_SIGNAL)) {
8990646d2 Johannes Berg 2009-07-01  1334                        
wstats.qual.updated |= IW_QUAL_LEVEL_UPDATED;
8990646d2 Johannes Berg 2009-07-01  1335                        
wstats.qual.updated |= IW_QUAL_QUAL_UPDATED;
8990646d2 Johannes Berg 2009-07-01  1336                        
wstats.qual.level = sinfo.signal;
8990646d2 Johannes Berg 2009-07-01  1337                        
wstats.qual.qual = sinfo.signal;
8990646d2 Johannes Berg 2009-07-01  1338                        break;
8990646d2 Johannes Berg 2009-07-01  1339                }
8990646d2 Johannes Berg 2009-07-01  1340        default:
8990646d2 Johannes Berg 2009-07-01  1341                wstats.qual.updated |= 
IW_QUAL_LEVEL_INVALID;
8990646d2 Johannes Berg 2009-07-01  1342                wstats.qual.updated |= 
IW_QUAL_QUAL_INVALID;
8990646d2 Johannes Berg 2009-07-01  1343        }
8990646d2 Johannes Berg 2009-07-01  1344  
8990646d2 Johannes Berg 2009-07-01  1345        wstats.qual.updated |= 
IW_QUAL_NOISE_INVALID;
319090bf6 Johannes Berg 2014-11-17  1346        if (sinfo.filled & 
BIT(NL80211_STA_INFO_RX_DROP_MISC))
5a5c731aa Ben Greear    2010-10-07  1347                wstats.discard.misc = 
sinfo.rx_dropped_misc;
319090bf6 Johannes Berg 2014-11-17  1348        if (sinfo.filled & 
BIT(NL80211_STA_INFO_TX_FAILED))
5a5c731aa Ben Greear    2010-10-07  1349                wstats.discard.retries 
= sinfo.tx_failed;
8990646d2 Johannes Berg 2009-07-01  1350  
8990646d2 Johannes Berg 2009-07-01 @1351        return &wstats;
8990646d2 Johannes Berg 2009-07-01  1352  }
562e48226 Johannes Berg 2009-07-27  1353  

:::::: The code at line 1351 was first introduced by commit
:::::: 8990646d2fafeacfacba4a4b1073a4216662089a cfg80211: implement 
get_wireless_stats

:::::: TO: Johannes Berg <johan...@sipsolutions.net>
:::::: CC: John W. Linville <linvi...@tuxdriver.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to