Re: [PATCH net] igmp: convert struct ip_sf_list to RCU
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild-all,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
Hi Eric, kernel test robot noticed the following build warnings: [auto build test WARNING on net/main] url: https://github.com/intel-lab-lkp/linux/commits/Eric-Dumazet/igmp-convert-struct-ip_sf_list-to-RCU/20260826-115913 base: net/main patch link: https://lore.kernel.org/r/20260826115913.3381537-1-edumazet%40google.com patch subject: [PATCH net] igmp: convert struct ip_sf_list to RCU config: i386-randconfig-062-20260827 (https://download.01.org/0day-ci/archive/20260827/[email protected]/config) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 sparse: v0.6.5-rc1 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260827/[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 | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ sparse warnings: (new ones prefixed by >>) net/ipv4/igmp.c: note: in included file (through include/linux/igmp.h): include/uapi/linux/igmp.h:60:32: sparse: sparse: array of flexible structures >> net/ipv4/igmp.c:3114:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct ip_sf_list *psf @@ got struct ip_sf_list [noderef] __rcu *sf_next @@ net/ipv4/igmp.c:3114:13: sparse: expected struct ip_sf_list *psf net/ipv4/igmp.c:3114:13: sparse: got struct ip_sf_list [noderef] __rcu *sf_next >> net/ipv4/igmp.c:3130:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct ip_sf_list *psf @@ got struct ip_sf_list [noderef] __rcu *sources @@ net/ipv4/igmp.c:3130:21: sparse: expected struct ip_sf_list *psf net/ipv4/igmp.c:3130:21: sparse: got struct ip_sf_list [noderef] __rcu *sources net/ipv4/igmp.c:3098:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct ip_sf_list *psf @@ got struct ip_sf_list [noderef] __rcu *sources @@ net/ipv4/igmp.c:3098:29: sparse: expected struct ip_sf_list *psf net/ipv4/igmp.c:3098:29: sparse: got struct ip_sf_list [noderef] __rcu *sources net/ipv4/igmp.c:3098:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct ip_sf_list *psf @@ got struct ip_sf_list [noderef] __rcu *sources @@ net/ipv4/igmp.c:3098:29: sparse: expected struct ip_sf_list *psf net/ipv4/igmp.c:3098:29: sparse: got struct ip_sf_list [noderef] __rcu *sources vim +3114 net/ipv4/igmp.c ^1da177e4c3f41 Linus Torvalds 2005-04-16 3109 ^1da177e4c3f41 Linus Torvalds 2005-04-16 3110 static struct ip_sf_list *igmp_mcf_get_next(struct seq_file *seq, struct ip_sf_list *psf) ^1da177e4c3f41 Linus Torvalds 2005-04-16 3111 { ^1da177e4c3f41 Linus Torvalds 2005-04-16 3112 struct igmp_mcf_iter_state *state = igmp_mcf_seq_private(seq); ^1da177e4c3f41 Linus Torvalds 2005-04-16 3113 ^1da177e4c3f41 Linus Torvalds 2005-04-16 @3114 psf = psf->sf_next; ^1da177e4c3f41 Linus Torvalds 2005-04-16 3115 while (!psf) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 3116 spin_unlock_bh(&state->im->lock); ^1da177e4c3f41 Linus Torvalds 2005-04-16 3117 state->im = state->im->next; ^1da177e4c3f41 Linus Torvalds 2005-04-16 3118 while (!state->im) { 6baff15037693c Eric Dumazet 2009-11-11 3119 state->dev = next_net_device_rcu(state->dev); ^1da177e4c3f41 Linus Torvalds 2005-04-16 3120 if (!state->dev) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 3121 state->idev = NULL; ^1da177e4c3f41 Linus Torvalds 2005-04-16 3122 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 3123 } 6baff15037693c Eric Dumazet 2009-11-11 3124 state->idev = __in_dev_get_rcu(state->dev); ^1da177e4c3f41 Linus Torvalds 2005-04-16 3125 if (!state->idev) ^1da177e4c3f41 Linus Torvalds 2005-04-16 3126 continue; 1d7138de878d1d Eric Dumazet 2010-11-12 3127 state->im = rcu_dereference(state->idev->mc_list); ^1da177e4c3f41 Linus Torvalds 2005-04-16 3128 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 3129 spin_lock_bh(&state->im->lock); ^1da177e4c3f41 Linus Torvalds 2005-04-16 @3130 psf = state->im->sources; ^1da177e4c3f41 Linus Torvalds 2005-04-16 3131 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 3132 out: ^1da177e4c3f41 Linus Torvalds 2005-04-16 3133 return psf; ^1da177e4c3f41 Linus Torvalds 2005-04-16 3134 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 3135 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki