Thread (5 messages) 5 messages, 2 authors, 2021-06-21

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

From: Greg KH <hidden>
Date: 2021-06-21 06:52:30
Also in: lkml

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 [off-list ref] wrote:
quoted
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 <redacted>

All warnings (new ones prefixed by >>):

   drivers/staging/rtl8723bs/core/rtw_security.c: In function 'rtw_wep_decrypt':
quoted
quoted
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@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?
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help