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
next prev 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®