On Sat, Jun 19, 2021 at 6:27 PM kernel test robot wrote: > > tree: https://github.com/0day-ci/linux/commits/UPDATE-20210619-155350/Jhih-Ming-Huang/rtw_security-fix-cast-to-restricted-__le32/20210616-131056 > head: ed0359e3fa64928e48021387a694f211bc840ff7 > commit: ed0359e3fa64928e48021387a694f211bc840ff7 rtw_security: fix cast to restricted __le32 > date: 3 hours ago > config: sh-allmodconfig (attached as .config) > compiler: sh4-linux-gcc (GCC) 9.3.0 > 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/ed0359e3fa64928e48021387a694f211bc840ff7 > git remote add linux-review https://github.com/0day-ci/linux > git fetch --no-tags linux-review UPDATE-20210619-155350/Jhih-Ming-Huang/rtw_security-fix-cast-to-restricted-__le32/20210616-131056 > git checkout ed0359e3fa64928e48021387a694f211bc840ff7 > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot > > All warnings (new ones prefixed by >>): > > drivers/staging/rtl8723bs/core/rtw_security.c: In function 'rtw_wep_decrypt': > >> drivers/staging/rtl8723bs/core/rtw_security.c:95:9: warning: variable 'crc' set but not used [-Wunused-but-set-variable] > 95 | __le32 crc; > | ^~~ > > Kconfig warnings: (for reference only) > WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC > Depends on SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && HAS_DMA > Selected by > - SND_ATMEL_SOC_SSC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC > - SND_ATMEL_SOC_SSC_PDC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && ATMEL_SSC > > > vim +/crc +95 drivers/staging/rtl8723bs/core/rtw_security.c > > 91 > 92 void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe) > 93 { > 94 /* exclude ICV */ > > 95 __le32 crc; > 96 signed int length; > 97 u32 keylength; > 98 u8 *pframe, *payload, *iv, wepkey[16]; > 99 u8 keyindex; > 100 struct rx_pkt_attrib *prxattrib = &(((union recv_frame *)precvframe)->u.hdr.attrib); > 101 struct security_priv *psecuritypriv = &padapter->securitypriv; > 102 struct arc4_ctx *ctx = &psecuritypriv->recv_arc4_ctx; > 103 > 104 pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data; > 105 > 106 /* start to decrypt recvframe */ > 107 if ((prxattrib->encrypt == _WEP40_) || (prxattrib->encrypt == _WEP104_)) { > 108 iv = pframe+prxattrib->hdrlen; > 109 /* keyindex =(iv[3]&0x3); */ > 110 keyindex = prxattrib->key_index; > 111 keylength = psecuritypriv->dot11DefKeylen[keyindex]; > 112 memcpy(&wepkey[0], iv, 3); > 113 /* memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[psecuritypriv->dot11PrivacyKeyIndex].skey[0], keylength); */ > 114 memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[keyindex].skey[0], keylength); > 115 length = ((union recv_frame *)precvframe)->u.hdr.len-prxattrib->hdrlen-prxattrib->iv_len; > 116 > 117 payload = pframe+prxattrib->iv_len+prxattrib->hdrlen; > 118 > 119 /* decrypt payload include icv */ > 120 arc4_setkey(ctx, wepkey, 3 + keylength); > 121 arc4_crypt(ctx, payload, payload, length); > 122 > 123 /* calculate icv and compare the icv */ > 124 crc = cpu_to_le32(~crc32_le(~0, payload, length - 4)); > 125 > 126 } > 127 } > 128 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org This warning was introduced by my pull request, but I am fixing the sparse warning and the unused variable was declared in the previous commit. The original author did not compare the crc and payload in rtw_wep_decrypt, so the variable 'crc' was set but not used. Should I fix this in my pull request? BTW, in the following message, it mentioned *If you fix the issue, kindly add following tag as appropriate*, What's the meaning of the _tag_? thanks. --jmhuang