Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
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
> 

  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