[ammarfaizi2-block:dhowells/linux-fs/rxrpc-ringless 35/35] net/rxrpc/recvmsg.c:297:9: warning: variable 'j' is uninitialized when used here

From: kernel test robot
Date: Thu May 12 2022 - 21:00:42 EST


tree: https://github.com/ammarfaizi2/linux-block dhowells/linux-fs/rxrpc-ringless
head: 36075641f704b02b4bcaee01d904a06676b32199
commit: 36075641f704b02b4bcaee01d904a06676b32199 [35/35] rxrpc: Don't split up received jumbo packets
config: i386-randconfig-a013 (https://download.01.org/0day-ci/archive/20220513/202205130800.78D0sAwZ-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 9519dacab7b8afd537811fc2abaceb4d14f4e16a)
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/ammarfaizi2/linux-block/commit/36075641f704b02b4bcaee01d904a06676b32199
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block dhowells/linux-fs/rxrpc-ringless
git checkout 36075641f704b02b4bcaee01d904a06676b32199
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/iommu/ kernel/trace/ net/rxrpc/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> net/rxrpc/recvmsg.c:297:9: warning: variable 'j' is uninitialized when used here [-Wuninitialized]
for (; j < nr_subs; j++, seq++) {
^
net/rxrpc/recvmsg.c:289:47: note: initialize the variable 'j' to silence this warning
int nr_subs = sp->nr_subpackets - 1, i = 0, j;
^
= 0
1 warning generated.


vim +/j +297 net/rxrpc/recvmsg.c

275
276 /*
277 * Set up a data location table for a jumbo DATA packet then verify
278 * and decrypt all the subpackets and locate the data for each. We
279 * also need to skip over any duplicate subpackets.
280 */
281 static int rxrpc_verify_data(struct rxrpc_call *call, struct sk_buff *skb)
282 {
283 struct rxrpc_jumbo_header jhdr;
284 struct rxrpc_skb_subpacket *subs;
285 struct rxrpc_skb_priv *sp = rxrpc_skb(skb);
286 unsigned int offset = sizeof(struct rxrpc_wire_header);
287 unsigned int len = skb->len - sizeof(struct rxrpc_wire_header);
288 rxrpc_seq_t seq = sp->hdr.seq;
289 int nr_subs = sp->nr_subpackets - 1, i = 0, j;
290 u16 cksum = sp->hdr.cksum;
291
292 subs = kcalloc(sp->nr_subpackets, sizeof(*sp->subs), GFP_KERNEL);
293 if (!subs)
294 return -ENOMEM;
295 sp->subs = subs;
296
> 297 for (; j < nr_subs; j++, seq++) {
298 if (after(seq, call->rx_consumed)) {
299 subs[i].offset = offset;
300 subs[i].len = RXRPC_JUMBO_DATALEN;
301 subs[i].cksum = cksum;
302 i++;
303 } else {
304 sp->hdr.seq++;
305 sp->nr_subpackets--;
306 }
307 offset += RXRPC_JUMBO_DATALEN;
308 if (skb_copy_bits(skb, offset, &jhdr.cksum, 2) < 0)
309 return -EPROTO;
310 offset += sizeof(jhdr);
311 cksum = htons(jhdr.cksum);
312 len -= RXRPC_JUMBO_SUBPKTLEN;
313 }
314
315 subs[i].offset = offset;
316 subs[i].len = len;
317 subs[i].cksum = cksum;
318 return call->security->verify_packet(call, skb);
319 }
320

--
0-DAY CI Kernel Test Service
https://01.org/lkp