CC: [email protected]
CC: [email protected]
BCC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Johannes Berg <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   18ecd30af1a8402c162cca1bd58771c0e5be7815
commit: 16d0364c722a246933ec4b39cbd5d17d7d4fe758 [11408/13468] mac80211: remove 
useless bssid copy
:::::: branch date: 28 hours ago
:::::: commit date: 5 days ago
config: riscv-randconfig-c006-20220519 
(https://download.01.org/0day-ci/archive/20220522/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
e00cbbec06c08dc616a0d52a20f678b8fbd4e304)
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
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=16d0364c722a246933ec4b39cbd5d17d7d4fe758
        git remote add linux-next 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout 16d0364c722a246933ec4b39cbd5d17d7d4fe758
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 
clang-analyzer 

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>


clang-analyzer warnings: (new ones prefixed by >>)
   net/mac80211/mlme.c:3572:2: note: Taking true branch
           if (elems->he_operation && !(ifmgd->flags & 
IEEE80211_STA_DISABLE_HE) &&
           ^
   net/mac80211/mlme.c:3581:7: note: Assuming field 'rsnx' is null
                   if (elems->rsnx && elems->rsnx_len &&
                       ^~~~~~~~~~~
   net/mac80211/mlme.c:3581:19: note: Left side of '&&' is false
                   if (elems->rsnx && elems->rsnx_len &&
                                   ^
   net/mac80211/mlme.c:3589:14: note: Calling 'ieee80211_recalc_twt_req'
                   changed |= ieee80211_recalc_twt_req(sdata, sta, elems);
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:3343:13: note: Calling 'ieee80211_twt_req_supported'
           bool twt = ieee80211_twt_req_supported(sta, elems);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:3329:6: note: Assuming field 'ext_capab_len' is >= 10
           if (elems->ext_capab_len < 10)
               ^~~~~~~~~~~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:3329:2: note: Taking false branch
           if (elems->ext_capab_len < 10)
           ^
   net/mac80211/mlme.c:3332:8: note: Array access (via field 'ext_capab') 
results in a null pointer dereference
           if (!(elems->ext_capab[9] & WLAN_EXT_CAPA10_TWT_RESPONDER_SUPPORT))
                 ^      ~~~~~~~~~
   net/mac80211/mlme.c:4259:5: warning: Call to function 'memcpy' is insecure 
as it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                                   memcpy(&bss_conf->p2p_noa_attr, &noa, 
sizeof(noa));
                                   ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:4259:5: note: Call to function 'memcpy' is insecure as 
it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11
                                   memcpy(&bss_conf->p2p_noa_attr, &noa, 
sizeof(noa));
                                   ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:4270:4: warning: Call to function 'memset' is insecure 
as it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memset_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                           memset(&bss_conf->p2p_noa_attr, 0, 
sizeof(bss_conf->p2p_noa_attr));
                           ^
   include/linux/fortify-string.h:272:25: note: expanded from macro 'memset'
   #define memset(p, c, s) __fortify_memset_chk(p, c, s,                   \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:265:2: note: expanded from macro 
'__fortify_memset_chk'
           __underlying_memset(p, c, __fortify_size);                      \
           ^~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:47:29: note: expanded from macro 
'__underlying_memset'
   #define __underlying_memset     __builtin_memset
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:4270:4: note: Call to function 'memset' is insecure as 
it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memset_s' in case of C11
                           memset(&bss_conf->p2p_noa_attr, 0, 
sizeof(bss_conf->p2p_noa_attr));
                           ^
   include/linux/fortify-string.h:272:25: note: expanded from macro 'memset'
   #define memset(p, c, s) __fortify_memset_chk(p, c, s,                   \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:265:2: note: expanded from macro 
'__fortify_memset_chk'
           __underlying_memset(p, c, __fortify_size);                      \
           ^~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:47:29: note: expanded from macro 
'__underlying_memset'
   #define __underlying_memset     __builtin_memset
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:4707:4: warning: Call to function 'memcpy' is insecure 
as it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                           memcpy(bssid, ifmgd->auth_data->bss->bssid, 
ETH_ALEN);
                           ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:4707:4: note: Call to function 'memcpy' is insecure as 
it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11
                           memcpy(bssid, ifmgd->auth_data->bss->bssid, 
ETH_ALEN);
                           ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
>> net/mac80211/mlme.c:4737:7: warning: Value stored to 'bssid' during its 
>> initialization is never read [clang-analyzer-deadcode.DeadStores]
                   u8 *bssid = ifmgd->bssid;
                       ^~~~~   ~~~~~~~~~~~~
   net/mac80211/mlme.c:4737:7: note: Value stored to 'bssid' during its 
initialization is never read
                   u8 *bssid = ifmgd->bssid;
                       ^~~~~   ~~~~~~~~~~~~
   net/mac80211/mlme.c:4919:3: warning: Call to function 'memcpy' is insecure 
as it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                   memcpy(bssid, ifmgd->bssid, ETH_ALEN);
                   ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:4919:3: note: Call to function 'memcpy' is insecure as 
it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11
                   memcpy(bssid, ifmgd->bssid, ETH_ALEN);
                   ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:5400:5: warning: Call to function 'memcpy' is insecure 
as it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                                   memcpy(&bss_conf->tx_pwr_env[j], 
elems->tx_pwr_env[i],
                                   ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:5400:5: note: Call to function 'memcpy' is insecure as 
it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11
                                   memcpy(&bss_conf->tx_pwr_env[j], 
elems->tx_pwr_env[i],
                                   ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:5642:3: warning: Call to function 'memcpy' is insecure 
as it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                   memcpy(ifmgd->bssid, cbss->bssid, ETH_ALEN);
                   ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:5642:3: note: Call to function 'memcpy' is insecure as 
it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11
                   memcpy(ifmgd->bssid, cbss->bssid, ETH_ALEN);
                   ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:5772:3: warning: Call to function 'memcpy' is insecure 
as it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                   memcpy(auth_data->data, req->auth_data + 4,
                   ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   net/mac80211/mlme.c:5772:3: note: Call to function 'memcpy' is insecure as 
it does not provide security checks introduced in the C11 standard. Replace 
with analogous functions that support length arguments or provides boundary 
checks such as 'memcpy_s' in case of C11
                   memcpy(auth_data->data, req->auth_data + 4,
                   ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'

vim +/bssid +4737 net/mac80211/mlme.c

1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4648  
1fa57d017366fb net/mac80211/mlme.c          Johannes Berg     2010-06-10  4649  
void ieee80211_sta_work(struct ieee80211_sub_if_data *sdata)
f0706e828e96d0 net/mac80211/ieee80211_sta.c Jiri Benc         2007-05-05  4650  
{
9c6bd79011b14a net/mac80211/mlme.c          Johannes Berg     2008-09-11  4651  
        struct ieee80211_local *local = sdata->local;
1fa57d017366fb net/mac80211/mlme.c          Johannes Berg     2010-06-10  4652  
        struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
9c6bd79011b14a net/mac80211/mlme.c          Johannes Berg     2008-09-11  4653  
8d61ffa5e01c5f net/mac80211/mlme.c          Johannes Berg     2013-05-10  4654  
        sdata_lock(sdata);
77fdaa12cea26c net/mac80211/mlme.c          Johannes Berg     2009-07-07  4655  
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4656  
        if (ifmgd->status_received) {
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4657  
                __le16 fc = ifmgd->status_fc;
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4658  
                bool status_acked = ifmgd->status_acked;
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4659  
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4660  
                ifmgd->status_received = false;
46cad4b7a131a2 net/mac80211/mlme.c          Johannes Berg     2015-08-15  4661  
                if (ifmgd->auth_data && ieee80211_is_auth(fc)) {
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4662  
                        if (status_acked) {
407879b690ba3a net/mac80211/mlme.c          Ilan Peer         2018-04-20  4663  
                                if (ifmgd->auth_data->algorithm ==
407879b690ba3a net/mac80211/mlme.c          Ilan Peer         2018-04-20  4664  
                                    WLAN_AUTH_SAE)
407879b690ba3a net/mac80211/mlme.c          Ilan Peer         2018-04-20  4665  
                                        ifmgd->auth_data->timeout =
407879b690ba3a net/mac80211/mlme.c          Ilan Peer         2018-04-20  4666  
                                                jiffies +
407879b690ba3a net/mac80211/mlme.c          Ilan Peer         2018-04-20  4667  
                                                IEEE80211_AUTH_TIMEOUT_SAE;
407879b690ba3a net/mac80211/mlme.c          Ilan Peer         2018-04-20  4668  
                                else
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4669  
                                        ifmgd->auth_data->timeout =
407879b690ba3a net/mac80211/mlme.c          Ilan Peer         2018-04-20  4670  
                                                jiffies +
407879b690ba3a net/mac80211/mlme.c          Ilan Peer         2018-04-20  4671  
                                                IEEE80211_AUTH_TIMEOUT_SHORT;
8d61ffa5e01c5f net/mac80211/mlme.c          Johannes Berg     2013-05-10  4672  
                                run_again(sdata, ifmgd->auth_data->timeout);
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4673  
                        } else {
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4674  
                                ifmgd->auth_data->timeout = jiffies - 1;
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4675  
                        }
89afe614c0c737 net/mac80211/mlme.c          Johannes Berg     2013-02-13  4676  
                        ifmgd->auth_data->timeout_started = true;
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4677  
                } else if (ifmgd->assoc_data &&
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4678  
                           (ieee80211_is_assoc_req(fc) ||
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4679  
                            ieee80211_is_reassoc_req(fc))) {
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4680  
                        if (status_acked) {
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4681  
                                ifmgd->assoc_data->timeout =
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4682  
                                        jiffies + IEEE80211_ASSOC_TIMEOUT_SHORT;
8d61ffa5e01c5f net/mac80211/mlme.c          Johannes Berg     2013-05-10  4683  
                                run_again(sdata, ifmgd->assoc_data->timeout);
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4684  
                        } else {
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4685  
                                ifmgd->assoc_data->timeout = jiffies - 1;
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4686  
                        }
89afe614c0c737 net/mac80211/mlme.c          Johannes Berg     2013-02-13  4687  
                        ifmgd->assoc_data->timeout_started = true;
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4688  
                }
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4689  
        }
1672c0e31917f4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4690  
89afe614c0c737 net/mac80211/mlme.c          Johannes Berg     2013-02-13  4691  
        if (ifmgd->auth_data && ifmgd->auth_data->timeout_started &&
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4692  
            time_after(jiffies, ifmgd->auth_data->timeout)) {
94d9864cc86f57 net/mac80211/mlme.c          Johannes Berg     2022-02-24  4693  
                if (ifmgd->auth_data->done || ifmgd->auth_data->waiting) {
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4694  
                        /*
94d9864cc86f57 net/mac80211/mlme.c          Johannes Berg     2022-02-24  4695  
                         * ok ... we waited for assoc or continuation but
94d9864cc86f57 net/mac80211/mlme.c          Johannes Berg     2022-02-24  4696  
                         * userspace didn't do it, so kill the auth data
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4697  
                         */
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4698  
                        ieee80211_destroy_auth_data(sdata, false);
46cad4b7a131a2 net/mac80211/mlme.c          Johannes Berg     2015-08-15  4699  
                } else if (ieee80211_auth(sdata)) {
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4700  
                        u8 bssid[ETH_ALEN];
a9409093d23c82 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4701  
                        struct ieee80211_event event = {
a9409093d23c82 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4702  
                                .type = MLME_EVENT,
a9409093d23c82 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4703  
                                .u.mlme.data = AUTH_EVENT,
a9409093d23c82 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4704  
                                .u.mlme.status = MLME_TIMEOUT,
a9409093d23c82 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4705  
                        };
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4706  
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4707  
                        memcpy(bssid, ifmgd->auth_data->bss->bssid, ETH_ALEN);
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4708  
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4709  
                        ieee80211_destroy_auth_data(sdata, false);
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4710  
6ff57cf88807dd net/mac80211/mlme.c          Johannes Berg     2013-05-16  4711  
                        cfg80211_auth_timeout(sdata->dev, bssid);
a9409093d23c82 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4712  
                        drv_event_callback(sdata->local, sdata, &event);
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4713  
                }
89afe614c0c737 net/mac80211/mlme.c          Johannes Berg     2013-02-13  4714  
        } else if (ifmgd->auth_data && ifmgd->auth_data->timeout_started)
8d61ffa5e01c5f net/mac80211/mlme.c          Johannes Berg     2013-05-10  4715  
                run_again(sdata, ifmgd->auth_data->timeout);
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4716  
89afe614c0c737 net/mac80211/mlme.c          Johannes Berg     2013-02-13  4717  
        if (ifmgd->assoc_data && ifmgd->assoc_data->timeout_started &&
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4718  
            time_after(jiffies, ifmgd->assoc_data->timeout)) {
989c6505cdda58 net/mac80211/mlme.c          Alexander Bondar  2013-05-16  4719  
                if ((ifmgd->assoc_data->need_beacon && !ifmgd->have_beacon) ||
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4720  
                    ieee80211_do_assoc(sdata)) {
959867fa55d0cb net/mac80211/mlme.c          Johannes Berg     2013-06-19  4721  
                        struct cfg80211_bss *bss = ifmgd->assoc_data->bss;
d0d1a12f9cc665 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4722  
                        struct ieee80211_event event = {
d0d1a12f9cc665 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4723  
                                .type = MLME_EVENT,
d0d1a12f9cc665 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4724  
                                .u.mlme.data = ASSOC_EVENT,
d0d1a12f9cc665 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4725  
                                .u.mlme.status = MLME_TIMEOUT,
d0d1a12f9cc665 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4726  
                        };
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4727  
e6f462df9acd2a net/mac80211/mlme.c          Johannes Berg     2016-12-08  4728  
                        ieee80211_destroy_assoc_data(sdata, false, false);
959867fa55d0cb net/mac80211/mlme.c          Johannes Berg     2013-06-19  4729  
                        cfg80211_assoc_timeout(sdata->dev, bss);
d0d1a12f9cc665 net/mac80211/mlme.c          Emmanuel Grumbach 2015-03-16  4730  
                        drv_event_callback(sdata->local, sdata, &event);
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4731  
                }
89afe614c0c737 net/mac80211/mlme.c          Johannes Berg     2013-02-13  4732  
        } else if (ifmgd->assoc_data && ifmgd->assoc_data->timeout_started)
8d61ffa5e01c5f net/mac80211/mlme.c          Johannes Berg     2013-05-10  4733  
                run_again(sdata, ifmgd->assoc_data->timeout);
66e67e41890844 net/mac80211/mlme.c          Johannes Berg     2012-01-20  4734  
392b9ffb05b62f net/mac80211/mlme.c          Stanislaw Gruszka 2013-08-27  4735  
        if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL &&
b291ba11181d46 net/mac80211/mlme.c          Johannes Berg     2009-07-10  4736  
            ifmgd->associated) {
16d0364c722a24 net/mac80211/mlme.c          Johannes Berg     2022-05-13 @4737  
                u8 *bssid = ifmgd->bssid;
72a8a3edd63099 net/mac80211/mlme.c          Felix Fietkau     2010-11-23  4738  
                int max_tries;
a43abf29396523 net/mac80211/mlme.c          Maxim Levitsky    2009-07-31  4739  
30686bf7f5b3c3 net/mac80211/mlme.c          Johannes Berg     2015-06-02  4740  
                if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS))
180205bdb22b79 net/mac80211/mlme.c          Ben Greear        2011-02-04  4741  
                        max_tries = max_nullfunc_tries;
72a8a3edd63099 net/mac80211/mlme.c          Felix Fietkau     2010-11-23  4742  
                else
180205bdb22b79 net/mac80211/mlme.c          Ben Greear        2011-02-04  4743  
                        max_tries = max_probe_tries;
72a8a3edd63099 net/mac80211/mlme.c          Felix Fietkau     2010-11-23  4744  
4e5ff37692df35 net/mac80211/mlme.c          Felix Fietkau     2010-11-23  4745  
                /* ACK received for nullfunc probing frame */
4e5ff37692df35 net/mac80211/mlme.c          Felix Fietkau     2010-11-23  4746  
                if (!ifmgd->probe_send_count)
4e5ff37692df35 net/mac80211/mlme.c          Felix Fietkau     2010-11-23  4747  
                        ieee80211_reset_ap_probe(sdata);
04ac3c0ee2c773 net/mac80211/mlme.c          Felix Fietkau     2010-12-02  4748  
                else if (ifmgd->nullfunc_failed) {
04ac3c0ee2c773 net/mac80211/mlme.c          Felix Fietkau     2010-12-02  4749  
                        if (ifmgd->probe_send_count < max_tries) {
bdcbd8e0e3ffda net/mac80211/mlme.c          Johannes Berg     2012-06-22  4750  
                                mlme_dbg(sdata,
bdcbd8e0e3ffda net/mac80211/mlme.c          Johannes Berg     2012-06-22  4751  
                                         "No ack for nullfunc frame to AP %pM, 
try %d/%i\n",
bdcbd8e0e3ffda net/mac80211/mlme.c          Johannes Berg     2012-06-22  4752  
                                         bssid, ifmgd->probe_send_count,
bdcbd8e0e3ffda net/mac80211/mlme.c          Johannes Berg     2012-06-22  4753  
                                         max_tries);
04ac3c0ee2c773 net/mac80211/mlme.c          Felix Fietkau     2010-12-02  4754  
                                ieee80211_mgd_probe_ap_send(sdata);
04ac3c0ee2c773 net/mac80211/mlme.c          Felix Fietkau     2010-12-02  4755  
                        } else {
bdcbd8e0e3ffda net/mac80211/mlme.c          Johannes Berg     2012-06-22  4756  
                                mlme_dbg(sdata,
bdcbd8e0e3ffda net/mac80211/mlme.c          Johannes Berg     2012-06-22  4757  
                                         "No ack for nullfunc frame to AP %pM, 
disconnecting.\n",
bdcbd8e0e3ffda net/mac80211/mlme.c          Johannes Berg     2012-06-22  4758  
                                         bssid);
53da4c45cadee4 net/mac80211/mlme.c          Johannes Berg     2022-05-13  4759  
                                ieee80211_sta_connection_lost(sdata,
6b684db1db0df4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4760  
                                        WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY,
6b684db1db0df4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4761  
                                        false);
04ac3c0ee2c773 net/mac80211/mlme.c          Felix Fietkau     2010-12-02  4762  
                        }
04ac3c0ee2c773 net/mac80211/mlme.c          Felix Fietkau     2010-12-02  4763  
                } else if (time_is_after_jiffies(ifmgd->probe_timeout))
8d61ffa5e01c5f net/mac80211/mlme.c          Johannes Berg     2013-05-10  4764  
                        run_again(sdata, ifmgd->probe_timeout);
30686bf7f5b3c3 net/mac80211/mlme.c          Johannes Berg     2015-06-02  4765  
                else if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) 
{
bdcbd8e0e3ffda net/mac80211/mlme.c          Johannes Berg     2012-06-22  4766  
                        mlme_dbg(sdata,
bdcbd8e0e3ffda net/mac80211/mlme.c          Johannes Berg     2012-06-22  4767  
                                 "Failed to send nullfunc to AP %pM after %dms, 
disconnecting\n",
180205bdb22b79 net/mac80211/mlme.c          Ben Greear        2011-02-04  4768  
                                 bssid, probe_wait_ms);
53da4c45cadee4 net/mac80211/mlme.c          Johannes Berg     2022-05-13  4769  
                        ieee80211_sta_connection_lost(sdata,
6b684db1db0df4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4770  
                                WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY, false);
04ac3c0ee2c773 net/mac80211/mlme.c          Felix Fietkau     2010-12-02  4771  
                } else if (ifmgd->probe_send_count < max_tries) {
bdcbd8e0e3ffda net/mac80211/mlme.c          Johannes Berg     2012-06-22  4772  
                        mlme_dbg(sdata,
bdcbd8e0e3ffda net/mac80211/mlme.c          Johannes Berg     2012-06-22  4773  
                                 "No probe response from AP %pM after %dms, try 
%d/%i\n",
180205bdb22b79 net/mac80211/mlme.c          Ben Greear        2011-02-04  4774  
                                 bssid, probe_wait_ms,
bfc31df33b1625 net/mac80211/mlme.c          Ben Greear        2011-01-14  4775  
                                 ifmgd->probe_send_count, max_tries);
a43abf29396523 net/mac80211/mlme.c          Maxim Levitsky    2009-07-31  4776  
                        ieee80211_mgd_probe_ap_send(sdata);
a43abf29396523 net/mac80211/mlme.c          Maxim Levitsky    2009-07-31  4777  
                } else {
b291ba11181d46 net/mac80211/mlme.c          Johannes Berg     2009-07-10  4778  
                        /*
b291ba11181d46 net/mac80211/mlme.c          Johannes Berg     2009-07-10  4779  
                         * We actually lost the connection ... or did we?
b291ba11181d46 net/mac80211/mlme.c          Johannes Berg     2009-07-10  4780  
                         * Let's make sure!
b291ba11181d46 net/mac80211/mlme.c          Johannes Berg     2009-07-10  4781  
                         */
89f774e6c41efd net/mac80211/mlme.c          Johannes Berg     2016-01-25  4782  
                        mlme_dbg(sdata,
89f774e6c41efd net/mac80211/mlme.c          Johannes Berg     2016-01-25  4783  
                                 "No probe response from AP %pM after %dms, 
disconnecting.\n",
180205bdb22b79 net/mac80211/mlme.c          Ben Greear        2011-02-04  4784  
                                 bssid, probe_wait_ms);
04ac3c0ee2c773 net/mac80211/mlme.c          Felix Fietkau     2010-12-02  4785  
53da4c45cadee4 net/mac80211/mlme.c          Johannes Berg     2022-05-13  4786  
                        ieee80211_sta_connection_lost(sdata,
6b684db1db0df4 net/mac80211/mlme.c          Johannes Berg     2013-01-29  4787  
                                WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY, false);
b291ba11181d46 net/mac80211/mlme.c          Johannes Berg     2009-07-10  4788  
                }
b291ba11181d46 net/mac80211/mlme.c          Johannes Berg     2009-07-10  4789  
        }
b291ba11181d46 net/mac80211/mlme.c          Johannes Berg     2009-07-10  4790  
8d61ffa5e01c5f net/mac80211/mlme.c          Johannes Berg     2013-05-10  4791  
        sdata_unlock(sdata);
f0706e828e96d0 net/mac80211/ieee80211_sta.c Jiri Benc         2007-05-05  4792  
}
9c6bd79011b14a net/mac80211/mlme.c          Johannes Berg     2008-09-11  4793  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to