lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 18 Nov 2020 00:39:58 +0800
From:   kernel test robot <lkp@...el.com>
To:     Geert Uytterhoeven <geert@...ux-m68k.org>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Jakub Kicinski <kuba@...nel.org>,
        Matthieu Baerts <matthieu.baerts@...sares.net>
Subject: drivers/net/ethernet/netronome/nfp/crypto/tls.c:477:18: warning:
 variable 'ipv6h' set but not used

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@...el.com>

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@...ronome.com>
:::::: CC: David S. Miller <davem@...emloft.net>

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

Download attachment ".config.gz" of type "application/gzip" (41772 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ