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

From: Greg KH
Date: Mon Jun 21 2021 - 02:52:35 EST


On Mon, Jun 21, 2021 at 02:30:41PM +0800, Jhih-Ming Huang wrote:
> 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?

We do not do "pull requests" in the kernel development process for
normal changes. Just send a patch like normal for this and I will be
glad to apply it to my trees and send it onward.

thanks,

greg k-h