arch/x86/kernel/cpu/bugs.c:64:9: sparse: sparse: incorrect type in initializer (different address spaces)

From: kernel test robot
Date: Mon Oct 16 2023 - 22:59:53 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 58720809f52779dc0f08e53e54b014209d13eebb
commit: 481461f5109919babbb393d6f68002936b8e2493 linux/export.h: make <linux/export.h> independent of CONFIG_MODULES
date: 3 months ago
config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20231017/202310171043.kUlpXIoN-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231017/202310171043.kUlpXIoN-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310171043.kUlpXIoN-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> arch/x86/kernel/cpu/bugs.c:64:9: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got unsigned long long * @@
arch/x86/kernel/cpu/bugs.c:64:9: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/kernel/cpu/bugs.c:64:9: sparse: got unsigned long long *
arch/x86/kernel/cpu/bugs.c:74:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got unsigned long long * @@
arch/x86/kernel/cpu/bugs.c:74:13: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/kernel/cpu/bugs.c:74:13: sparse: got unsigned long long *
arch/x86/kernel/cpu/bugs.c:77:9: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got unsigned long long * @@
arch/x86/kernel/cpu/bugs.c:77:9: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/kernel/cpu/bugs.c:77:9: sparse: got unsigned long long *
arch/x86/kernel/cpu/bugs.c:89:16: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got unsigned long long * @@
arch/x86/kernel/cpu/bugs.c:89:16: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/kernel/cpu/bugs.c:89:16: sparse: got unsigned long long *

vim +64 arch/x86/kernel/cpu/bugs.c

1b86883ccb8d5d Konrad Rzeszutek Wilk 2018-04-25 60
66065157420c5b Pawan Gupta 2022-11-30 61 /* Update SPEC_CTRL MSR and its cached copy unconditionally */
66065157420c5b Pawan Gupta 2022-11-30 62 static void update_spec_ctrl(u64 val)
66065157420c5b Pawan Gupta 2022-11-30 63 {
66065157420c5b Pawan Gupta 2022-11-30 @64 this_cpu_write(x86_spec_ctrl_current, val);
66065157420c5b Pawan Gupta 2022-11-30 65 wrmsrl(MSR_IA32_SPEC_CTRL, val);
66065157420c5b Pawan Gupta 2022-11-30 66 }
66065157420c5b Pawan Gupta 2022-11-30 67

:::::: The code at line 64 was first introduced by commit
:::::: 66065157420c5b9b3f078f43d313c153e1ff7f83 x86/bugs: Make sure MSR_SPEC_CTRL is updated properly upon resume from S3

:::::: TO: Pawan Gupta <pawan.kumar.gupta@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

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