From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: drivers/net/ethernet/netronome/nfp/crypto/tls.c:477:18: warning: variable 'ipv6h' set but not used
Date: Wed, 09 Dec 2020 18:37:32 +0800 [thread overview]
Message-ID: <202012091830.NkVbUGxd-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 8144 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a68a0262abdaa251e12c53715f48e698a18ef402
commit: 010b430d5df556d5d232e3751ac691ba9e88c041 mptcp: MPTCP_IPV6 should depend on IPV6 instead of selecting it
date: 7 weeks ago
config: parisc-randconfig-r033-20201209 (attached as .config)
compiler: hppa-linux-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=010b430d5df556d5d232e3751ac691ba9e88c041
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 010b430d5df556d5d232e3751ac691ba9e88c041
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
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 >>):
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@netronome.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28892 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
Jakub Kicinski <kuba@kernel.org>,
Matthieu Baerts <matthieu.baerts@tessares.net>
Subject: drivers/net/ethernet/netronome/nfp/crypto/tls.c:477:18: warning: variable 'ipv6h' set but not used
Date: Wed, 9 Dec 2020 18:37:32 +0800 [thread overview]
Message-ID: <202012091830.NkVbUGxd-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 8021 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a68a0262abdaa251e12c53715f48e698a18ef402
commit: 010b430d5df556d5d232e3751ac691ba9e88c041 mptcp: MPTCP_IPV6 should depend on IPV6 instead of selecting it
date: 7 weeks ago
config: parisc-randconfig-r033-20201209 (attached as .config)
compiler: hppa-linux-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=010b430d5df556d5d232e3751ac691ba9e88c041
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 010b430d5df556d5d232e3751ac691ba9e88c041
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
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 >>):
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@netronome.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 28892 bytes --]
next reply other threads:[~2020-12-09 10:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-09 10:37 kernel test robot [this message]
2020-12-09 10:37 ` drivers/net/ethernet/netronome/nfp/crypto/tls.c:477:18: warning: variable 'ipv6h' set but not used kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2020-11-17 16:39 kernel test robot
2020-11-17 16:39 ` kernel test robot
2020-11-17 16:56 ` Gustavo A. R. Silva
2020-11-17 16:56 ` Gustavo A. R. Silva
2020-09-12 9:02 kernel test robot
2020-09-12 9:02 ` kernel test robot
2020-07-11 20:31 kernel test robot
2020-07-11 20:31 ` kernel test robot
2020-06-03 13:38 kernel test robot
2020-06-03 13:38 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202012091830.NkVbUGxd-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.