[fbihjmeric@xxxxxxxxx: Re: drivers/staging/rtl8723bs/core/rtw_security.c:95:9: warning: variable 'crc' set but not used]

From: Jhih-Ming Huang
Date: Mon Jun 21 2021 - 02:30:53 EST


On Sat, Jun 19, 2021 at 6:27 PM kernel test robot <lkp@xxxxxxxxx> 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 <lkp@xxxxxxxxx>
>
> 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@xxxxxxxxxxxx

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?

thanks.

--jmhuang