Search Linux Wireless

Re: [PATCH 2/5] cfg80211: Properly track transmitting and non-transmitting BSS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sara,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on mac80211-next/master]
[also build test ERROR on v4.20-rc5 next-20181207]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jouni-Malinen/cfg80211-Parsing-of-Multiple-BSSID-information-in-scanning/20181208-040803
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: i386-randconfig-x011-201848 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   In file included from net/wireless/nl80211.h:9:0,
                    from net/wireless/ibss.c:14:
   net/wireless/core.h: In function 'cfg80211_hold_bss':
>> net/wireless/core.h:184:20: error: inlining failed in call to always_inline 'cfg80211_hold_bss': recursive inlining
    static inline void cfg80211_hold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~
   net/wireless/core.h:188:3: note: called from here
      cfg80211_hold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct cfg80211_internal_bss,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                pub));
                ~~~~~
   net/wireless/core.h: In function 'cfg80211_unhold_bss':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
   net/wireless/core.h: In function '__cfg80211_clear_ibss.constprop':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
   net/wireless/core.h: In function '__cfg80211_ibss_joined':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
>> net/wireless/core.h:184:20: error: inlining failed in call to always_inline 'cfg80211_hold_bss': recursive inlining
    static inline void cfg80211_hold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~
   net/wireless/core.h:188:3: note: called from here
      cfg80211_hold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct cfg80211_internal_bss,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                pub));
                ~~~~~
--
   In file included from net/wireless/nl80211.h:9:0,
                    from net/wireless/sme.c:21:
   net/wireless/core.h: In function 'cfg80211_hold_bss':
>> net/wireless/core.h:184:20: error: inlining failed in call to always_inline 'cfg80211_hold_bss': recursive inlining
    static inline void cfg80211_hold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~
   net/wireless/core.h:188:3: note: called from here
      cfg80211_hold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct cfg80211_internal_bss,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                pub));
                ~~~~~
   net/wireless/core.h: In function 'cfg80211_unhold_bss':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
   net/wireless/core.h: In function '__cfg80211_connect_result':
>> net/wireless/core.h:184:20: error: inlining failed in call to always_inline 'cfg80211_hold_bss': recursive inlining
    static inline void cfg80211_hold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~
   net/wireless/core.h:188:3: note: called from here
      cfg80211_hold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct cfg80211_internal_bss,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                pub));
                ~~~~~
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
   net/wireless/core.h: In function 'cfg80211_connect_done':
>> net/wireless/core.h:184:20: error: inlining failed in call to always_inline 'cfg80211_hold_bss': recursive inlining
    static inline void cfg80211_hold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~
   net/wireless/core.h:188:3: note: called from here
      cfg80211_hold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct cfg80211_internal_bss,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                pub));
                ~~~~~
   net/wireless/core.h: In function '__cfg80211_roamed':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
>> net/wireless/core.h:184:20: error: inlining failed in call to always_inline 'cfg80211_hold_bss': recursive inlining
    static inline void cfg80211_hold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~
   net/wireless/core.h:188:3: note: called from here
      cfg80211_hold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct cfg80211_internal_bss,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                pub));
                ~~~~~
   net/wireless/core.h: In function '__cfg80211_disconnected':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
   net/wireless/core.h: In function 'cfg80211_connect':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
--
   In file included from net/wireless/nl80211.h:9:0,
                    from net/wireless/core.c:26:
   net/wireless/core.h: In function 'cfg80211_unhold_bss':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
   net/wireless/core.h: In function 'cfg80211_netdev_notifier_call':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
--
   In file included from net/wireless/mlme.c:18:0:
   net/wireless/core.h: In function 'cfg80211_hold_bss':
>> net/wireless/core.h:184:20: error: inlining failed in call to always_inline 'cfg80211_hold_bss': recursive inlining
    static inline void cfg80211_hold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~
   net/wireless/core.h:188:3: note: called from here
      cfg80211_hold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct cfg80211_internal_bss,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                pub));
                ~~~~~
   net/wireless/core.h: In function 'cfg80211_unhold_bss':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
   net/wireless/core.h: In function 'cfg80211_rx_assoc_resp':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
   net/wireless/core.h: In function 'cfg80211_assoc_timeout':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
   net/wireless/core.h: In function 'cfg80211_abandon_assoc':
>> net/wireless/core.h:193:20: error: inlining failed in call to always_inline 'cfg80211_unhold_bss': recursive inlining
    static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~~~
   net/wireless/core.h:198:3: note: called from here
      cfg80211_unhold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           struct cfg80211_internal_bss,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           pub));
           ~~~~~
   net/wireless/core.h: In function 'cfg80211_mlme_assoc':
>> net/wireless/core.h:184:20: error: inlining failed in call to always_inline 'cfg80211_hold_bss': recursive inlining
    static inline void cfg80211_hold_bss(struct cfg80211_internal_bss *bss)
                       ^~~~~~~~~~~~~~~~~
   net/wireless/core.h:188:3: note: called from here
      cfg80211_hold_bss(container_of(bss->transmitted_bss,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                struct cfg80211_internal_bss,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                pub));
                ~~~~~

vim +/cfg80211_hold_bss +184 net/wireless/core.h

19957bb3 Johannes Berg 2009-07-02  183  
19957bb3 Johannes Berg 2009-07-02 @184  static inline void cfg80211_hold_bss(struct cfg80211_internal_bss *bss)
19957bb3 Johannes Berg 2009-07-02  185  {
19957bb3 Johannes Berg 2009-07-02  186  	atomic_inc(&bss->hold);
ac02934e Sara Sharon   2018-12-07  187  	if (bss->transmitted_bss)
ac02934e Sara Sharon   2018-12-07 @188  		cfg80211_hold_bss(container_of(bss->transmitted_bss,
ac02934e Sara Sharon   2018-12-07  189  					       struct cfg80211_internal_bss,
ac02934e Sara Sharon   2018-12-07  190  					       pub));
19957bb3 Johannes Berg 2009-07-02  191  }
19957bb3 Johannes Berg 2009-07-02  192  
19957bb3 Johannes Berg 2009-07-02 @193  static inline void cfg80211_unhold_bss(struct cfg80211_internal_bss *bss)
19957bb3 Johannes Berg 2009-07-02  194  {
19957bb3 Johannes Berg 2009-07-02  195  	int r = atomic_dec_return(&bss->hold);
19957bb3 Johannes Berg 2009-07-02  196  	WARN_ON(r < 0);
ac02934e Sara Sharon   2018-12-07  197  	if (bss->transmitted_bss)
ac02934e Sara Sharon   2018-12-07  198  		cfg80211_unhold_bss(container_of(bss->transmitted_bss,
ac02934e Sara Sharon   2018-12-07  199  						 struct cfg80211_internal_bss,
ac02934e Sara Sharon   2018-12-07  200  						 pub));
19957bb3 Johannes Berg 2009-07-02  201  }
19957bb3 Johannes Berg 2009-07-02  202  

:::::: The code at line 184 was first introduced by commit
:::::: 19957bb399e2722719c0e20c9ae91cf8b6aaff04 cfg80211: keep track of BSSes

:::::: TO: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
:::::: CC: John W. Linville <linville@xxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux