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
next prev parent 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.