[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 8 Jul 2022 00:21:18 +0800
From: kernel test robot <lkp@...el.com>
To: Jakub Kicinski <kuba@...nel.org>, davem@...emloft.net
Cc: llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
netdev@...r.kernel.org, edumazet@...gle.com, pabeni@...hat.com,
borisp@...dia.com, john.fastabend@...il.com, maximmi@...dia.com,
tariqt@...dia.com, Jakub Kicinski <kuba@...nel.org>
Subject: Re: [PATCH net-next 5/6] tls: create an internal header
Hi Jakub,
I love your patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/intel-lab-lkp/linux/commits/Jakub-Kicinski/tls-pad-strparser-internal-header-decrypt_ctx-etc/20220707-120420
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git cd355d0bc60df51266d228c0f69570cdcfa1e6ba
config: i386-randconfig-a015 (https://download.01.org/0day-ci/archive/20220708/202207080051.XdhPoIde-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 66ae1d60bb278793fd651cece264699d522bab84)
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/intel-lab-lkp/linux/commit/4088937ef16f0f7a85bc39bb89ab75b33d5e8774
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Jakub-Kicinski/tls-pad-strparser-internal-header-decrypt_ctx-etc/20220707-120420
git checkout 4088937ef16f0f7a85bc39bb89ab75b33d5e8774
# 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/net/ethernet/netronome/nfp/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
>> drivers/net/ethernet/netronome/nfp/nfp_net_common.c:636:4: error: call to undeclared function 'tls_offload_tx_resync_request'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
tls_offload_tx_resync_request(nskb->sk, seq,
^
drivers/net/ethernet/netronome/nfp/nfp_net_common.c:636:4: note: did you mean 'tls_offload_rx_resync_request'?
include/net/tls.h:420:20: note: 'tls_offload_rx_resync_request' declared here
static inline void tls_offload_rx_resync_request(struct sock *sk, __be32 seq)
^
1 error generated.
vim +/tls_offload_tx_resync_request +636 drivers/net/ethernet/netronome/nfp/nfp_net_common.c
4c3523623dc0b98 Jakub Kicinski 2015-12-01 585
62d033309d62653 Jakub Kicinski 2022-03-21 586 struct sk_buff *
51a5e563298db5c Jakub Kicinski 2019-06-05 587 nfp_net_tls_tx(struct nfp_net_dp *dp, struct nfp_net_r_vector *r_vec,
51a5e563298db5c Jakub Kicinski 2019-06-05 588 struct sk_buff *skb, u64 *tls_handle, int *nr_frags)
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 589 {
c8d3928ea7e7e53 Jakub Kicinski 2019-07-08 590 #ifdef CONFIG_TLS_DEVICE
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 591 struct nfp_net_tls_offload_ctx *ntls;
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 592 struct sk_buff *nskb;
9ed431c1d7cf8c3 Jakub Kicinski 2019-06-10 593 bool resync_pending;
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 594 u32 datalen, seq;
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 595
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 596 if (likely(!dp->ktls_tx))
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 597 return skb;
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 598 if (!skb->sk || !tls_is_sk_tx_device_offloaded(skb->sk))
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 599 return skb;
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 600
504148fedb85429 Eric Dumazet 2022-06-30 601 datalen = skb->len - skb_tcp_all_headers(skb);
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 602 seq = ntohl(tcp_hdr(skb)->seq);
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 603 ntls = tls_driver_ctx(skb->sk, TLS_OFFLOAD_CTX_DIR_TX);
9ed431c1d7cf8c3 Jakub Kicinski 2019-06-10 604 resync_pending = tls_offload_tx_resync_pending(skb->sk);
9ed431c1d7cf8c3 Jakub Kicinski 2019-06-10 605 if (unlikely(resync_pending || ntls->next_seq != seq)) {
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 606 /* Pure ACK out of order already */
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 607 if (!datalen)
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 608 return skb;
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 609
51a5e563298db5c Jakub Kicinski 2019-06-05 610 u64_stats_update_begin(&r_vec->tx_sync);
51a5e563298db5c Jakub Kicinski 2019-06-05 611 r_vec->tls_tx_fallback++;
51a5e563298db5c Jakub Kicinski 2019-06-05 612 u64_stats_update_end(&r_vec->tx_sync);
51a5e563298db5c Jakub Kicinski 2019-06-05 613
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 614 nskb = tls_encrypt_skb(skb);
51a5e563298db5c Jakub Kicinski 2019-06-05 615 if (!nskb) {
51a5e563298db5c Jakub Kicinski 2019-06-05 616 u64_stats_update_begin(&r_vec->tx_sync);
51a5e563298db5c Jakub Kicinski 2019-06-05 617 r_vec->tls_tx_no_fallback++;
51a5e563298db5c Jakub Kicinski 2019-06-05 618 u64_stats_update_end(&r_vec->tx_sync);
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 619 return NULL;
51a5e563298db5c Jakub Kicinski 2019-06-05 620 }
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 621 /* encryption wasn't necessary */
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 622 if (nskb == skb)
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 623 return skb;
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 624 /* we don't re-check ring space */
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 625 if (unlikely(skb_is_nonlinear(nskb))) {
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 626 nn_dp_warn(dp, "tls_encrypt_skb() produced fragmented frame\n");
51a5e563298db5c Jakub Kicinski 2019-06-05 627 u64_stats_update_begin(&r_vec->tx_sync);
51a5e563298db5c Jakub Kicinski 2019-06-05 628 r_vec->tx_errors++;
51a5e563298db5c Jakub Kicinski 2019-06-05 629 u64_stats_update_end(&r_vec->tx_sync);
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 630 dev_kfree_skb_any(nskb);
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 631 return NULL;
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 632 }
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 633
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 634 /* jump forward, a TX may have gotten lost, need to sync TX */
9ed431c1d7cf8c3 Jakub Kicinski 2019-06-10 635 if (!resync_pending && seq - ntls->next_seq < U32_MAX / 4)
8538d29cea9530f Jakub Kicinski 2019-10-04 @636 tls_offload_tx_resync_request(nskb->sk, seq,
8538d29cea9530f Jakub Kicinski 2019-10-04 637 ntls->next_seq);
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 638
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 639 *nr_frags = 0;
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 640 return nskb;
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 641 }
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 642
51a5e563298db5c Jakub Kicinski 2019-06-05 643 if (datalen) {
51a5e563298db5c Jakub Kicinski 2019-06-05 644 u64_stats_update_begin(&r_vec->tx_sync);
427545b3046326c Jakub Kicinski 2019-07-08 645 if (!skb_is_gso(skb))
51a5e563298db5c Jakub Kicinski 2019-06-05 646 r_vec->hw_tls_tx++;
427545b3046326c Jakub Kicinski 2019-07-08 647 else
427545b3046326c Jakub Kicinski 2019-07-08 648 r_vec->hw_tls_tx += skb_shinfo(skb)->gso_segs;
51a5e563298db5c Jakub Kicinski 2019-06-05 649 u64_stats_update_end(&r_vec->tx_sync);
51a5e563298db5c Jakub Kicinski 2019-06-05 650 }
51a5e563298db5c Jakub Kicinski 2019-06-05 651
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 652 memcpy(tls_handle, ntls->fw_handle, sizeof(ntls->fw_handle));
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 653 ntls->next_seq += datalen;
c8d3928ea7e7e53 Jakub Kicinski 2019-07-08 654 #endif
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 655 return skb;
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 656 }
c3991d397f2a4d8 Dirk van der Merwe 2019-06-05 657
--
0-DAY CI Kernel Test Service
https://01.org/lkp
Powered by blists - more mailing lists