2024-03-01 23:39:18

by kernel test robot

[permalink] [raw]
Subject: arch/x86/kernel/cpu/debugfs.c:11:33: sparse: sparse: incorrect type in initializer (different address spaces)

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d17468c6f1f49e6259698f6401b8d7a5b90eac68
commit: 48525fd1ea1cfa059a580e77b10ea8790914efa2 x86/cpu: Provide debug interface
date: 5 months ago
config: x86_64-randconfig-121-20240301 (https://download.01.org/0day-ci/archive/20240302/[email protected]/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240302/[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 >>)


vim +11 arch/x86/kernel/cpu/debugfs.c

7
8 static int cpu_debug_show(struct seq_file *m, void *p)
9 {
10 unsigned long cpu = (unsigned long)m->private;
> 11 struct cpuinfo_x86 *c = per_cpu_ptr(&cpu_info, cpu);
12
13 seq_printf(m, "online: %d\n", cpu_online(cpu));
14 if (!c->initialized)
15 return 0;
16
17 seq_printf(m, "initial_apicid: %x\n", c->topo.initial_apicid);
18 seq_printf(m, "apicid: %x\n", c->topo.apicid);
19 seq_printf(m, "pkg_id: %u\n", c->topo.pkg_id);
20 seq_printf(m, "die_id: %u\n", c->topo.die_id);
21 seq_printf(m, "cu_id: %u\n", c->topo.cu_id);
22 seq_printf(m, "core_id: %u\n", c->topo.core_id);
23 seq_printf(m, "logical_pkg_id: %u\n", c->topo.logical_pkg_id);
24 seq_printf(m, "logical_die_id: %u\n", c->topo.logical_die_id);
25 seq_printf(m, "llc_id: %u\n", c->topo.llc_id);
26 seq_printf(m, "l2c_id: %u\n", c->topo.l2c_id);
27 seq_printf(m, "max_cores: %u\n", c->x86_max_cores);
28 seq_printf(m, "max_die_per_pkg: %u\n", __max_die_per_package);
29 seq_printf(m, "smp_num_siblings: %u\n", smp_num_siblings);
30 return 0;
31 }
32

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


2024-03-01 23:52:44

by Thomas Gleixner

[permalink] [raw]
Subject: Re: arch/x86/kernel/cpu/debugfs.c:11:33: sparse: sparse: incorrect type in initializer (different address spaces)

On Sat, Mar 02 2024 at 07:38, kernel test robot wrote:

> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: d17468c6f1f49e6259698f6401b8d7a5b90eac68
> commit: 48525fd1ea1cfa059a580e77b10ea8790914efa2 x86/cpu: Provide debug interface
> date: 5 months ago
> config: x86_64-randconfig-121-20240301 (https://download.01.org/0day-ci/archive/20240302/[email protected]/config)
> compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240302/[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 >>)
>
>
> vim +11 arch/x86/kernel/cpu/debugfs.c
>
> 7
> 8 static int cpu_debug_show(struct seq_file *m, void *p)
> 9 {
> 10 unsigned long cpu = (unsigned long)m->private;
> > 11 struct cpuinfo_x86 *c = per_cpu_ptr(&cpu_info, cpu);

This is the line which allegdly causes that new bogus warning, but your
report does not include the warning itself. How useful...

Though don't bother to send me the warning. It's going to be completely
bogus anyway as all the other ones.

Thanks,

tglx


2024-03-02 13:04:51

by kernel test robot

[permalink] [raw]
Subject: Re: arch/x86/kernel/cpu/debugfs.c:11:33: sparse: sparse: incorrect type in initializer (different address spaces)

On Sat, Mar 02, 2024 at 07:38:31AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: d17468c6f1f49e6259698f6401b8d7a5b90eac68
> commit: 48525fd1ea1cfa059a580e77b10ea8790914efa2 x86/cpu: Provide debug interface
> date: 5 months ago
> config: x86_64-randconfig-121-20240301 (https://download.01.org/0day-ci/archive/20240302/[email protected]/config)
> compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240302/[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 >>)

Sorry for the empty warning here. The actual sparse warning is:

arch/x86/kernel/cpu/debugfs.c:11:33: sparse: sparse: incorrect type in initializer (different address spaces)
arch/x86/kernel/cpu/debugfs.c:11:33: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/kernel/cpu/debugfs.c:11:33: sparse: got struct cpuinfo_x86 *

>
>
> vim +11 arch/x86/kernel/cpu/debugfs.c
>
> 7
> 8 static int cpu_debug_show(struct seq_file *m, void *p)
> 9 {
> 10 unsigned long cpu = (unsigned long)m->private;
> > 11 struct cpuinfo_x86 *c = per_cpu_ptr(&cpu_info, cpu);
> 12
> 13 seq_printf(m, "online: %d\n", cpu_online(cpu));
> 14 if (!c->initialized)
> 15 return 0;
> 16
> 17 seq_printf(m, "initial_apicid: %x\n", c->topo.initial_apicid);
> 18 seq_printf(m, "apicid: %x\n", c->topo.apicid);
> 19 seq_printf(m, "pkg_id: %u\n", c->topo.pkg_id);
> 20 seq_printf(m, "die_id: %u\n", c->topo.die_id);
> 21 seq_printf(m, "cu_id: %u\n", c->topo.cu_id);
> 22 seq_printf(m, "core_id: %u\n", c->topo.core_id);
> 23 seq_printf(m, "logical_pkg_id: %u\n", c->topo.logical_pkg_id);
> 24 seq_printf(m, "logical_die_id: %u\n", c->topo.logical_die_id);
> 25 seq_printf(m, "llc_id: %u\n", c->topo.llc_id);
> 26 seq_printf(m, "l2c_id: %u\n", c->topo.l2c_id);
> 27 seq_printf(m, "max_cores: %u\n", c->x86_max_cores);
> 28 seq_printf(m, "max_die_per_pkg: %u\n", __max_die_per_package);
> 29 seq_printf(m, "smp_num_siblings: %u\n", smp_num_siblings);
> 30 return 0;
> 31 }
> 32
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>