tree:
https://github.com/0day-ci/linux/commits/UPDATE-20210619-155350/Jhih-Ming...
head: ed0359e3fa64928e48021387a694f211bc840ff7
commit: ed0359e3fa64928e48021387a694f211bc840ff7 rtw_security: fix cast to restricted
__le32
date: 2 days ago
config: x86_64-randconfig-a013-20210621 (attached as .config)
compiler: clang version 13.0.0 (
https://github.com/llvm/llvm-project
e1adf90826a57b674eee79b071fb46c1f5683cd0)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
#
https://github.com/0day-ci/linux/commit/ed0359e3fa64928e48021387a694f211b...
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=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> drivers/staging/rtl8723bs/core/rtw_security.c:95:9: warning:
variable 'crc' set but not used [-Wunused-but-set-variable]
__le32 crc;
^
1 warning generated.
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