Re: [PATCH] [v2] x86/cpu: Help users notice when running old Intel microcode

From: kernel test robot
Date: Thu Nov 21 2024 - 19:22:44 EST


Hi Dave,

kernel test robot noticed the following build warnings:

[auto build test WARNING on driver-core/driver-core-linus]
[also build test WARNING on linus/master v6.12 next-20241121]
[cannot apply to tip/x86/core tip/auto-latest tip/smp/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Dave-Hansen/x86-cpu-Help-users-notice-when-running-old-Intel-microcode/20241121-141349
base: driver-core/driver-core-linus
patch link: https://lore.kernel.org/r/20241120185835.485F3BDA%40davehans-spike.ostc.intel.com
patch subject: [PATCH] [v2] x86/cpu: Help users notice when running old Intel microcode
config: x86_64-randconfig-123-20241121 (https://download.01.org/0day-ci/archive/20241122/202411220850.Ev9wmbR6-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/20241122/202411220850.Ev9wmbR6-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/202411220850.Ev9wmbR6-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
arch/x86/kernel/cpu/common.c:200:1: sparse: sparse: symbol 'gdt_page' redeclared with different type (different address spaces):
arch/x86/kernel/cpu/common.c:200:1: sparse: struct gdt_page [addressable] [noderef] [toplevel] __percpu gdt_page
arch/x86/kernel/cpu/common.c: note: in included file (through arch/x86/include/asm/stackprotector.h, include/linux/stackprotector.h):
arch/x86/include/asm/desc.h:49:1: sparse: note: previously declared as:
arch/x86/include/asm/desc.h:49:1: sparse: struct gdt_page extern [addressable] [toplevel] gdt_page
>> arch/x86/kernel/cpu/common.c:1321:19: sparse: sparse: symbol 'cpu_latest_microcdoe' was not declared. Should it be static?
arch/x86/kernel/cpu/common.c:2059:1: sparse: sparse: symbol 'fixed_percpu_data' redeclared with different type (different address spaces):
arch/x86/kernel/cpu/common.c:2059:1: sparse: struct fixed_percpu_data [addressable] [noderef] [toplevel] __percpu fixed_percpu_data
arch/x86/kernel/cpu/common.c: note: in included file (through arch/x86/include/asm/cpufeature.h, arch/x86/include/asm/thread_info.h, include/linux/thread_info.h, ...):
arch/x86/include/asm/processor.h:417:1: sparse: note: previously declared as:
arch/x86/include/asm/processor.h:417:1: sparse: struct fixed_percpu_data extern [addressable] [toplevel] fixed_percpu_data
arch/x86/kernel/cpu/common.c: note: in included file (through arch/x86/include/asm/stackprotector.h, include/linux/stackprotector.h):
arch/x86/include/asm/desc.h:54:16: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct gdt_page * @@
arch/x86/include/asm/desc.h:54:16: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/include/asm/desc.h:54:16: sparse: got struct gdt_page *
arch/x86/kernel/cpu/common.c: note: in included file (through arch/x86/include/asm/cpufeature.h, arch/x86/include/asm/thread_info.h, include/linux/thread_info.h, ...):
arch/x86/include/asm/processor.h:421:31: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got char ( * )[40] @@
arch/x86/include/asm/processor.h:421:31: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/include/asm/processor.h:421:31: sparse: got char ( * )[40]
arch/x86/kernel/cpu/common.c: note: in included file (through arch/x86/include/asm/stackprotector.h, include/linux/stackprotector.h):
arch/x86/include/asm/desc.h:54:16: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct gdt_page * @@
arch/x86/include/asm/desc.h:54:16: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/include/asm/desc.h:54:16: sparse: got struct gdt_page *
arch/x86/include/asm/desc.h:54:16: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got struct gdt_page * @@
arch/x86/include/asm/desc.h:54:16: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/include/asm/desc.h:54:16: sparse: got struct gdt_page *

vim +/cpu_latest_microcdoe +1321 arch/x86/kernel/cpu/common.c

1320
> 1321 struct x86_cpu_id cpu_latest_microcdoe[] = {
1322 #include "microcode/intel-ucode-defs.h"
1323 {}
1324 };
1325

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