CC: kbuild-all(a)lists.01.org TO: "Christoph, Hellwig," CC: Al Viro tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: e7b08814b16b80a0bf76eeca16317f8c2ed23b8c commit: 32927393dc1ccd60fb2bdc05b9e8e88753761469 [3942/14131] sysctl: pass kernel pointers to ->proc_handler :::::: branch date: 3 days ago :::::: commit date: 5 weeks ago config: i386-randconfig-s002-20200601 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.1-243-gc100a7ab-dirty git checkout 32927393dc1ccd60fb2bdc05b9e8e88753761469 # save the attached .config to linux build tree make W=1 C=1 ARCH=i386 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot sparse warnings: (new ones prefixed by >>) net/core/neighbour.c:3460:5: sparse: sparse: symbol 'neigh_proc_dointvec' redeclared with different type (incompatible argument 3 (different address spaces)): >> net/core/neighbour.c:3460:5: sparse: int extern [addressable] [signed] [toplevel] neigh_proc_dointvec( ... ) >> include/net/neighbour.h:394:5: sparse: note: previously declared as: include/net/neighbour.h:394:5: sparse: int extern [addressable] [signed] [toplevel] neigh_proc_dointvec( ... ) net/core/neighbour.c:3470:5: sparse: sparse: symbol 'neigh_proc_dointvec_jiffies' redeclared with different type (incompatible argument 3 (different address spaces)): >> net/core/neighbour.c:3470:5: sparse: int extern [addressable] [signed] [toplevel] neigh_proc_dointvec_jiffies( ... ) include/net/neighbour.h:396:5: sparse: note: previously declared as: >> include/net/neighbour.h:396:5: sparse: int extern [addressable] [signed] [toplevel] neigh_proc_dointvec_jiffies( ... ) net/core/neighbour.c:3490:5: sparse: sparse: symbol 'neigh_proc_dointvec_ms_jiffies' redeclared with different type (incompatible argument 3 (different address spaces)): net/core/neighbour.c:3490:5: sparse: int extern [addressable] [signed] [toplevel] neigh_proc_dointvec_ms_jiffies( ... ) include/net/neighbour.h:399:5: sparse: note: previously declared as: include/net/neighbour.h:399:5: sparse: int extern [addressable] [signed] [toplevel] neigh_proc_dointvec_ms_jiffies( ... ) net/core/neighbour.c:348:12: sparse: sparse: context imbalance in '__neigh_ifdown' - wrong count at exit net/core/neighbour.c:803:9: sparse: sparse: context imbalance in 'pneigh_ifdown_and_unlock' - unexpected unlock -- drivers/char/random.c:2100:50: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void * @@ got void [noderef] *buffer @@ >> drivers/char/random.c:2100:50: sparse: expected void * drivers/char/random.c:2100:50: sparse: got void [noderef] *buffer drivers/char/random.c:2117:35: sparse: sparse: incorrect type in initializer (incompatible argument 3 (different address spaces)) @@ expected int ( [usertype] *proc_handler )( ... ) @@ got int ( * )( ... ) @@ drivers/char/random.c:2117:35: sparse: expected int ( [usertype] *proc_handler )( ... ) >> drivers/char/random.c:2117:35: sparse: got int ( * )( ... ) -- net/ipv6/ndisc.c:1850:55: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] *buffer @@ got void *buffer @@ >> net/ipv6/ndisc.c:1850:55: sparse: expected void [noderef] *buffer net/ipv6/ndisc.c:1850:55: sparse: got void *buffer net/ipv6/ndisc.c:1854:51: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] *buffer @@ got void *buffer @@ net/ipv6/ndisc.c:1854:51: sparse: expected void [noderef] *buffer net/ipv6/ndisc.c:1854:51: sparse: got void *buffer net/ipv6/ndisc.c:1859:54: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] *buffer @@ got void *buffer @@ net/ipv6/ndisc.c:1859:54: sparse: expected void [noderef] *buffer net/ipv6/ndisc.c:1859:54: sparse: got void *buffer net/ipv6/ndisc.c:1838:5: sparse: sparse: symbol 'ndisc_ifinfo_sysctl_change' redeclared with different type (incompatible argument 3 (different address spaces)): net/ipv6/ndisc.c:1838:5: sparse: int extern [addressable] [signed] [toplevel] ndisc_ifinfo_sysctl_change( ... ) include/net/ndisc.h:496:5: sparse: note: previously declared as: include/net/ndisc.h:496:5: sparse: int extern [addressable] [signed] [toplevel] ndisc_ifinfo_sysctl_change( ... ) include/net/addrconf.h:478:36: sparse: sparse: restricted __be32 degrades to integer # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=32927393dc1ccd60fb2bdc05b9e8e88753761469 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git remote update linux-next git checkout 32927393dc1ccd60fb2bdc05b9e8e88753761469 vim +3460 net/core/neighbour.c 1f9248e5606afc Jiri Pirko 2013-12-07 3459 32927393dc1ccd Christoph Hellwig 2020-04-24 @3460 int neigh_proc_dointvec(struct ctl_table *ctl, int write, void *buffer, 32927393dc1ccd Christoph Hellwig 2020-04-24 3461 size_t *lenp, loff_t *ppos) cb5b09c17fe600 Jiri Pirko 2013-12-07 3462 { 1d4c8c29841b99 Jiri Pirko 2013-12-07 3463 int ret = proc_dointvec(ctl, write, buffer, lenp, ppos); 1d4c8c29841b99 Jiri Pirko 2013-12-07 3464 1d4c8c29841b99 Jiri Pirko 2013-12-07 3465 neigh_proc_update(ctl, write); 1d4c8c29841b99 Jiri Pirko 2013-12-07 3466 return ret; cb5b09c17fe600 Jiri Pirko 2013-12-07 3467 } cb5b09c17fe600 Jiri Pirko 2013-12-07 3468 EXPORT_SYMBOL(neigh_proc_dointvec); cb5b09c17fe600 Jiri Pirko 2013-12-07 3469 32927393dc1ccd Christoph Hellwig 2020-04-24 @3470 int neigh_proc_dointvec_jiffies(struct ctl_table *ctl, int write, void *buffer, cb5b09c17fe600 Jiri Pirko 2013-12-07 3471 size_t *lenp, loff_t *ppos) cb5b09c17fe600 Jiri Pirko 2013-12-07 3472 { 1d4c8c29841b99 Jiri Pirko 2013-12-07 3473 int ret = proc_dointvec_jiffies(ctl, write, buffer, lenp, ppos); 1d4c8c29841b99 Jiri Pirko 2013-12-07 3474 1d4c8c29841b99 Jiri Pirko 2013-12-07 3475 neigh_proc_update(ctl, write); 1d4c8c29841b99 Jiri Pirko 2013-12-07 3476 return ret; cb5b09c17fe600 Jiri Pirko 2013-12-07 3477 } cb5b09c17fe600 Jiri Pirko 2013-12-07 3478 EXPORT_SYMBOL(neigh_proc_dointvec_jiffies); cb5b09c17fe600 Jiri Pirko 2013-12-07 3479 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org