mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* net/netfilter/nfnetlink_cthelper.c:254:22: sparse: sparse: incorrect type in assignment (different address spaces)
@ 2026-09-23 10:49 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-23 10:49 UTC (permalink / raw)
  To: Pablo Neira Ayuso; +Cc: oe-kbuild-all, linux-kernel

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   fe2ec83746e501645709761605c2464a44fd2929
commit: ac46f3f35b6e68fb062ae7cf780d516c0cf4c00a netfilter: nf_conntrack_helper: add refcounting from datapath
date:   4 months ago
config: parisc-randconfig-r1301-20260923 (https://download.01.org/0day-ci/archive/20260923/202609231853.Y4WT9aF7-lkp@intel.com/config)
compiler: hppa-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/20260923/202609231853.Y4WT9aF7-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
| Fixes: ac46f3f35b6e ("netfilter: nf_conntrack_helper: add refcounting from datapath")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609231853.Y4WT9aF7-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> net/netfilter/nfnetlink_cthelper.c:254:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int ( [noderef] __rcu *help )( ... ) @@     got int ( * )( ... ) @@
   net/netfilter/nfnetlink_cthelper.c:254:22: sparse:     expected int ( [noderef] __rcu *help )( ... )
   net/netfilter/nfnetlink_cthelper.c:254:22: sparse:     got int ( * )( ... )

vim +254 net/netfilter/nfnetlink_cthelper.c

12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  212  
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  213  static int
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  214  nfnl_cthelper_create(const struct nlattr * const tb[],
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  215  		     struct nf_conntrack_tuple *tuple)
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  216  {
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  217  	struct nf_conntrack_helper *helper;
83d90219a5df8d9 Liping Zhang      2017-03-25  218  	struct nfnl_cthelper *nfcth;
157ffffeb5dc1b5 Florian Westphal  2017-04-16  219  	unsigned int size;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  220  	int ret;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  221  
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  222  	if (!tb[NFCTH_TUPLE] || !tb[NFCTH_POLICY] || !tb[NFCTH_PRIV_DATA_LEN])
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  223  		return -EINVAL;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  224  
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  225  	nfcth = kzalloc_obj(*nfcth, GFP_KERNEL_ACCOUNT);
83d90219a5df8d9 Liping Zhang      2017-03-25  226  	if (nfcth == NULL)
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  227  		return -ENOMEM;
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  228  
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  229  	helper = kzalloc_obj(*helper, GFP_KERNEL_ACCOUNT);
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  230  	if (!helper) {
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  231  		ret = -ENOMEM;
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  232  		goto err_cth;
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  233  	}
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  234  
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  235  	nfcth->helper = helper;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  236  
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  237  	ret = nfnl_cthelper_parse_expect_policy(helper, tb[NFCTH_POLICY]);
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  238  	if (ret < 0)
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  239  		goto err_helper;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  240  
872f690341948b5 Francis Laniel    2020-11-15  241  	nla_strscpy(helper->name,
4b83a9049a983b2 Eric Dumazet      2018-05-21  242  		    tb[NFCTH_NAME], NF_CT_HELPER_NAME_LEN);
157ffffeb5dc1b5 Florian Westphal  2017-04-16  243  	size = ntohl(nla_get_be32(tb[NFCTH_PRIV_DATA_LEN]));
c593642c8be0469 Pankaj Bharadiya  2019-12-09  244  	if (size > sizeof_field(struct nf_conn_help, data)) {
157ffffeb5dc1b5 Florian Westphal  2017-04-16  245  		ret = -ENOMEM;
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  246  		goto err_helper;
157ffffeb5dc1b5 Florian Westphal  2017-04-16  247  	}
703acd70f249653 Pablo Neira Ayuso 2020-05-24  248  	helper->data_len = size;
157ffffeb5dc1b5 Florian Westphal  2017-04-16  249  
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  250  	helper->flags |= NF_CT_HELPER_F_USERSPACE;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  251  	memcpy(&helper->tuple, tuple, sizeof(struct nf_conntrack_tuple));
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  252  
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  253  	helper->me = THIS_MODULE;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13 @254  	helper->help = nfnl_userspace_cthelper;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  255  	helper->from_nlattr = nfnl_cthelper_from_nlattr;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  256  	helper->to_nlattr = nfnl_cthelper_to_nlattr;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  257  
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  258  	/* Default to queue number zero, this can be updated at any time. */
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  259  	if (tb[NFCTH_QUEUE_NUM])
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  260  		helper->queue_num = ntohl(nla_get_be32(tb[NFCTH_QUEUE_NUM]));
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  261  
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  262  	if (tb[NFCTH_STATUS]) {
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  263  		int status = ntohl(nla_get_be32(tb[NFCTH_STATUS]));
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  264  
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  265  		switch(status) {
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  266  		case NFCT_HELPER_STATUS_ENABLED:
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  267  			helper->flags |= NF_CT_HELPER_F_CONFIGURED;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  268  			break;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  269  		case NFCT_HELPER_STATUS_DISABLED:
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  270  			helper->flags &= ~NF_CT_HELPER_F_CONFIGURED;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  271  			break;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  272  		}
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  273  	}
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  274  
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  275  	ret = __nf_conntrack_helper_register(helper);
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  276  	if (ret < 0)
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  277  		goto err_helper;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  278  
83d90219a5df8d9 Liping Zhang      2017-03-25  279  	list_add_tail(&nfcth->list, &nfnl_cthelper_list);
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  280  	return 0;
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  281  err_helper:
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  282  	kfree(helper);
6031487d4e273d7 Pablo Neira Ayuso 2026-06-04  283  err_cth:
83d90219a5df8d9 Liping Zhang      2017-03-25  284  	kfree(nfcth);
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  285  	return ret;
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  286  }
12f7a505331e6b2 Pablo Neira Ayuso 2012-05-13  287  

:::::: The code at line 254 was first introduced by commit
:::::: 12f7a505331e6b2754684b509f2ac8f0011ce644 netfilter: add user-space connection tracking helper infrastructure

:::::: TO: Pablo Neira Ayuso <pablo@netfilter.org>
:::::: CC: Pablo Neira Ayuso <pablo@netfilter.org>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-23 10:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-23 10:49 net/netfilter/nfnetlink_cthelper.c:254:22: sparse: sparse: incorrect type in assignment (different address spaces) kernel test robot

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®