From: Fernando Fernandez Mancera <fmancera@suse.de>
To: kernel test robot <lkp@intel.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
Florian Westphal <fw@strlen.de>
Subject: Re: net/netfilter/nft_synproxy.c:51:40: sparse: sparse: cast to non-scalar
Date: Sun, 8 Mar 2026 20:15:32 +0100 [thread overview]
Message-ID: <ea2aaffb-c124-4fcb-9070-a13603f06393@suse.de> (raw)
In-Reply-To: <202603082002.ACHbGTsI-lkp@intel.com>
On 3/8/26 1:21 PM, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: c23719abc3308df7ed3ad35650ad211fb2d2003d
> commit: 36a3200575642846a96436d503d46544533bb943 netfilter: nft_synproxy: avoid possible data-race on update operation
> date: 9 weeks ago
> config: alpha-randconfig-r132-20260308 (https://download.01.org/0day-ci/archive/20260308/202603082002.ACHbGTsI-lkp@intel.com/config)
> compiler: alpha-linux-gcc (GCC) 8.5.0
> sparse: v0.6.5-rc1
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260308/202603082002.ACHbGTsI-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/202603082002.ACHbGTsI-lkp@intel.com/
>
> sparse warnings: (new ones prefixed by >>)
>>> net/netfilter/nft_synproxy.c:51:40: sparse: sparse: cast to non-scalar
>>> net/netfilter/nft_synproxy.c:51:40: sparse: sparse: cast from non-scalar
> net/netfilter/nft_synproxy.c:82:40: sparse: sparse: cast to non-scalar
> net/netfilter/nft_synproxy.c:82:40: sparse: sparse: cast from non-scalar
>
Hi,
Is this a false positive? nf_synproxy_info struct is smaller than the
word size and therefore READ_ONCE() should be fine. I guess I can use
READ_ONCE() for every struct field.
What do you think Florian?
Thanks,
Fernando.
> vim +51 net/netfilter/nft_synproxy.c
>
> 43
> 44 static void nft_synproxy_eval_v4(const struct nft_synproxy *priv,
> 45 struct nft_regs *regs,
> 46 const struct nft_pktinfo *pkt,
> 47 const struct tcphdr *tcp,
> 48 struct tcphdr *_tcph,
> 49 struct synproxy_options *opts)
> 50 {
> > 51 struct nf_synproxy_info info = READ_ONCE(priv->info);
> 52 struct net *net = nft_net(pkt);
> 53 struct synproxy_net *snet = synproxy_pernet(net);
> 54 struct sk_buff *skb = pkt->skb;
> 55
> 56 if (tcp->syn) {
> 57 /* Initial SYN from client */
> 58 nft_synproxy_tcp_options(opts, tcp, snet, &info, priv);
> 59 synproxy_send_client_synack(net, skb, tcp, opts);
> 60 consume_skb(skb);
> 61 regs->verdict.code = NF_STOLEN;
> 62 } else if (tcp->ack) {
> 63 /* ACK from client */
> 64 if (synproxy_recv_client_ack(net, skb, tcp, opts,
> 65 ntohl(tcp->seq))) {
> 66 consume_skb(skb);
> 67 regs->verdict.code = NF_STOLEN;
> 68 } else {
> 69 regs->verdict.code = NF_DROP;
> 70 }
> 71 }
> 72 }
> 73
>
next prev parent reply other threads:[~2026-03-08 19:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-08 12:21 kernel test robot
2026-03-08 19:15 ` Fernando Fernandez Mancera [this message]
2026-03-09 21:46 ` Florian Westphal
2026-08-06 5:56 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=ea2aaffb-c124-4fcb-9070-a13603f06393@suse.de \
--to=fmancera@suse.de \
--cc=fw@strlen.de \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--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
all inboxes | Powered by JetHome®