drivers/net/ethernet/netronome/nfp/crypto/tls.c:477:18: warning: variable 'ipv6h' set but not used

From: kernel test robot
Date: Tue Nov 17 2020 - 11:40:47 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9c87c9f41245baa3fc4716cf39141439cf405b01
commit: b142083b585c2c03af24cca4d274f797796a4064 mptcp: MPTCP_KUNIT_TESTS should depend on MPTCP instead of selecting it
date: 4 weeks ago
config: arc-randconfig-r005-20201117 (attached as .config)
compiler: arceb-elf-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b142083b585c2c03af24cca4d274f797796a4064
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b142083b585c2c03af24cca4d274f797796a4064
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc

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/net/ethernet/netronome/nfp/crypto/tls.c: In function 'nfp_net_tls_rx_resync_req':
>> drivers/net/ethernet/netronome/nfp/crypto/tls.c:477:18: warning: variable 'ipv6h' set but not used [-Wunused-but-set-variable]
477 | struct ipv6hdr *ipv6h;
| ^~~~~
In file included from include/linux/compiler_types.h:65,
from <command-line>:
drivers/net/ethernet/netronome/nfp/crypto/tls.c: In function 'nfp_net_tls_add':
include/linux/compiler_attributes.h:208:41: warning: statement will never be executed [-Wswitch-unreachable]
208 | # define fallthrough __attribute__((__fallthrough__))
| ^~~~~~~~~~~~~
drivers/net/ethernet/netronome/nfp/crypto/tls.c:299:3: note: in expansion of macro 'fallthrough'
299 | fallthrough;
| ^~~~~~~~~~~

vim +/ipv6h +477 drivers/net/ethernet/netronome/nfp/crypto/tls.c

232eeb1f84eb2d4 Jakub Kicinski 2019-06-05 470
6a35ddc5445a829 Jakub Kicinski 2019-12-17 471 int nfp_net_tls_rx_resync_req(struct net_device *netdev,
6a35ddc5445a829 Jakub Kicinski 2019-12-17 472 struct nfp_net_tls_resync_req *req,
6a35ddc5445a829 Jakub Kicinski 2019-12-17 473 void *pkt, unsigned int pkt_len)
6a35ddc5445a829 Jakub Kicinski 2019-12-17 474 {
6a35ddc5445a829 Jakub Kicinski 2019-12-17 475 struct nfp_net *nn = netdev_priv(netdev);
6a35ddc5445a829 Jakub Kicinski 2019-12-17 476 struct nfp_net_tls_offload_ctx *ntls;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 @477 struct ipv6hdr *ipv6h;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 478 struct tcphdr *th;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 479 struct iphdr *iph;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 480 struct sock *sk;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 481 __be32 tcp_seq;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 482 int err;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 483
6a35ddc5445a829 Jakub Kicinski 2019-12-17 484 iph = pkt + req->l3_offset;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 485 ipv6h = pkt + req->l3_offset;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 486 th = pkt + req->l4_offset;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 487
6a35ddc5445a829 Jakub Kicinski 2019-12-17 488 if ((u8 *)&th[1] > (u8 *)pkt + pkt_len) {
6a35ddc5445a829 Jakub Kicinski 2019-12-17 489 netdev_warn_once(netdev, "invalid TLS RX resync request (l3_off: %hhu l4_off: %hhu pkt_len: %u)\n",
6a35ddc5445a829 Jakub Kicinski 2019-12-17 490 req->l3_offset, req->l4_offset, pkt_len);
6a35ddc5445a829 Jakub Kicinski 2019-12-17 491 err = -EINVAL;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 492 goto err_cnt_ign;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 493 }
6a35ddc5445a829 Jakub Kicinski 2019-12-17 494
6a35ddc5445a829 Jakub Kicinski 2019-12-17 495 switch (iph->version) {
6a35ddc5445a829 Jakub Kicinski 2019-12-17 496 case 4:
6a35ddc5445a829 Jakub Kicinski 2019-12-17 497 sk = inet_lookup_established(dev_net(netdev), &tcp_hashinfo,
6a35ddc5445a829 Jakub Kicinski 2019-12-17 498 iph->saddr, th->source, iph->daddr,
6a35ddc5445a829 Jakub Kicinski 2019-12-17 499 th->dest, netdev->ifindex);
6a35ddc5445a829 Jakub Kicinski 2019-12-17 500 break;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 501 #if IS_ENABLED(CONFIG_IPV6)
6a35ddc5445a829 Jakub Kicinski 2019-12-17 502 case 6:
6a35ddc5445a829 Jakub Kicinski 2019-12-17 503 sk = __inet6_lookup_established(dev_net(netdev), &tcp_hashinfo,
6a35ddc5445a829 Jakub Kicinski 2019-12-17 504 &ipv6h->saddr, th->source,
6a35ddc5445a829 Jakub Kicinski 2019-12-17 505 &ipv6h->daddr, ntohs(th->dest),
6a35ddc5445a829 Jakub Kicinski 2019-12-17 506 netdev->ifindex, 0);
6a35ddc5445a829 Jakub Kicinski 2019-12-17 507 break;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 508 #endif
6a35ddc5445a829 Jakub Kicinski 2019-12-17 509 default:
6a35ddc5445a829 Jakub Kicinski 2019-12-17 510 netdev_warn_once(netdev, "invalid TLS RX resync request (l3_off: %hhu l4_off: %hhu ipver: %u)\n",
6a35ddc5445a829 Jakub Kicinski 2019-12-17 511 req->l3_offset, req->l4_offset, iph->version);
6a35ddc5445a829 Jakub Kicinski 2019-12-17 512 err = -EINVAL;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 513 goto err_cnt_ign;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 514 }
6a35ddc5445a829 Jakub Kicinski 2019-12-17 515
6a35ddc5445a829 Jakub Kicinski 2019-12-17 516 err = 0;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 517 if (!sk)
6a35ddc5445a829 Jakub Kicinski 2019-12-17 518 goto err_cnt_ign;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 519 if (!tls_is_sk_rx_device_offloaded(sk) ||
6a35ddc5445a829 Jakub Kicinski 2019-12-17 520 sk->sk_shutdown & RCV_SHUTDOWN)
6a35ddc5445a829 Jakub Kicinski 2019-12-17 521 goto err_put_sock;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 522
6a35ddc5445a829 Jakub Kicinski 2019-12-17 523 ntls = tls_driver_ctx(sk, TLS_OFFLOAD_CTX_DIR_RX);
6a35ddc5445a829 Jakub Kicinski 2019-12-17 524 /* some FW versions can't report the handle and report 0s */
6a35ddc5445a829 Jakub Kicinski 2019-12-17 525 if (memchr_inv(&req->fw_handle, 0, sizeof(req->fw_handle)) &&
6a35ddc5445a829 Jakub Kicinski 2019-12-17 526 memcmp(&req->fw_handle, &ntls->fw_handle, sizeof(ntls->fw_handle)))
6a35ddc5445a829 Jakub Kicinski 2019-12-17 527 goto err_put_sock;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 528
6a35ddc5445a829 Jakub Kicinski 2019-12-17 529 /* copy to ensure alignment */
6a35ddc5445a829 Jakub Kicinski 2019-12-17 530 memcpy(&tcp_seq, &req->tcp_seq, sizeof(tcp_seq));
6a35ddc5445a829 Jakub Kicinski 2019-12-17 531 tls_offload_rx_resync_request(sk, tcp_seq);
6a35ddc5445a829 Jakub Kicinski 2019-12-17 532 atomic_inc(&nn->ktls_rx_resync_req);
6a35ddc5445a829 Jakub Kicinski 2019-12-17 533
6a35ddc5445a829 Jakub Kicinski 2019-12-17 534 sock_gen_put(sk);
6a35ddc5445a829 Jakub Kicinski 2019-12-17 535 return 0;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 536
6a35ddc5445a829 Jakub Kicinski 2019-12-17 537 err_put_sock:
6a35ddc5445a829 Jakub Kicinski 2019-12-17 538 sock_gen_put(sk);
6a35ddc5445a829 Jakub Kicinski 2019-12-17 539 err_cnt_ign:
6a35ddc5445a829 Jakub Kicinski 2019-12-17 540 atomic_inc(&nn->ktls_rx_resync_ign);
6a35ddc5445a829 Jakub Kicinski 2019-12-17 541 return err;
6a35ddc5445a829 Jakub Kicinski 2019-12-17 542 }
6a35ddc5445a829 Jakub Kicinski 2019-12-17 543

:::::: The code at line 477 was first introduced by commit
:::::: 6a35ddc5445a8291ced6247a67977e110275acde nfp: tls: implement the stream sync RX resync

:::::: TO: Jakub Kicinski <jakub.kicinski@xxxxxxxxxxxxx>
:::::: CC: David S. Miller <davem@xxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip