mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Binbin Deng <18983559317@163.com>,
	dsahern@kernel.org, idosch@nvidia.com, davem@davemloft.net,
	edumazet@google.com, kuba@kernel.org, pabeni@redhat.com,
	horms@kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	Binbin Deng <18983559317@163.com>
Subject: Re: [PATCH net v1] igmp: use copy-on-write RCU updates in ip_mc_source()
Date: Tue, 3 Nov 2026 01:49:32 +0800	[thread overview]
Message-ID: <202611030103.U23Q9Kyn-lkp@intel.com> (raw)
In-Reply-To: <20261102095312.47767-1-18983559317@163.com>

Hi Binbin,

kernel test robot noticed the following build errors:

[auto build test ERROR on net/main]

url:    https://github.com/intel-lab-lkp/linux/commits/Binbin-Deng/igmp-use-copy-on-write-RCU-updates-in-ip_mc_source/20261102-175312
base:   net/main
patch link:    https://lore.kernel.org/r/20261102095312.47767-1-18983559317%40163.com
patch subject: [PATCH net v1] igmp: use copy-on-write RCU updates in ip_mc_source()
config: hexagon-defconfig (https://download.01.org/0day-ci/archive/20261103/202611030103.U23Q9Kyn-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 65303e81f481bbfe386b8596423f94c43198ba94)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261103/202611030103.U23Q9Kyn-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/202611030103.U23Q9Kyn-lkp@intel.com/

All errors (new ones prefixed by >>):

   net/ipv4/igmp.c:2084:6: warning: variable 'changerec' set but not used [-Wunused-but-set-variable]
    2084 |         int     changerec = 0;
         |                 ^
>> net/ipv4/igmp.c:2646:1: error: function definition is not allowed here
    2646 | {
         | ^
   net/ipv4/igmp.c:2737:1: error: function definition is not allowed here
    2737 | {
         | ^
   net/ipv4/igmp.c:2802:1: error: function definition is not allowed here
    2802 | {
         | ^
   net/ipv4/igmp.c:2851:1: error: function definition is not allowed here
    2851 | {
         | ^
   net/ipv4/igmp.c:2898:1: error: function definition is not allowed here
    2898 | {
         | ^
   net/ipv4/igmp.c:2924:1: error: function definition is not allowed here
    2924 | {
         | ^
   net/ipv4/igmp.c:2977:1: error: function definition is not allowed here
    2977 | {
         | ^
   net/ipv4/igmp.c:2999:1: error: function definition is not allowed here
    2999 | {
         | ^
   net/ipv4/igmp.c:3018:1: error: function definition is not allowed here
    3018 | {
         | ^
   net/ipv4/igmp.c:3028:1: error: function definition is not allowed here
    3028 | {
         | ^
   net/ipv4/igmp.c:3034:1: error: function definition is not allowed here
    3034 | {
         | ^
   net/ipv4/igmp.c:3046:1: error: function definition is not allowed here
    3046 | {
         | ^
   net/ipv4/igmp.c:3055:1: error: function definition is not allowed here
    3055 | {
         | ^
>> net/ipv4/igmp.c:3094:11: error: use of undeclared identifier 'igmp_mc_seq_start'; did you mean 'igmp_mc_seq_ops'?
    3094 |         .start  =       igmp_mc_seq_start,
         |                         ^~~~~~~~~~~~~~~~~
         |                         igmp_mc_seq_ops
   net/ipv4/igmp.c:3093:36: note: 'igmp_mc_seq_ops' declared here
    3093 | static const struct seq_operations igmp_mc_seq_ops = {
         |                                    ^
>> net/ipv4/igmp.c:3095:10: error: use of undeclared identifier 'igmp_mc_seq_next'; did you mean 'igmp_mc_seq_ops'?
    3095 |         .next   =       igmp_mc_seq_next,
         |                         ^~~~~~~~~~~~~~~~
         |                         igmp_mc_seq_ops
   net/ipv4/igmp.c:3093:36: note: 'igmp_mc_seq_ops' declared here
    3093 | static const struct seq_operations igmp_mc_seq_ops = {
         |                                    ^
>> net/ipv4/igmp.c:3096:10: error: use of undeclared identifier 'igmp_mc_seq_stop'; did you mean 'igmp_mc_seq_ops'?
    3096 |         .stop   =       igmp_mc_seq_stop,
         |                         ^~~~~~~~~~~~~~~~
         |                         igmp_mc_seq_ops
   net/ipv4/igmp.c:3093:36: note: 'igmp_mc_seq_ops' declared here
    3093 | static const struct seq_operations igmp_mc_seq_ops = {
         |                                    ^
>> net/ipv4/igmp.c:3097:10: error: use of undeclared identifier 'igmp_mc_seq_show'; did you mean 'igmp_mc_seq_ops'?
    3097 |         .show   =       igmp_mc_seq_show,
         |                         ^~~~~~~~~~~~~~~~
         |                         igmp_mc_seq_ops
   net/ipv4/igmp.c:3093:36: note: 'igmp_mc_seq_ops' declared here
    3093 | static const struct seq_operations igmp_mc_seq_ops = {
         |                                    ^
>> net/ipv4/igmp.c:3094:11: error: initializing 'void *(*)(struct seq_file *, loff_t *)' (aka 'void *(*)(struct seq_file *, long long *)') with an expression of incompatible type 'const struct seq_operations'
    3094 |         .start  =       igmp_mc_seq_start,
         |                         ^~~~~~~~~~~~~~~~~
>> net/ipv4/igmp.c:3095:10: error: initializing 'void *(*)(struct seq_file *, void *, loff_t *)' (aka 'void *(*)(struct seq_file *, void *, long long *)') with an expression of incompatible type 'const struct seq_operations'
    3095 |         .next   =       igmp_mc_seq_next,
         |                         ^~~~~~~~~~~~~~~~
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   1 warning and 20 errors generated.


vim +2646 net/ipv4/igmp.c

^1da177e4c3f41 Linus Torvalds          2005-04-16  2644  
^1da177e4c3f41 Linus Torvalds          2005-04-16  2645  int ip_mc_msfilter(struct sock *sk, struct ip_msfilter *msf, int ifindex)
^1da177e4c3f41 Linus Torvalds          2005-04-16 @2646  {
9951f036fe8a4e David L Stevens         2005-07-08  2647  	int err = 0;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2648  	struct ip_mreqn	imr;
63007727e0bb09 Al Viro                 2006-09-27  2649  	__be32 addr = msf->imsf_multiaddr;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2650  	struct ip_mc_socklist *pmc;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2651  	struct in_device *in_dev;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2652  	struct inet_sock *inet = inet_sk(sk);
^1da177e4c3f41 Linus Torvalds          2005-04-16  2653  	struct ip_sf_socklist *newpsl, *psl;
877acedc0d3ea0 Daniel Lezcano          2008-08-13  2654  	struct net *net = sock_net(sk);
9951f036fe8a4e David L Stevens         2005-07-08  2655  	int leavegroup = 0;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2656  
f97c1e0c6ebdb6 Joe Perches             2007-12-16  2657  	if (!ipv4_is_multicast(addr))
^1da177e4c3f41 Linus Torvalds          2005-04-16  2658  		return -EINVAL;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2659  	if (msf->imsf_fmode != MCAST_INCLUDE &&
^1da177e4c3f41 Linus Torvalds          2005-04-16  2660  	    msf->imsf_fmode != MCAST_EXCLUDE)
^1da177e4c3f41 Linus Torvalds          2005-04-16  2661  		return -EINVAL;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2662  
54ff9ef36bdf84 Marcelo Ricardo Leitner 2015-03-18  2663  	ASSERT_RTNL();
^1da177e4c3f41 Linus Torvalds          2005-04-16  2664  
^1da177e4c3f41 Linus Torvalds          2005-04-16  2665  	imr.imr_multiaddr.s_addr = msf->imsf_multiaddr;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2666  	imr.imr_address.s_addr = msf->imsf_interface;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2667  	imr.imr_ifindex = ifindex;
877acedc0d3ea0 Daniel Lezcano          2008-08-13  2668  	in_dev = ip_mc_find_dev(net, &imr);
^1da177e4c3f41 Linus Torvalds          2005-04-16  2669  
^1da177e4c3f41 Linus Torvalds          2005-04-16  2670  	if (!in_dev) {
^1da177e4c3f41 Linus Torvalds          2005-04-16  2671  		err = -ENODEV;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2672  		goto done;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2673  	}
^1da177e4c3f41 Linus Torvalds          2005-04-16  2674  
9951f036fe8a4e David L Stevens         2005-07-08  2675  	/* special case - (INCLUDE, empty) == LEAVE_GROUP */
9951f036fe8a4e David L Stevens         2005-07-08  2676  	if (msf->imsf_fmode == MCAST_INCLUDE && msf->imsf_numsrc == 0) {
9951f036fe8a4e David L Stevens         2005-07-08  2677  		leavegroup = 1;
9951f036fe8a4e David L Stevens         2005-07-08  2678  		goto done;
9951f036fe8a4e David L Stevens         2005-07-08  2679  	}
9951f036fe8a4e David L Stevens         2005-07-08  2680  
1d7138de878d1d Eric Dumazet            2010-11-12  2681  	for_each_pmc_rtnl(inet, pmc) {
^1da177e4c3f41 Linus Torvalds          2005-04-16  2682  		if (pmc->multi.imr_multiaddr.s_addr == msf->imsf_multiaddr &&
^1da177e4c3f41 Linus Torvalds          2005-04-16  2683  		    pmc->multi.imr_ifindex == imr.imr_ifindex)
^1da177e4c3f41 Linus Torvalds          2005-04-16  2684  			break;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2685  	}
917f2f105ea4bb David L Stevens         2005-07-08  2686  	if (!pmc) {		/* must have a prior join */
917f2f105ea4bb David L Stevens         2005-07-08  2687  		err = -EINVAL;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2688  		goto done;
917f2f105ea4bb David L Stevens         2005-07-08  2689  	}
^1da177e4c3f41 Linus Torvalds          2005-04-16  2690  	if (msf->imsf_numsrc) {
e6a1f7e0b0fe59 Gustavo A. R. Silva     2021-08-04  2691  		newpsl = sock_kmalloc(sk, struct_size(newpsl, sl_addr,
e6a1f7e0b0fe59 Gustavo A. R. Silva     2021-08-04  2692  						      msf->imsf_numsrc),
8b3a70058bfe71 Kris Katterjohn         2006-01-11  2693  				      GFP_KERNEL);
^1da177e4c3f41 Linus Torvalds          2005-04-16  2694  		if (!newpsl) {
^1da177e4c3f41 Linus Torvalds          2005-04-16  2695  			err = -ENOBUFS;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2696  			goto done;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2697  		}
^1da177e4c3f41 Linus Torvalds          2005-04-16  2698  		newpsl->sl_max = newpsl->sl_count = msf->imsf_numsrc;
2d3e5caf96b944 Gustavo A. R. Silva     2021-07-31  2699  		memcpy(newpsl->sl_addr, msf->imsf_slist_flex,
2d3e5caf96b944 Gustavo A. R. Silva     2021-07-31  2700  		       flex_array_size(msf, imsf_slist_flex, msf->imsf_numsrc));
^1da177e4c3f41 Linus Torvalds          2005-04-16  2701  		err = ip_mc_add_src(in_dev, &msf->imsf_multiaddr,
^1da177e4c3f41 Linus Torvalds          2005-04-16  2702  			msf->imsf_fmode, newpsl->sl_count, newpsl->sl_addr, 0);
^1da177e4c3f41 Linus Torvalds          2005-04-16  2703  		if (err) {
e6a1f7e0b0fe59 Gustavo A. R. Silva     2021-08-04  2704  			sock_kfree_s(sk, newpsl,
e6a1f7e0b0fe59 Gustavo A. R. Silva     2021-08-04  2705  				     struct_size(newpsl, sl_addr,
e6a1f7e0b0fe59 Gustavo A. R. Silva     2021-08-04  2706  						 newpsl->sl_max));
^1da177e4c3f41 Linus Torvalds          2005-04-16  2707  			goto done;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2708  		}
8713dbf05754aa Yan Zheng               2005-10-28  2709  	} else {
^1da177e4c3f41 Linus Torvalds          2005-04-16  2710  		newpsl = NULL;
8713dbf05754aa Yan Zheng               2005-10-28  2711  		(void) ip_mc_add_src(in_dev, &msf->imsf_multiaddr,
8713dbf05754aa Yan Zheng               2005-10-28  2712  				     msf->imsf_fmode, 0, NULL, 0);
8713dbf05754aa Yan Zheng               2005-10-28  2713  	}
1d7138de878d1d Eric Dumazet            2010-11-12  2714  	psl = rtnl_dereference(pmc->sflist);
^1da177e4c3f41 Linus Torvalds          2005-04-16  2715  	if (psl) {
^1da177e4c3f41 Linus Torvalds          2005-04-16  2716  		(void) ip_mc_del_src(in_dev, &msf->imsf_multiaddr, pmc->sfmode,
^1da177e4c3f41 Linus Torvalds          2005-04-16  2717  			psl->sl_count, psl->sl_addr, 0);
c85bb41e93184b Flavio Leitner          2010-02-02  2718  		/* decrease mem now to avoid the memleak warning */
e6a1f7e0b0fe59 Gustavo A. R. Silva     2021-08-04  2719  		atomic_sub(struct_size(psl, sl_addr, psl->sl_max),
e6a1f7e0b0fe59 Gustavo A. R. Silva     2021-08-04  2720  			   &sk->sk_omem_alloc);
dba5bdd57bea58 Eric Dumazet            2022-04-29  2721  	} else {
^1da177e4c3f41 Linus Torvalds          2005-04-16  2722  		(void) ip_mc_del_src(in_dev, &msf->imsf_multiaddr, pmc->sfmode,
^1da177e4c3f41 Linus Torvalds          2005-04-16  2723  			0, NULL, 0);
dba5bdd57bea58 Eric Dumazet            2022-04-29  2724  	}
cf778b00e96df6 Eric Dumazet            2012-01-12  2725  	rcu_assign_pointer(pmc->sflist, newpsl);
dba5bdd57bea58 Eric Dumazet            2022-04-29  2726  	if (psl)
dba5bdd57bea58 Eric Dumazet            2022-04-29  2727  		kfree_rcu(psl, rcu);
^1da177e4c3f41 Linus Torvalds          2005-04-16  2728  	pmc->sfmode = msf->imsf_fmode;
917f2f105ea4bb David L Stevens         2005-07-08  2729  	err = 0;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2730  done:
9951f036fe8a4e David L Stevens         2005-07-08  2731  	if (leavegroup)
9951f036fe8a4e David L Stevens         2005-07-08  2732  		err = ip_mc_leave_group(sk, &imr);
^1da177e4c3f41 Linus Torvalds          2005-04-16  2733  	return err;
^1da177e4c3f41 Linus Torvalds          2005-04-16  2734  }
e12e04f5ab54cd Breno Leitao            2026-09-14  2735  

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

  parent reply	other threads:[~2026-11-02 17:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-02  9:53 Binbin Deng
2026-11-02  9:59 ` netdev-bot+sinfo
2026-11-02 15:59 ` kernel test robot
2026-11-02 17:49 ` kernel test robot [this message]
2026-11-02 18:10 ` 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=202611030103.U23Q9Kyn-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=18983559317@163.com \
    --cc=davem@davemloft.net \
    --cc=dsahern@kernel.org \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=idosch@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=netdev@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pabeni@redhat.com \
    /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®