public inbox for linux-staging@lists.linux.dev
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: markatbritain@gmail.com, gregkh@linuxfoundation.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	straube.linux@gmail.com, dan.carpenter@linaro.org,
	linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
	Mark Wu <markatbritain@gmail.com>
Subject: Re: [PATCH] staging: rtl8723bs: remove NDIS_802_11 types and cleanup style
Date: Wed, 11 Feb 2026 13:04:19 +0800	[thread overview]
Message-ID: <202602111248.03HAaYiv-lkp@intel.com> (raw)
In-Reply-To: <20260210221556.73872-1-markatbritain@gmail.com>

Hi,

kernel test robot noticed the following build errors:

[auto build test ERROR on staging/staging-testing]

url:    https://github.com/intel-lab-lkp/linux/commits/markatbritain-gmail-com/staging-rtl8723bs-remove-NDIS_802_11-types-and-cleanup-style/20260211-062107
base:   staging/staging-testing
patch link:    https://lore.kernel.org/r/20260210221556.73872-1-markatbritain%40gmail.com
patch subject: [PATCH] staging: rtl8723bs: remove NDIS_802_11 types and cleanup style
config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20260211/202602111248.03HAaYiv-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260211/202602111248.03HAaYiv-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602111248.03HAaYiv-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:787:29: error: incompatible pointer types initializing 'struct ieee_crypt_arg *' with an expression of type 'struct (unnamed struct at drivers/staging/rtl8723bs/include/ieee80211.h:181:3) *' [-Werror,-Wincompatible-pointer-types]
     787 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                                ^       ~~~~~~~~~~~~~~~
>> drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:788:25: error: incomplete definition of type 'struct ieee_crypt_arg'
     788 |                                         u32 len = min(crypt->key_len, 16U);
         |                                                       ~~~~~^
   include/linux/minmax.h:105:38: note: expanded from macro 'min'
     105 | #define min(x, y)       __careful_cmp(min, x, y)
         |                                            ^
   include/linux/minmax.h:98:25: note: expanded from macro '__careful_cmp'
      98 |         __careful_cmp_once(op, x, y, __UNIQUE_ID(x_), __UNIQUE_ID(y_))
         |                                ^
   include/linux/minmax.h:92:13: note: expanded from macro '__careful_cmp_once'
      92 |         auto ux = (x); auto uy = (y);                   \
         |                    ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:787:13: note: forward declaration of 'struct ieee_crypt_arg'
     787 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:791:18: error: incomplete definition of type 'struct ieee_crypt_arg'
     791 |                                                crypt->key, len);
         |                                                ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:787:13: note: forward declaration of 'struct ieee_crypt_arg'
     787 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:29: error: incompatible pointer types initializing 'struct ieee_crypt_arg *' with an expression of type 'struct (unnamed struct at drivers/staging/rtl8723bs/include/ieee80211.h:181:3) *' [-Werror,-Wincompatible-pointer-types]
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                                ^       ~~~~~~~~~~~~~~~
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:804:25: error: incomplete definition of type 'struct ieee_crypt_arg'
     804 |                                         u32 len = min(crypt->key_len, 16U);
         |                                                       ~~~~~^
   include/linux/minmax.h:105:38: note: expanded from macro 'min'
     105 | #define min(x, y)       __careful_cmp(min, x, y)
         |                                            ^
   include/linux/minmax.h:98:25: note: expanded from macro '__careful_cmp'
      98 |         __careful_cmp_once(op, x, y, __UNIQUE_ID(x_), __UNIQUE_ID(y_))
         |                                ^
   include/linux/minmax.h:92:13: note: expanded from macro '__careful_cmp_once'
      92 |         auto ux = (x); auto uy = (y);                   \
         |                    ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:806:22: error: incomplete definition of type 'struct ieee_crypt_arg'
     806 |                                         if (strcmp(crypt->alg, "TKIP") == 0 ||
         |                                                    ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:807:22: error: incomplete definition of type 'struct ieee_crypt_arg'
     807 |                                             strcmp(crypt->alg, "CCMP") == 0) {
         |                                                    ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:808:42: error: incomplete definition of type 'struct ieee_crypt_arg'
     808 |                                                 memcpy(psec->dot118021XGrpKey[crypt->idx].skey,
         |                                                                               ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:809:19: error: incomplete definition of type 'struct ieee_crypt_arg'
     809 |                                                        crypt->key, len);
         |                                                        ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:811:46: error: incomplete definition of type 'struct ieee_crypt_arg'
     811 |                                                 memcpy(psec->dot18021XGrptxmickey[crypt->idx].skey,
         |                                                                                   ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
>> drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:811:20: error: no member named 'dot18021XGrptxmickey' in 'struct security_priv'; did you mean 'dot118021XGrptxmickey'?
     811 |                                                 memcpy(psec->dot18021XGrptxmickey[crypt->idx].skey,
         |                                                              ^~~~~~~~~~~~~~~~~~~~
         |                                                              dot118021XGrptxmickey
   drivers/staging/rtl8723bs/include/rtw_security.h:106:16: note: 'dot118021XGrptxmickey' declared here
     106 |         union Keytype   dot118021XGrptxmickey[BIP_MAX_KEYID + 1];
         |                         ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:812:20: error: incomplete definition of type 'struct ieee_crypt_arg'
     812 |                                                        &crypt->key[16], 8);
         |                                                         ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:814:47: error: incomplete definition of type 'struct ieee_crypt_arg'
     814 |                                                 memcpy(psec->dot118021XGrprxmickey[crypt->idx].skey,
         |                                                                                    ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:815:20: error: incomplete definition of type 'struct ieee_crypt_arg'
     815 |                                                        &crypt->key[24], 8);
         |                                                         ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:818:39: error: incomplete definition of type 'struct ieee_crypt_arg'
     818 |                                                 psec->dot118021XGrpKeyid = crypt->idx;
         |                                                                            ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:819:40: error: incomplete definition of type 'struct ieee_crypt_arg'
     819 |                                                 rtw_set_key(padapter, psec, crypt->idx, 1, true);
         |                                                                             ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:820:29: error: incomplete definition of type 'struct ieee_crypt_arg'
     820 |                                         } else if (strcmp(crypt->alg, "BIP") == 0) {
         |                                                           ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:822:38: error: incomplete definition of type 'struct ieee_crypt_arg'
     822 |                                                 memcpy(psec->dot11wBIPKey[crypt->idx].skey,
         |                                                                           ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:823:19: error: incomplete definition of type 'struct ieee_crypt_arg'
     823 |                                                        crypt->key, len);
         |                                                        ~~~~~^
   drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:803:13: note: forward declaration of 'struct ieee_crypt_arg'
     803 |                                         struct ieee_crypt_arg *crypt = &param->u.crypt;
         |                                                ^
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   20 errors generated.


vim +787 drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c

   697	
   698	static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param *param, u32 param_len)
   699	{
   700		int ret = 0;
   701		u8 max_idx;
   702		u32 wep_key_idx, wep_key_len;
   703		struct adapter *padapter = rtw_netdev_priv(dev);
   704		struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
   705		struct security_priv *psecuritypriv = &padapter->securitypriv;
   706	
   707		param->u.crypt.err = 0;
   708		param->u.crypt.alg[IEEE_CRYPT_ALG_NAME_LEN - 1] = '\0';
   709	
   710		if (param_len < (u32)((u8 *)param->u.crypt.key - (u8 *)param) + param->u.crypt.key_len) {
   711			ret =  -EINVAL;
   712			goto exit;
   713		}
   714	
   715		if (param->sta_addr[0] != 0xff || param->sta_addr[1] != 0xff ||
   716		    param->sta_addr[2] != 0xff || param->sta_addr[3] != 0xff ||
   717		    param->sta_addr[4] != 0xff || param->sta_addr[5] != 0xff) {
   718			ret = -EINVAL;
   719			goto exit;
   720		}
   721	
   722		if (strcmp(param->u.crypt.alg, "WEP") == 0)
   723			max_idx = WEP_KEYS - 1;
   724		else
   725			max_idx = BIP_MAX_KEYID;
   726	
   727		if (param->u.crypt.idx > max_idx) {
   728			netdev_err(dev, "Error crypt.idx %d > %d\n", param->u.crypt.idx, max_idx);
   729			ret = -EINVAL;
   730			goto exit;
   731		}
   732	
   733		if (strcmp(param->u.crypt.alg, "WEP") == 0) {
   734			wep_key_idx = param->u.crypt.idx;
   735			wep_key_len = param->u.crypt.key_len;
   736	
   737			if (wep_key_len <= 0) {
   738				ret = -EINVAL;
   739				goto exit;
   740			}
   741	
   742			if (psecuritypriv->bWepDefaultKeyIdxSet == 0) {
   743				/* wep default key has not been set, so use this key index as default key. */
   744	
   745				wep_key_len = wep_key_len <= 5 ? 5 : 13;
   746	
   747				psecuritypriv->ndisencryptstatus = NDIS_802_11_ENCRYPTION_ENABLED;
   748				psecuritypriv->dot11PrivacyAlgrthm = _WEP40_;
   749				psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
   750	
   751				if (wep_key_len == 13) {
   752					psecuritypriv->dot11PrivacyAlgrthm = _WEP104_;
   753					psecuritypriv->dot118021XGrpPrivacy = _WEP104_;
   754				}
   755	
   756				psecuritypriv->dot11PrivacyKeyIndex = wep_key_idx;
   757			}
   758	
   759			memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len);
   760	
   761			psecuritypriv->dot11DefKeylen[wep_key_idx] = wep_key_len;
   762	
   763			rtw_set_key(padapter, psecuritypriv, wep_key_idx, 0, true);
   764	
   765			goto exit;
   766		}
   767	
   768		if (padapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X) { /*  802_1x */
   769			struct sta_info *psta, *pbcmc_sta;
   770			struct sta_priv *pstapriv = &padapter->stapriv;
   771	
   772			if (check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_MP_STATE) == true) { /* sta mode */
   773				psta = rtw_get_stainfo(pstapriv, get_bssid(pmlmepriv));
   774				if (psta) {
   775					/* Jeff: don't disable ieee8021x_blocked while clearing key */
   776					if (strcmp(param->u.crypt.alg, "none") != 0)
   777						psta->ieee8021x_blocked = false;
   778	
   779					if ((padapter->securitypriv.ndisencryptstatus ==
   780					     NDIS_802_11_ENCRYPTION_2_ENABLED) ||
   781					    (padapter->securitypriv.ndisencryptstatus ==
   782					     NDIS_802_11_ENCRYPTION_3_ENABLED)) {
   783						psta->dot118021XPrivacy = padapter->securitypriv.dot11PrivacyAlgrthm;
   784					}
   785	
   786					if (param->u.crypt.set_tx == 1) { /* pairwise key */
 > 787						struct ieee_crypt_arg *crypt = &param->u.crypt;
 > 788						u32 len = min(crypt->key_len, 16U);
   789	
   790						memcpy(psta->dot118021x_UncstKey.skey,
   791						       crypt->key, len);
   792						if (strcmp(param->u.crypt.alg, "TKIP") == 0) { /* set mic key */
   793							memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8);
   794							memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8);
   795	
   796							padapter->securitypriv.busetkipkey = false;
   797							/* _set_timer(&padapter->securitypriv.tkip_timer, 50); */
   798						}
   799	
   800						rtw_setstakey_cmd(padapter, psta, true, true);
   801					} else { /* group key */
   802						struct security_priv *psec = &padapter->securitypriv;
   803						struct ieee_crypt_arg *crypt = &param->u.crypt;
   804						u32 len = min(crypt->key_len, 16U);
   805	
   806						if (strcmp(crypt->alg, "TKIP") == 0 ||
   807						    strcmp(crypt->alg, "CCMP") == 0) {
   808							memcpy(psec->dot118021XGrpKey[crypt->idx].skey,
   809							       crypt->key, len);
   810	
 > 811							memcpy(psec->dot18021XGrptxmickey[crypt->idx].skey,
   812							       &crypt->key[16], 8);
   813	
   814							memcpy(psec->dot118021XGrprxmickey[crypt->idx].skey,
   815							       &crypt->key[24], 8);
   816	
   817							psec->binstallGrpkey = true;
   818							psec->dot118021XGrpKeyid = crypt->idx;
   819							rtw_set_key(padapter, psec, crypt->idx, 1, true);
   820						} else if (strcmp(crypt->alg, "BIP") == 0) {
   821							/* save the IGTK key, length 16 bytes */
   822							memcpy(psec->dot11wBIPKey[crypt->idx].skey,
   823							       crypt->key, len);
   824							psec->dot11wBIPKeyid = crypt->idx;
   825							psec->binstallBIPkey = true;
   826						}
   827					}
   828				}
   829	
   830				pbcmc_sta = rtw_get_bcmc_stainfo(padapter);
   831				if (pbcmc_sta) {
   832					/* Jeff: don't disable ieee8021x_blocked while clearing key */
   833					if (strcmp(param->u.crypt.alg, "none") != 0)
   834						pbcmc_sta->ieee8021x_blocked = false;
   835	
   836					if ((padapter->securitypriv.ndisencryptstatus ==
   837					     NDIS_802_11_ENCRYPTION_2_ENABLED) ||
   838					    (padapter->securitypriv.ndisencryptstatus ==
   839					     NDIS_802_11_ENCRYPTION_3_ENABLED)) {
   840						pbcmc_sta->dot118021XPrivacy = padapter->securitypriv.dot11PrivacyAlgrthm;
   841					}
   842				}
   843			} else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { /* adhoc mode */
   844			}
   845		}
   846	
   847	exit:
   848	
   849		return ret;
   850	}
   851	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

      parent reply	other threads:[~2026-02-11  5:05 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-10 22:15 [PATCH] staging: rtl8723bs: remove NDIS_802_11 types and cleanup style markatbritain
2026-02-10 22:38 ` Ethan Tidmore
2026-02-11  2:26 ` kernel test robot
2026-02-11  5:04 ` kernel test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202602111248.03HAaYiv-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=dan.carpenter@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=llvm@lists.linux.dev \
    --cc=markatbritain@gmail.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=straube.linux@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox