All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Rohit Maheshwari <rohitm@chelsio.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: drivers/crypto/chelsio/chcr_ktls.c:1078: undefined reference to `tls_get_record'
Date: Sun, 10 May 2020 14:17:46 +0800	[thread overview]
Message-ID: <202005101443.CiYqUk5t%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 4490 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   e99332e7b4cda6e60f5b5916cf9943a79dbef902
commit: 5a4b9fe7fece62ecab6fb28fe92362f83b41c33e cxgb4/chcr: complete record tx handling
date:   9 weeks ago
config: alpha-randconfig-r036-20200510 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 5a4b9fe7fece62ecab6fb28fe92362f83b41c33e
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=alpha 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   alpha-linux-ld: drivers/crypto/chelsio/chcr_ktls.o: in function `tls_is_sk_tx_device_offloaded':
>> include/net/tls.h:431: undefined reference to `tls_validate_xmit_skb'
   alpha-linux-ld: drivers/crypto/chelsio/chcr_ktls.o: in function `chcr_ktls_xmit':
>> drivers/crypto/chelsio/chcr_ktls.c:1078: undefined reference to `tls_get_record'
>> alpha-linux-ld: drivers/crypto/chelsio/chcr_ktls.c:1078: undefined reference to `tls_get_record'

vim +1078 drivers/crypto/chelsio/chcr_ktls.c

   996	
   997	/* nic tls TX handler */
   998	int chcr_ktls_xmit(struct sk_buff *skb, struct net_device *dev)
   999	{
  1000		struct chcr_ktls_ofld_ctx_tx *tx_ctx;
  1001		struct tcphdr *th = tcp_hdr(skb);
  1002		int data_len, qidx, ret = 0, mss;
  1003		struct tls_record_info *record;
  1004		struct chcr_ktls_info *tx_info;
  1005		u32 tls_end_offset, tcp_seq;
  1006		struct tls_context *tls_ctx;
  1007		struct sk_buff *local_skb;
  1008		int new_connection_state;
  1009		struct sge_eth_txq *q;
  1010		struct adapter *adap;
  1011		unsigned long flags;
  1012	
  1013		tcp_seq = ntohl(th->seq);
  1014	
  1015		mss = skb_is_gso(skb) ? skb_shinfo(skb)->gso_size : skb->data_len;
  1016	
  1017		/* check if we haven't set it for ktls offload */
  1018		if (!skb->sk || !tls_is_sk_tx_device_offloaded(skb->sk))
  1019			goto out;
  1020	
  1021		tls_ctx = tls_get_ctx(skb->sk);
  1022		if (unlikely(tls_ctx->netdev != dev))
  1023			goto out;
  1024	
  1025		tx_ctx = chcr_get_ktls_tx_context(tls_ctx);
  1026		tx_info = tx_ctx->chcr_info;
  1027	
  1028		if (unlikely(!tx_info))
  1029			goto out;
  1030	
  1031		/* check the connection state, we don't need to pass new connection
  1032		 * state, state machine will check and update the new state if it is
  1033		 * stuck due to responses not received from HW.
  1034		 * Start the tx handling only if state is KTLS_CONN_TX_READY.
  1035		 */
  1036		new_connection_state = chcr_ktls_update_connection_state(tx_info, 0);
  1037		if (new_connection_state != KTLS_CONN_TX_READY)
  1038			goto out;
  1039	
  1040		/* don't touch the original skb, make a new skb to extract each records
  1041		 * and send them separately.
  1042		 */
  1043		local_skb = alloc_skb(0, GFP_KERNEL);
  1044	
  1045		if (unlikely(!local_skb))
  1046			return NETDEV_TX_BUSY;
  1047	
  1048		adap = tx_info->adap;
  1049		qidx = skb->queue_mapping;
  1050		q = &adap->sge.ethtxq[qidx + tx_info->first_qset];
  1051		cxgb4_reclaim_completed_tx(adap, &q->q, true);
  1052		/* update tcb */
  1053		ret = chcr_ktls_xmit_tcb_cpls(tx_info, q, ntohl(th->seq),
  1054					      ntohl(th->ack_seq),
  1055					      ntohs(th->window));
  1056		if (ret) {
  1057			dev_kfree_skb_any(local_skb);
  1058			return NETDEV_TX_BUSY;
  1059		}
  1060	
  1061		/* copy skb contents into local skb */
  1062		chcr_ktls_skb_copy(skb, local_skb);
  1063	
  1064		/* go through the skb and send only one record at a time. */
  1065		data_len = skb->data_len;
  1066		/* TCP segments can be in received from host either complete or partial.
  1067		 * chcr_end_part_handler will handle cases if complete record or end
  1068		 * part of the record is received. Incase of partial end part of record,
  1069		 * we will send the complete record again.
  1070		 */
  1071		do {
  1072			int i;
  1073	
  1074			cxgb4_reclaim_completed_tx(adap, &q->q, true);
  1075			/* lock taken */
  1076			spin_lock_irqsave(&tx_ctx->base.lock, flags);
  1077			/* fetch the tls record */
> 1078			record = tls_get_record(&tx_ctx->base, tcp_seq,

---
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: 33320 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: drivers/crypto/chelsio/chcr_ktls.c:1078: undefined reference to `tls_get_record'
Date: Sun, 10 May 2020 14:17:46 +0800	[thread overview]
Message-ID: <202005101443.CiYqUk5t%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 4605 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   e99332e7b4cda6e60f5b5916cf9943a79dbef902
commit: 5a4b9fe7fece62ecab6fb28fe92362f83b41c33e cxgb4/chcr: complete record tx handling
date:   9 weeks ago
config: alpha-randconfig-r036-20200510 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 5a4b9fe7fece62ecab6fb28fe92362f83b41c33e
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=alpha 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   alpha-linux-ld: drivers/crypto/chelsio/chcr_ktls.o: in function `tls_is_sk_tx_device_offloaded':
>> include/net/tls.h:431: undefined reference to `tls_validate_xmit_skb'
   alpha-linux-ld: drivers/crypto/chelsio/chcr_ktls.o: in function `chcr_ktls_xmit':
>> drivers/crypto/chelsio/chcr_ktls.c:1078: undefined reference to `tls_get_record'
>> alpha-linux-ld: drivers/crypto/chelsio/chcr_ktls.c:1078: undefined reference to `tls_get_record'

vim +1078 drivers/crypto/chelsio/chcr_ktls.c

   996	
   997	/* nic tls TX handler */
   998	int chcr_ktls_xmit(struct sk_buff *skb, struct net_device *dev)
   999	{
  1000		struct chcr_ktls_ofld_ctx_tx *tx_ctx;
  1001		struct tcphdr *th = tcp_hdr(skb);
  1002		int data_len, qidx, ret = 0, mss;
  1003		struct tls_record_info *record;
  1004		struct chcr_ktls_info *tx_info;
  1005		u32 tls_end_offset, tcp_seq;
  1006		struct tls_context *tls_ctx;
  1007		struct sk_buff *local_skb;
  1008		int new_connection_state;
  1009		struct sge_eth_txq *q;
  1010		struct adapter *adap;
  1011		unsigned long flags;
  1012	
  1013		tcp_seq = ntohl(th->seq);
  1014	
  1015		mss = skb_is_gso(skb) ? skb_shinfo(skb)->gso_size : skb->data_len;
  1016	
  1017		/* check if we haven't set it for ktls offload */
  1018		if (!skb->sk || !tls_is_sk_tx_device_offloaded(skb->sk))
  1019			goto out;
  1020	
  1021		tls_ctx = tls_get_ctx(skb->sk);
  1022		if (unlikely(tls_ctx->netdev != dev))
  1023			goto out;
  1024	
  1025		tx_ctx = chcr_get_ktls_tx_context(tls_ctx);
  1026		tx_info = tx_ctx->chcr_info;
  1027	
  1028		if (unlikely(!tx_info))
  1029			goto out;
  1030	
  1031		/* check the connection state, we don't need to pass new connection
  1032		 * state, state machine will check and update the new state if it is
  1033		 * stuck due to responses not received from HW.
  1034		 * Start the tx handling only if state is KTLS_CONN_TX_READY.
  1035		 */
  1036		new_connection_state = chcr_ktls_update_connection_state(tx_info, 0);
  1037		if (new_connection_state != KTLS_CONN_TX_READY)
  1038			goto out;
  1039	
  1040		/* don't touch the original skb, make a new skb to extract each records
  1041		 * and send them separately.
  1042		 */
  1043		local_skb = alloc_skb(0, GFP_KERNEL);
  1044	
  1045		if (unlikely(!local_skb))
  1046			return NETDEV_TX_BUSY;
  1047	
  1048		adap = tx_info->adap;
  1049		qidx = skb->queue_mapping;
  1050		q = &adap->sge.ethtxq[qidx + tx_info->first_qset];
  1051		cxgb4_reclaim_completed_tx(adap, &q->q, true);
  1052		/* update tcb */
  1053		ret = chcr_ktls_xmit_tcb_cpls(tx_info, q, ntohl(th->seq),
  1054					      ntohl(th->ack_seq),
  1055					      ntohs(th->window));
  1056		if (ret) {
  1057			dev_kfree_skb_any(local_skb);
  1058			return NETDEV_TX_BUSY;
  1059		}
  1060	
  1061		/* copy skb contents into local skb */
  1062		chcr_ktls_skb_copy(skb, local_skb);
  1063	
  1064		/* go through the skb and send only one record at a time. */
  1065		data_len = skb->data_len;
  1066		/* TCP segments can be in received from host either complete or partial.
  1067		 * chcr_end_part_handler will handle cases if complete record or end
  1068		 * part of the record is received. Incase of partial end part of record,
  1069		 * we will send the complete record again.
  1070		 */
  1071		do {
  1072			int i;
  1073	
  1074			cxgb4_reclaim_completed_tx(adap, &q->q, true);
  1075			/* lock taken */
  1076			spin_lock_irqsave(&tx_ctx->base.lock, flags);
  1077			/* fetch the tls record */
> 1078			record = tls_get_record(&tx_ctx->base, tcp_seq,

---
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: 33320 bytes --]

             reply	other threads:[~2020-05-10  6:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-10  6:17 kbuild test robot [this message]
2020-05-10  6:17 ` drivers/crypto/chelsio/chcr_ktls.c:1078: undefined reference to `tls_get_record' kbuild test robot
2020-08-07 16:16 kernel test robot
2020-08-07 16:16 ` kernel test robot
2020-10-09  5:30 ` Randy Dunlap
2020-10-09  5:30   ` Randy Dunlap
2020-09-08 10:58 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=202005101443.CiYqUk5t%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rohitm@chelsio.com \
    /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.