From: Mahe Tardy <mahe.tardy@gmail.com>
To: Daniel Borkmann <daniel@iogearbox.net>
Cc: kernel test robot <lkp@intel.com>,
llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Emil Tsalapatis <emil@etsalapatis.com>,
Jordan Rife <jordan@jrife.io>
Subject: Re: [linux-next:master 5404/5655] net/core/filter.c:12578:18: warning: unused variable 'nskb'
Date: Sat, 11 Jul 2026 14:18:40 +0200 [thread overview]
Message-ID: <alI0oJ93SjUaEHPH@gmail.com> (raw)
In-Reply-To: <b58e3248-30ed-4d2b-88e6-8d23381405b6@iogearbox.net>
On Sat, Jul 11, 2026 at 01:15:27PM +0200, Daniel Borkmann wrote:
> On 7/10/26 7:37 PM, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > head: bee763d5f341b99cf472afeb508d4988f62a6ca1
> > commit: f3603df9aebb2a2fe2f745bd71ca38aeca60e6e7 [5404/5655] bpf: Add bpf_icmp_send kfunc
> > config: i386-buildonly-randconfig-001-20260710 (https://download.01.org/0day-ci/archive/20260711/202607110140.JeJZ6GIa-lkp@intel.com/config)
> > compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260711/202607110140.JeJZ6GIa-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/202607110140.JeJZ6GIa-lkp@intel.com/
> >
> > All warnings (new ones prefixed by >>):
> >
> > > > net/core/filter.c:12578:18: warning: unused variable 'nskb' [-Wunused-variable]
> > 12578 | struct sk_buff *nskb;
> > | ^~~~
> > 1 warning generated.
>
> oh well, pls send a fix, Mahe.
Yep saw that yesterday, sent the fix and got it merged by Kumar [^1].
See the commit on bpf-next[^2].
[^1]: https://lore.kernel.org/bpf/DJV5GU2AGDJB.2YWAL2MA7FM6T@gmail.com/T/#u
[^2]: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=30f77a0419382ce061b2418de81526e93be4ecf9
>
> >
> > vim +/nskb +12578 net/core/filter.c
> >
> > 12553
> > 12554 /**
> > 12555 * bpf_icmp_send - Send an ICMP control message
> > 12556 * @skb_ctx: Packet that triggered the control message
> > 12557 * @type: ICMP type (only ICMP_DEST_UNREACH/ICMPV6_DEST_UNREACH supported)
> > 12558 * @code: ICMP code (0-15 except ICMP_FRAG_NEEDED for IPv4, 0-6 for IPv6)
> > 12559 *
> > 12560 * Sends an ICMP control message in response to the packet. The original packet
> > 12561 * is cloned before sending the ICMP message, so the BPF program can still let
> > 12562 * the packet pass if desired.
> > 12563 *
> > 12564 * Currently only ICMP_DEST_UNREACH (IPv4) and ICMPV6_DEST_UNREACH (IPv6) are
> > 12565 * supported.
> > 12566 *
> > 12567 * Return: 0 on success (send attempt), negative error code on failure:
> > 12568 * -EBUSY: Recursion detected
> > 12569 * -EPROTONOSUPPORT: Non-IP protocol
> > 12570 * -EOPNOTSUPP: Unsupported ICMP type
> > 12571 * -EINVAL: Invalid code parameter
> > 12572 * -ENETUNREACH: No usable route/dst for the ICMP reply
> > 12573 * -ENOMEM: Memory allocation failed
> > 12574 */
> > 12575 __bpf_kfunc int bpf_icmp_send(struct __sk_buff *skb_ctx, int type, int code)
> > 12576 {
> > 12577 struct sk_buff *skb = (struct sk_buff *)skb_ctx;
> > 12578 struct sk_buff *nskb;
> > 12579 struct sock *sk;
> > 12580
> > 12581 sk = skb_to_full_sk(skb);
> > 12582 if (sk && sk->sk_kern_sock &&
> > 12583 (sk->sk_protocol == IPPROTO_ICMP || sk->sk_protocol == IPPROTO_ICMPV6))
> > 12584 return -EBUSY;
> > 12585
> > 12586 if (!skb_valid_dst(skb))
> > 12587 return -ENETUNREACH;
> > 12588
> > 12589 switch (skb->protocol) {
> > 12590 #if IS_ENABLED(CONFIG_INET)
> > 12591 case htons(ETH_P_IP): {
> > 12592 if (type != ICMP_DEST_UNREACH)
> > 12593 return -EOPNOTSUPP;
> > 12594 if (code < 0 || code > NR_ICMP_UNREACH ||
> > 12595 code == ICMP_FRAG_NEEDED) /* needs a valid next-hop MTU */
> > 12596 return -EINVAL;
> > 12597
> > 12598 nskb = skb_clone(skb, GFP_ATOMIC);
> > 12599 if (!nskb)
> > 12600 return -ENOMEM;
> > 12601
> > 12602 memset(IPCB(nskb), 0, sizeof(*IPCB(nskb)));
> > 12603 icmp_send(nskb, type, code, 0);
> > 12604 consume_skb(nskb);
> > 12605 break;
> > 12606 }
> > 12607 #endif
> > 12608 #if IS_ENABLED(CONFIG_IPV6)
> > 12609 case htons(ETH_P_IPV6):
> > 12610 if (type != ICMPV6_DEST_UNREACH)
> > 12611 return -EOPNOTSUPP;
> > 12612 if (code < 0 || code > ICMPV6_REJECT_ROUTE)
> > 12613 return -EINVAL;
> > 12614
> > 12615 nskb = skb_clone(skb, GFP_ATOMIC);
> > 12616 if (!nskb)
> > 12617 return -ENOMEM;
> > 12618
> > 12619 memset(IP6CB(nskb), 0, sizeof(*IP6CB(nskb)));
> > 12620 icmpv6_send(nskb, type, code, 0);
> > 12621 consume_skb(nskb);
> > 12622 break;
> > 12623 #endif
> > 12624 default:
> > 12625 return -EPROTONOSUPPORT;
> > 12626 }
> > 12627
> > 12628 return 0;
> > 12629 }
> > 12630
> >
> > --
> > 0-DAY CI Kernel Test Service
> > https://github.com/intel/lkp-tests/wiki
>
next prev parent reply other threads:[~2026-07-11 12:18 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-10 17:37 [linux-next:master 5404/5655] net/core/filter.c:12578:18: warning: unused variable 'nskb' kernel test robot
2026-07-11 11:15 ` Daniel Borkmann
2026-07-11 12:18 ` Mahe Tardy [this message]
2026-07-11 12:23 ` Daniel Borkmann
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=alI0oJ93SjUaEHPH@gmail.com \
--to=mahe.tardy@gmail.com \
--cc=daniel@iogearbox.net \
--cc=emil@etsalapatis.com \
--cc=jordan@jrife.io \
--cc=lkp@intel.com \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox