All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Mina Almasry <almasrymina@google.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-rdma@vger.kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Mina Almasry <almasrymina@google.com>,
	Ayush Sawal <ayush.sawal@chelsio.com>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Mirko Lindner <mlindner@marvell.com>,
	Stephen Hemminger <stephen@networkplumber.org>,
	Tariq Toukan <tariqt@nvidia.com>,
	Steffen Klassert <steffen.klassert@secunet.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	David Ahern <dsahern@kernel.org>,
	Boris Pismenny <borisp@nvidia.com>,
	John Fastabend <john.fastabend@gmail.com>,
	Dragos Tatulea <dtatulea@nvidia.com>
Subject: Re: [PATCH net-next v2 2/3] net: mirror skb frag ref/unref helpers
Date: Fri, 29 Mar 2024 01:07:59 +0800	[thread overview]
Message-ID: <202403290006.WfusvToB-lkp@intel.com> (raw)
In-Reply-To: <20240327214523.2182174-3-almasrymina@google.com>

Hi Mina,

kernel test robot noticed the following build errors:

[auto build test ERROR on net-next/main]

url:    https://github.com/intel-lab-lkp/linux/commits/Mina-Almasry/net-make-napi_frag_unref-reuse-skb_page_unref/20240328-054816
base:   net-next/main
patch link:    https://lore.kernel.org/r/20240327214523.2182174-3-almasrymina%40google.com
patch subject: [PATCH net-next v2 2/3] net: mirror skb frag ref/unref helpers
config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20240329/202403290006.WfusvToB-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240329/202403290006.WfusvToB-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403290006.WfusvToB-lkp@intel.com/

All errors (new ones prefixed by >>):

>> net/tls/tls_device_fallback.c:280:22: error: too few arguments to function call, expected 2, have 1
     280 |                 __skb_frag_ref(frag);
         |                 ~~~~~~~~~~~~~~     ^
   include/linux/skbuff.h:3517:20: note: '__skb_frag_ref' declared here
    3517 | static inline void __skb_frag_ref(skb_frag_t *frag, bool recycle)
         |                    ^              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 error generated.


vim +280 net/tls/tls_device_fallback.c

e8f69799810c32 Ilya Lesokhin  2018-04-30  228  
e8f69799810c32 Ilya Lesokhin  2018-04-30  229  /* This function may be called after the user socket is already
e8f69799810c32 Ilya Lesokhin  2018-04-30  230   * closed so make sure we don't use anything freed during
e8f69799810c32 Ilya Lesokhin  2018-04-30  231   * tls_sk_proto_close here
e8f69799810c32 Ilya Lesokhin  2018-04-30  232   */
e8f69799810c32 Ilya Lesokhin  2018-04-30  233  
e8f69799810c32 Ilya Lesokhin  2018-04-30  234  static int fill_sg_in(struct scatterlist *sg_in,
e8f69799810c32 Ilya Lesokhin  2018-04-30  235  		      struct sk_buff *skb,
d80a1b9d186057 Boris Pismenny 2018-07-13  236  		      struct tls_offload_context_tx *ctx,
e8f69799810c32 Ilya Lesokhin  2018-04-30  237  		      u64 *rcd_sn,
e8f69799810c32 Ilya Lesokhin  2018-04-30  238  		      s32 *sync_size,
e8f69799810c32 Ilya Lesokhin  2018-04-30  239  		      int *resync_sgs)
e8f69799810c32 Ilya Lesokhin  2018-04-30  240  {
504148fedb8542 Eric Dumazet   2022-06-30  241  	int tcp_payload_offset = skb_tcp_all_headers(skb);
e8f69799810c32 Ilya Lesokhin  2018-04-30  242  	int payload_len = skb->len - tcp_payload_offset;
e8f69799810c32 Ilya Lesokhin  2018-04-30  243  	u32 tcp_seq = ntohl(tcp_hdr(skb)->seq);
e8f69799810c32 Ilya Lesokhin  2018-04-30  244  	struct tls_record_info *record;
e8f69799810c32 Ilya Lesokhin  2018-04-30  245  	unsigned long flags;
e8f69799810c32 Ilya Lesokhin  2018-04-30  246  	int remaining;
e8f69799810c32 Ilya Lesokhin  2018-04-30  247  	int i;
e8f69799810c32 Ilya Lesokhin  2018-04-30  248  
e8f69799810c32 Ilya Lesokhin  2018-04-30  249  	spin_lock_irqsave(&ctx->lock, flags);
e8f69799810c32 Ilya Lesokhin  2018-04-30  250  	record = tls_get_record(ctx, tcp_seq, rcd_sn);
e8f69799810c32 Ilya Lesokhin  2018-04-30  251  	if (!record) {
e8f69799810c32 Ilya Lesokhin  2018-04-30  252  		spin_unlock_irqrestore(&ctx->lock, flags);
e8f69799810c32 Ilya Lesokhin  2018-04-30  253  		return -EINVAL;
e8f69799810c32 Ilya Lesokhin  2018-04-30  254  	}
e8f69799810c32 Ilya Lesokhin  2018-04-30  255  
e8f69799810c32 Ilya Lesokhin  2018-04-30  256  	*sync_size = tcp_seq - tls_record_start_seq(record);
e8f69799810c32 Ilya Lesokhin  2018-04-30  257  	if (*sync_size < 0) {
e8f69799810c32 Ilya Lesokhin  2018-04-30  258  		int is_start_marker = tls_record_is_start_marker(record);
e8f69799810c32 Ilya Lesokhin  2018-04-30  259  
e8f69799810c32 Ilya Lesokhin  2018-04-30  260  		spin_unlock_irqrestore(&ctx->lock, flags);
e8f69799810c32 Ilya Lesokhin  2018-04-30  261  		/* This should only occur if the relevant record was
e8f69799810c32 Ilya Lesokhin  2018-04-30  262  		 * already acked. In that case it should be ok
e8f69799810c32 Ilya Lesokhin  2018-04-30  263  		 * to drop the packet and avoid retransmission.
e8f69799810c32 Ilya Lesokhin  2018-04-30  264  		 *
e8f69799810c32 Ilya Lesokhin  2018-04-30  265  		 * There is a corner case where the packet contains
e8f69799810c32 Ilya Lesokhin  2018-04-30  266  		 * both an acked and a non-acked record.
e8f69799810c32 Ilya Lesokhin  2018-04-30  267  		 * We currently don't handle that case and rely
a0e128ef88e4a0 Yueh-Shun Li   2023-06-22  268  		 * on TCP to retransmit a packet that doesn't contain
e8f69799810c32 Ilya Lesokhin  2018-04-30  269  		 * already acked payload.
e8f69799810c32 Ilya Lesokhin  2018-04-30  270  		 */
e8f69799810c32 Ilya Lesokhin  2018-04-30  271  		if (!is_start_marker)
e8f69799810c32 Ilya Lesokhin  2018-04-30  272  			*sync_size = 0;
e8f69799810c32 Ilya Lesokhin  2018-04-30  273  		return -EINVAL;
e8f69799810c32 Ilya Lesokhin  2018-04-30  274  	}
e8f69799810c32 Ilya Lesokhin  2018-04-30  275  
e8f69799810c32 Ilya Lesokhin  2018-04-30  276  	remaining = *sync_size;
e8f69799810c32 Ilya Lesokhin  2018-04-30  277  	for (i = 0; remaining > 0; i++) {
e8f69799810c32 Ilya Lesokhin  2018-04-30  278  		skb_frag_t *frag = &record->frags[i];
e8f69799810c32 Ilya Lesokhin  2018-04-30  279  
e8f69799810c32 Ilya Lesokhin  2018-04-30 @280  		__skb_frag_ref(frag);
e8f69799810c32 Ilya Lesokhin  2018-04-30  281  		sg_set_page(sg_in + i, skb_frag_page(frag),
b54c9d5bd6e38e Jonathan Lemon 2019-07-30  282  			    skb_frag_size(frag), skb_frag_off(frag));
e8f69799810c32 Ilya Lesokhin  2018-04-30  283  
e8f69799810c32 Ilya Lesokhin  2018-04-30  284  		remaining -= skb_frag_size(frag);
e8f69799810c32 Ilya Lesokhin  2018-04-30  285  
e8f69799810c32 Ilya Lesokhin  2018-04-30  286  		if (remaining < 0)
e8f69799810c32 Ilya Lesokhin  2018-04-30  287  			sg_in[i].length += remaining;
e8f69799810c32 Ilya Lesokhin  2018-04-30  288  	}
e8f69799810c32 Ilya Lesokhin  2018-04-30  289  	*resync_sgs = i;
e8f69799810c32 Ilya Lesokhin  2018-04-30  290  
e8f69799810c32 Ilya Lesokhin  2018-04-30  291  	spin_unlock_irqrestore(&ctx->lock, flags);
e8f69799810c32 Ilya Lesokhin  2018-04-30  292  	if (skb_to_sgvec(skb, &sg_in[i], tcp_payload_offset, payload_len) < 0)
e8f69799810c32 Ilya Lesokhin  2018-04-30  293  		return -EINVAL;
e8f69799810c32 Ilya Lesokhin  2018-04-30  294  
e8f69799810c32 Ilya Lesokhin  2018-04-30  295  	return 0;
e8f69799810c32 Ilya Lesokhin  2018-04-30  296  }
e8f69799810c32 Ilya Lesokhin  2018-04-30  297  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2024-03-28 17:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-27 21:45 [PATCH net-next v2 0/3] Minor cleanups to skb frag ref/unref Mina Almasry
2024-03-27 21:45 ` [PATCH net-next v2 1/3] net: make napi_frag_unref reuse skb_page_unref Mina Almasry
2024-03-27 21:45 ` [PATCH net-next v2 2/3] net: mirror skb frag ref/unref helpers Mina Almasry
2024-03-28 17:07   ` kernel test robot [this message]
2024-03-28 17:18   ` kernel test robot
2024-03-27 21:45 ` [PATCH net-next v2 3/3] net: remove napi_frag_unref Mina Almasry

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=202403290006.WfusvToB-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=almasrymina@google.com \
    --cc=ayush.sawal@chelsio.com \
    --cc=borisp@nvidia.com \
    --cc=dsahern@kernel.org \
    --cc=dtatulea@nvidia.com \
    --cc=edumazet@google.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=john.fastabend@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=mlindner@marvell.com \
    --cc=netdev@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pabeni@redhat.com \
    --cc=steffen.klassert@secunet.com \
    --cc=stephen@networkplumber.org \
    --cc=tariqt@nvidia.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.