net/netfilter/nft_synproxy.c:51:40: sparse: sparse: cast to non-scalar
kernel test robot <[email protected]> Thu, 06 Aug 2026 13:56:46 +0800
| Newsgroups | dev.linux.lists.oe-kbuild-all,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 0d839570765118029aa8bf4a95444c6a11aacf85 commit: 36a3200575642846a96436d503d46544533bb943 netfilter: nft_synproxy: avoid possible data-race on update operation date: 7 months ago config: alpha-randconfig-r111-20260806 (https://download.01.org/0day-ci/archive/20260806/[email protected]/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/20260806/[email protected]/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 | Fixes: 36a320057564 ("netfilter: nft_synproxy: avoid possible data-race on update operation") | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ 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 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 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki