* [dhowells-fs:rxrpc-ringless 16/21] net/rxrpc/recvmsg.c:358:17: warning: variable 'serial' set but not used
@ 2022-04-21 17:35 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-04-21 17:35 UTC (permalink / raw)
To: David Howells; +Cc: llvm, kbuild-all, linux-kernel
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git rxrpc-ringless
head: c388a8388ad238ffbe0cd204c3eacaf200055751
commit: 58c2a63aa0c47fdeb5fbdab61785fc43cf212fa0 [16/21] changes
config: i386-randconfig-a006 (https://download.01.org/0day-ci/archive/20220422/202204220147.aPvpcmQ8-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project bac6cd5bf85669e3376610cfc4c4f9ca015e7b9b)
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://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?id=58c2a63aa0c47fdeb5fbdab61785fc43cf212fa0
git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
git fetch --no-tags dhowells-fs rxrpc-ringless
git checkout 58c2a63aa0c47fdeb5fbdab61785fc43cf212fa0
# 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 net/rxrpc/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> net/rxrpc/recvmsg.c:358:17: warning: variable 'serial' set but not used [-Wunused-but-set-variable]
rxrpc_serial_t serial;
^
1 warning generated.
vim +/serial +358 net/rxrpc/recvmsg.c
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 346
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 347 /*
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 348 * Deliver messages to a call. This keeps processing packets until the buffer
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 349 * is filled and we find either more DATA (returns 0) or the end of the DATA
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 350 * (returns 1). If more packets are required, it returns -EAGAIN.
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 351 */
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 352 static int rxrpc_recvmsg_data(struct socket *sock, struct rxrpc_call *call,
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 353 struct msghdr *msg, struct iov_iter *iter,
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 354 size_t len, int flags, size_t *_offset)
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 355 {
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 356 struct rxrpc_skb_priv *sp;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 357 struct sk_buff *skb;
e2de6c40489890 net/rxrpc/recvmsg.c David Howells 2019-08-27 @358 rxrpc_serial_t serial;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 359 rxrpc_seq_t hard_ack, top, seq;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 360 size_t remain;
f9c32435ab7221 net/rxrpc/recvmsg.c David Howells 2019-10-31 361 bool rx_pkt_last;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 362 unsigned int rx_pkt_offset, rx_pkt_len;
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 363 int ix, copy, ret = -EAGAIN, ret2;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 364
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 365 rx_pkt_offset = call->rx_pkt_offset;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 366 rx_pkt_len = call->rx_pkt_len;
f9c32435ab7221 net/rxrpc/recvmsg.c David Howells 2019-10-31 367 rx_pkt_last = call->rx_pkt_last;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 368
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 369 if (call->state >= RXRPC_CALL_SERVER_ACK_REQUEST) {
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 370 seq = call->rx_hard_ack;
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 371 ret = 1;
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 372 goto done;
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 373 }
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 374
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 375 /* Barriers against rxrpc_input_data(). */
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 376 hard_ack = call->rx_hard_ack;
d7e15835ab2784 net/rxrpc/recvmsg.c David Howells 2017-02-24 377 seq = hard_ack + 1;
f9c32435ab7221 net/rxrpc/recvmsg.c David Howells 2019-10-31 378
d7e15835ab2784 net/rxrpc/recvmsg.c David Howells 2017-02-24 379 while (top = smp_load_acquire(&call->rx_top),
d7e15835ab2784 net/rxrpc/recvmsg.c David Howells 2017-02-24 380 before_eq(seq, top)
d7e15835ab2784 net/rxrpc/recvmsg.c David Howells 2017-02-24 381 ) {
3f63ce6fffedc9 net/rxrpc/recvmsg.c David Howells 2022-03-31 382 ix = seq & RXRPC_RX_BUFF_MASK;
3f63ce6fffedc9 net/rxrpc/recvmsg.c David Howells 2022-03-31 383 skb = call->rx_buffer[ix];
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 384 if (!skb) {
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 385 trace_rxrpc_recvmsg(call, rxrpc_recvmsg_hole, seq,
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 386 rx_pkt_offset, rx_pkt_len, 0);
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 387 break;
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 388 }
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 389 smp_rmb();
987db9f7cd1e77 net/rxrpc/recvmsg.c David Howells 2019-08-19 390 rxrpc_see_skb(skb, rxrpc_skb_seen);
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 391 sp = rxrpc_skb(skb);
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 392
e2de6c40489890 net/rxrpc/recvmsg.c David Howells 2019-08-27 393 if (!(flags & MSG_PEEK)) {
e2de6c40489890 net/rxrpc/recvmsg.c David Howells 2019-08-27 394 serial = sp->hdr.serial;
3f63ce6fffedc9 net/rxrpc/recvmsg.c David Howells 2022-03-31 395 serial += call->rx_annotations[ix] & RXRPC_RX_ANNO_SUBPACKET;
58c2a63aa0c47f net/rxrpc/recvmsg.c David Howells 2022-04-06 396 //trace_rxrpc_receive(call, rxrpc_receive_front,
58c2a63aa0c47f net/rxrpc/recvmsg.c David Howells 2022-04-06 397 // serial, seq);
e2de6c40489890 net/rxrpc/recvmsg.c David Howells 2019-08-27 398 }
58dc63c998ea3c net/rxrpc/recvmsg.c David Howells 2016-09-17 399
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 400 if (msg)
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 401 sock_recv_timestamp(msg, sock->sk, skb);
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 402
2e2ea51dec2ab6 net/rxrpc/recvmsg.c David Howells 2016-09-17 403 if (rx_pkt_offset == 0) {
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 404 ret2 = rxrpc_locate_data(call, skb,
3f63ce6fffedc9 net/rxrpc/recvmsg.c David Howells 2022-03-31 405 &call->rx_annotations[ix],
f9c32435ab7221 net/rxrpc/recvmsg.c David Howells 2019-10-31 406 &rx_pkt_offset, &rx_pkt_len,
f9c32435ab7221 net/rxrpc/recvmsg.c David Howells 2019-10-31 407 &rx_pkt_last);
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 408 trace_rxrpc_recvmsg(call, rxrpc_recvmsg_next, seq,
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 409 rx_pkt_offset, rx_pkt_len, ret2);
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 410 if (ret2 < 0) {
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 411 ret = ret2;
2e2ea51dec2ab6 net/rxrpc/recvmsg.c David Howells 2016-09-17 412 goto out;
2e2ea51dec2ab6 net/rxrpc/recvmsg.c David Howells 2016-09-17 413 }
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 414 } else {
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 415 trace_rxrpc_recvmsg(call, rxrpc_recvmsg_cont, seq,
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 416 rx_pkt_offset, rx_pkt_len, 0);
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 417 }
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 418
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 419 /* We have to handle short, empty and used-up DATA packets. */
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 420 remain = len - *_offset;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 421 copy = rx_pkt_len;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 422 if (copy > remain)
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 423 copy = remain;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 424 if (copy > 0) {
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 425 ret2 = skb_copy_datagram_iter(skb, rx_pkt_offset, iter,
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 426 copy);
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 427 if (ret2 < 0) {
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 428 ret = ret2;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 429 goto out;
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 430 }
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 431
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 432 /* handle piecemeal consumption of data packets */
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 433 rx_pkt_offset += copy;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 434 rx_pkt_len -= copy;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 435 *_offset += copy;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 436 }
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 437
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 438 if (rx_pkt_len > 0) {
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 439 trace_rxrpc_recvmsg(call, rxrpc_recvmsg_full, seq,
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 440 rx_pkt_offset, rx_pkt_len, 0);
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 441 ASSERTCMP(*_offset, ==, len);
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 442 ret = 0;
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 443 break;
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 444 }
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 445
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 446 /* The whole packet has been transferred. */
372ee16386bbf6 net/rxrpc/recvmsg.c David Howells 2016-08-03 447 if (!(flags & MSG_PEEK))
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 448 rxrpc_rotate_rx_window(call);
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 449 rx_pkt_offset = 0;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 450 rx_pkt_len = 0;
372ee16386bbf6 net/rxrpc/recvmsg.c David Howells 2016-08-03 451
f9c32435ab7221 net/rxrpc/recvmsg.c David Howells 2019-10-31 452 if (rx_pkt_last) {
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 453 ASSERTCMP(seq, ==, READ_ONCE(call->rx_top));
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 454 ret = 1;
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 455 goto out;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 456 }
d7e15835ab2784 net/rxrpc/recvmsg.c David Howells 2017-02-24 457
d7e15835ab2784 net/rxrpc/recvmsg.c David Howells 2017-02-24 458 seq++;
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 459 }
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 460
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 461 out:
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 462 if (!(flags & MSG_PEEK)) {
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 463 call->rx_pkt_offset = rx_pkt_offset;
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 464 call->rx_pkt_len = rx_pkt_len;
f9c32435ab7221 net/rxrpc/recvmsg.c David Howells 2019-10-31 465 call->rx_pkt_last = rx_pkt_last;
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 466 }
816c9fce12f374 net/rxrpc/recvmsg.c David Howells 2016-09-17 467 done:
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 468 trace_rxrpc_recvmsg(call, rxrpc_recvmsg_data_return, seq,
849979051cbc93 net/rxrpc/recvmsg.c David Howells 2016-09-17 469 rx_pkt_offset, rx_pkt_len, ret);
d0b35a42031a31 net/rxrpc/recvmsg.c David Howells 2018-07-23 470 if (ret == -EAGAIN)
d0b35a42031a31 net/rxrpc/recvmsg.c David Howells 2018-07-23 471 set_bit(RXRPC_CALL_RX_UNDERRUN, &call->flags);
248f219cb8bcbf net/rxrpc/recvmsg.c David Howells 2016-09-08 472 return ret;
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 473 }
17926a79320afa net/rxrpc/ar-recvmsg.c David Howells 2007-04-26 474
:::::: The code at line 358 was first introduced by commit
:::::: e2de6c4048989007b353164b19d6b7d5be4fa9e3 rxrpc: Use info in skbuff instead of reparsing a jumbo packet
:::::: TO: David Howells <dhowells@redhat.com>
:::::: CC: David Howells <dhowells@redhat.com>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-04-21 17:36 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-21 17:35 [dhowells-fs:rxrpc-ringless 16/21] net/rxrpc/recvmsg.c:358:17: warning: variable 'serial' set but not used kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.