Search Linux Wireless

Re: [PATCH v2] cfg80211: AP mode driver offload for FILS association crypto

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

 



Hi Subrat,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on mac80211-next/master]
[also build test ERROR on next-20210908]
[cannot apply to mac80211/master v5.14]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Subrat-Mishra/cfg80211-AP-mode-driver-offload-for-FILS-association-crypto/20210908-172202
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: x86_64-randconfig-a016-20210908 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 9c476172b93367d2cb88d7d3f4b1b5b456fa6020)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/cccf904c13513e3beb1919c1153d552145b45443
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Subrat-Mishra/cfg80211-AP-mode-driver-offload-for-FILS-association-crypto/20210908-172202
        git checkout cccf904c13513e3beb1919c1153d552145b45443
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=x86_64 SHELL=/bin/bash net/mac80211/ net/wireless/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   In file included from net/mac80211/ibss.c:22:
   In file included from include/net/mac80211.h:21:
   include/net/cfg80211.h:765:15: error: cannot combine with previous 'struct' declaration specifier
   static inline enum nl80211_channel_type
                 ^
   include/net/cfg80211.h:770:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_NO_HT;
                          ^~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:772:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_HT20;
                          ^~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:775:11: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                           return NL80211_CHAN_HT40PLUS;
                                  ^~~~~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:776:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_HT40MINUS;
                          ^~~~~~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:779:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_NO_HT;
                          ^~~~~~~~~~~~~~~~~~
>> net/mac80211/ibss.c:422:13: error: assigning to 'enum nl80211_channel_type' from incompatible type 'struct cfg80211_fils_aad'
                   chan_type = cfg80211_get_chandef_type(&sdata->u.ibss.chandef);
                             ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/mac80211/ibss.c:827:11: error: assigning to 'enum nl80211_channel_type' from incompatible type 'struct cfg80211_fils_aad'
                   ch_type = cfg80211_get_chandef_type(&ifibss->chandef);
                           ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   8 errors generated.
--
   In file included from net/mac80211/cfg.c:19:
   include/net/cfg80211.h:765:15: error: cannot combine with previous 'struct' declaration specifier
   static inline enum nl80211_channel_type
                 ^
   include/net/cfg80211.h:770:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_NO_HT;
                          ^~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:772:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_HT20;
                          ^~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:775:11: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                           return NL80211_CHAN_HT40PLUS;
                                  ^~~~~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:776:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_HT40MINUS;
                          ^~~~~~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:779:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_NO_HT;
                          ^~~~~~~~~~~~~~~~~~
>> net/mac80211/cfg.c:3350:52: error: invalid operands to binary expression ('struct cfg80211_fils_aad' and 'struct cfg80211_fils_aad')
                           if (cfg80211_get_chandef_type(&params->chandef) !=
                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
   7 errors generated.
--
   In file included from net/mac80211/util.c:14:
   In file included from include/net/mac80211.h:21:
   include/net/cfg80211.h:765:15: error: cannot combine with previous 'struct' declaration specifier
   static inline enum nl80211_channel_type
                 ^
   include/net/cfg80211.h:770:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_NO_HT;
                          ^~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:772:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_HT20;
                          ^~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:775:11: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                           return NL80211_CHAN_HT40PLUS;
                                  ^~~~~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:776:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_HT40MINUS;
                          ^~~~~~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:779:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_NO_HT;
                          ^~~~~~~~~~~~~~~~~~
>> net/mac80211/util.c:4038:11: error: assigning to 'enum nl80211_channel_type' from incompatible type 'struct cfg80211_fils_aad'
                   ch_type = cfg80211_get_chandef_type(&csa_settings->chandef);
                           ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   7 errors generated.
--
   In file included from net/mac80211/tdls.c:14:
   include/net/cfg80211.h:765:15: error: cannot combine with previous 'struct' declaration specifier
   static inline enum nl80211_channel_type
                 ^
   include/net/cfg80211.h:770:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_NO_HT;
                          ^~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:772:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_HT20;
                          ^~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:775:11: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                           return NL80211_CHAN_HT40PLUS;
                                  ^~~~~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:776:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_HT40MINUS;
                          ^~~~~~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:779:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_NO_HT;
                          ^~~~~~~~~~~~~~~~~~
>> net/mac80211/tdls.c:1512:49: error: invalid operands to binary expression ('struct cfg80211_fils_aad' and 'int')
                   ht40plus = cfg80211_get_chandef_type(chandef) ==
                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
   7 errors generated.
--
   In file included from net/wireless/nl80211.c:26:
   include/net/cfg80211.h:765:15: error: cannot combine with previous 'struct' declaration specifier
   static inline enum nl80211_channel_type
                 ^
   include/net/cfg80211.h:770:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_NO_HT;
                          ^~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:772:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_HT20;
                          ^~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:775:11: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                           return NL80211_CHAN_HT40PLUS;
                                  ^~~~~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:776:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_HT40MINUS;
                          ^~~~~~~~~~~~~~~~~~~~~~
   include/net/cfg80211.h:779:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad'
                   return NL80211_CHAN_NO_HT;
                          ^~~~~~~~~~~~~~~~~~
>> net/wireless/nl80211.c:3543:5: error: passing 'struct cfg80211_fils_aad' to parameter of incompatible type 'u32' (aka 'unsigned int')
                                   cfg80211_get_chandef_type(chandef)))
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/net/netlink.h:1307:70: note: passing argument to parameter 'value' here
   static inline int nla_put_u32(struct sk_buff *skb, int attrtype, u32 value)
                                                                        ^
   7 errors generated.


vim +422 net/mac80211/ibss.c

469002983fc90c Johannes Berg             2009-02-15  396  
af8cdcd828ad75 Johannes Berg             2009-04-19  397  static void ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
469002983fc90c Johannes Berg             2009-02-15  398  				    struct ieee80211_bss *bss)
469002983fc90c Johannes Berg             2009-02-15  399  {
0c1ad2cac1cb54 Johannes Berg             2009-12-23  400  	struct cfg80211_bss *cbss =
0c1ad2cac1cb54 Johannes Berg             2009-12-23  401  		container_of((void *)bss, struct cfg80211_bss, priv);
b59066a291ca7c Johannes Berg             2009-05-12  402  	struct ieee80211_supported_band *sband;
75a423f493ffdf Simon Wunderlich          2013-08-21  403  	struct cfg80211_chan_def chandef;
b59066a291ca7c Johannes Berg             2009-05-12  404  	u32 basic_rates;
b59066a291ca7c Johannes Berg             2009-05-12  405  	int i, j;
0c1ad2cac1cb54 Johannes Berg             2009-12-23  406  	u16 beacon_int = cbss->beacon_interval;
8cef2c9df88fdd Johannes Berg             2013-02-05  407  	const struct cfg80211_bss_ies *ies;
75a423f493ffdf Simon Wunderlich          2013-08-21  408  	enum nl80211_channel_type chan_type;
8cef2c9df88fdd Johannes Berg             2013-02-05  409  	u64 tsf;
2103dec14792be Simon Wunderlich          2013-07-08  410  	u32 rate_flags;
2103dec14792be Simon Wunderlich          2013-07-08  411  	int shift;
57c4d7b4c49860 Johannes Berg             2009-04-23  412  
8d61ffa5e01c5f Johannes Berg             2013-05-10  413  	sdata_assert_lock(sdata);
7a17a33c0da37f Johannes Berg             2010-07-21  414  
57c4d7b4c49860 Johannes Berg             2009-04-23  415  	if (beacon_int < 10)
57c4d7b4c49860 Johannes Berg             2009-04-23  416  		beacon_int = 10;
57c4d7b4c49860 Johannes Berg             2009-04-23  417  
75a423f493ffdf Simon Wunderlich          2013-08-21  418  	switch (sdata->u.ibss.chandef.width) {
75a423f493ffdf Simon Wunderlich          2013-08-21  419  	case NL80211_CHAN_WIDTH_20_NOHT:
75a423f493ffdf Simon Wunderlich          2013-08-21  420  	case NL80211_CHAN_WIDTH_20:
75a423f493ffdf Simon Wunderlich          2013-08-21  421  	case NL80211_CHAN_WIDTH_40:
75a423f493ffdf Simon Wunderlich          2013-08-21 @422  		chan_type = cfg80211_get_chandef_type(&sdata->u.ibss.chandef);
75a423f493ffdf Simon Wunderlich          2013-08-21  423  		cfg80211_chandef_create(&chandef, cbss->channel, chan_type);
75a423f493ffdf Simon Wunderlich          2013-08-21  424  		break;
75a423f493ffdf Simon Wunderlich          2013-08-21  425  	case NL80211_CHAN_WIDTH_5:
75a423f493ffdf Simon Wunderlich          2013-08-21  426  	case NL80211_CHAN_WIDTH_10:
75a423f493ffdf Simon Wunderlich          2013-08-21  427  		cfg80211_chandef_create(&chandef, cbss->channel,
a4ac6f2e53e568 Matthias Kaehlcke         2017-04-17  428  					NL80211_CHAN_NO_HT);
75a423f493ffdf Simon Wunderlich          2013-08-21  429  		chandef.width = sdata->u.ibss.chandef.width;
75a423f493ffdf Simon Wunderlich          2013-08-21  430  		break;
abcff6ef01f9ff Janusz.Dziedzic@xxxxxxxxx 2015-03-20  431  	case NL80211_CHAN_WIDTH_80:
c39b336deb2ec9 Jouni Malinen             2015-11-26  432  	case NL80211_CHAN_WIDTH_80P80:
abcff6ef01f9ff Janusz.Dziedzic@xxxxxxxxx 2015-03-20  433  	case NL80211_CHAN_WIDTH_160:
abcff6ef01f9ff Janusz.Dziedzic@xxxxxxxxx 2015-03-20  434  		chandef = sdata->u.ibss.chandef;
abcff6ef01f9ff Janusz.Dziedzic@xxxxxxxxx 2015-03-20  435  		chandef.chan = cbss->channel;
abcff6ef01f9ff Janusz.Dziedzic@xxxxxxxxx 2015-03-20  436  		break;
75a423f493ffdf Simon Wunderlich          2013-08-21  437  	default:
75a423f493ffdf Simon Wunderlich          2013-08-21  438  		/* fall back to 20 MHz for unsupported modes */
75a423f493ffdf Simon Wunderlich          2013-08-21  439  		cfg80211_chandef_create(&chandef, cbss->channel,
a4ac6f2e53e568 Matthias Kaehlcke         2017-04-17  440  					NL80211_CHAN_NO_HT);
75a423f493ffdf Simon Wunderlich          2013-08-21  441  		break;
75a423f493ffdf Simon Wunderlich          2013-08-21  442  	}
75a423f493ffdf Simon Wunderlich          2013-08-21  443  
0c1ad2cac1cb54 Johannes Berg             2009-12-23  444  	sband = sdata->local->hw.wiphy->bands[cbss->channel->band];
2103dec14792be Simon Wunderlich          2013-07-08  445  	rate_flags = ieee80211_chandef_rate_flags(&sdata->u.ibss.chandef);
2103dec14792be Simon Wunderlich          2013-07-08  446  	shift = ieee80211_vif_get_shift(&sdata->vif);
b59066a291ca7c Johannes Berg             2009-05-12  447  
b59066a291ca7c Johannes Berg             2009-05-12  448  	basic_rates = 0;
b59066a291ca7c Johannes Berg             2009-05-12  449  
b59066a291ca7c Johannes Berg             2009-05-12  450  	for (i = 0; i < bss->supp_rates_len; i++) {
2103dec14792be Simon Wunderlich          2013-07-08  451  		int rate = bss->supp_rates[i] & 0x7f;
b59066a291ca7c Johannes Berg             2009-05-12  452  		bool is_basic = !!(bss->supp_rates[i] & 0x80);
b59066a291ca7c Johannes Berg             2009-05-12  453  
b59066a291ca7c Johannes Berg             2009-05-12  454  		for (j = 0; j < sband->n_bitrates; j++) {
2103dec14792be Simon Wunderlich          2013-07-08  455  			int brate;
2103dec14792be Simon Wunderlich          2013-07-08  456  			if ((rate_flags & sband->bitrates[j].flags)
2103dec14792be Simon Wunderlich          2013-07-08  457  			    != rate_flags)
2103dec14792be Simon Wunderlich          2013-07-08  458  				continue;
2103dec14792be Simon Wunderlich          2013-07-08  459  
2103dec14792be Simon Wunderlich          2013-07-08  460  			brate = DIV_ROUND_UP(sband->bitrates[j].bitrate,
2103dec14792be Simon Wunderlich          2013-07-08  461  					     5 * (1 << shift));
2103dec14792be Simon Wunderlich          2013-07-08  462  			if (brate == rate) {
b59066a291ca7c Johannes Berg             2009-05-12  463  				if (is_basic)
b59066a291ca7c Johannes Berg             2009-05-12  464  					basic_rates |= BIT(j);
b59066a291ca7c Johannes Berg             2009-05-12  465  				break;
b59066a291ca7c Johannes Berg             2009-05-12  466  			}
b59066a291ca7c Johannes Berg             2009-05-12  467  		}
b59066a291ca7c Johannes Berg             2009-05-12  468  	}
b59066a291ca7c Johannes Berg             2009-05-12  469  
8cef2c9df88fdd Johannes Berg             2013-02-05  470  	rcu_read_lock();
8cef2c9df88fdd Johannes Berg             2013-02-05  471  	ies = rcu_dereference(cbss->ies);
8cef2c9df88fdd Johannes Berg             2013-02-05  472  	tsf = ies->tsf;
8cef2c9df88fdd Johannes Berg             2013-02-05  473  	rcu_read_unlock();
8cef2c9df88fdd Johannes Berg             2013-02-05  474  
0c1ad2cac1cb54 Johannes Berg             2009-12-23  475  	__ieee80211_sta_join_ibss(sdata, cbss->bssid,
57c4d7b4c49860 Johannes Berg             2009-04-23  476  				  beacon_int,
75a423f493ffdf Simon Wunderlich          2013-08-21  477  				  &chandef,
b59066a291ca7c Johannes Berg             2009-05-12  478  				  basic_rates,
0c1ad2cac1cb54 Johannes Berg             2009-12-23  479  				  cbss->capability,
8cef2c9df88fdd Johannes Berg             2013-02-05  480  				  tsf, false);
469002983fc90c Johannes Berg             2009-02-15  481  }
469002983fc90c Johannes Berg             2009-02-15  482  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

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