tree: git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git arm32-ti-in-task head: 1a3074da6972ec4df258a8503ef5541362b0d0d1 commit: 59803622c2c2614e91a19cf9a00a2d96095c2132 [4/7] ARM: smp: use a per-CPU variable to record the CPU number config: arm-allyesconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/commit/?id=59803622c2c2614e91a19cf9a00a2d96095c2132 git remote add ardb git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git git fetch --no-tags ardb arm32-ti-in-task git checkout 59803622c2c2614e91a19cf9a00a2d96095c2132 # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/asm-generic/percpu.h:7, from arch/arm/include/asm/percpu.h:41, from include/linux/irqflags.h:17, from arch/arm/include/asm/bitops.h:28, from include/linux/bitops.h:33, from include/linux/kernel.h:12, from arch/arm/common/mcpm_entry.c:10: >> include/linux/percpu-defs.h:240:1: error: braced-group within expression allowed only inside a function 240 | ({ \ | ^ arch/arm/include/asm/smp.h:21:34: note: in expansion of macro 'raw_cpu_ptr' 21 | #define raw_smp_processor_id() (*raw_cpu_ptr(&cpu_number)) | ^~~~~~~~~~~ include/linux/smp.h:258:31: note: in expansion of macro 'raw_smp_processor_id' 258 | #define __smp_processor_id(x) raw_smp_processor_id(x) | ^~~~~~~~~~~~~~~~~~~~ include/linux/smp.h:265:29: note: in expansion of macro '__smp_processor_id' 265 | # define smp_processor_id() __smp_processor_id() | ^~~~~~~~~~~~~~~~~~ arch/arm/include/asm/proc-fns.h:114:52: note: in expansion of macro 'smp_processor_id' 114 | #define PROC_VTABLE(f) cpu_vtable[smp_processor_id()]->f | ^~~~~~~~~~~~~~~~ arch/arm/include/asm/proc-fns.h:137:41: note: in expansion of macro 'PROC_VTABLE' 137 | #define cpu_reset PROC_VTABLE(reset) | ^~~~~~~~~~~ arch/arm/common/mcpm_entry.c:237:16: note: in expansion of macro 'cpu_reset' 237 | typedef typeof(cpu_reset) phys_reset_t; | ^~~~~~~~~ arch/arm/common/mcpm_entry.c: In function 'mcpm_cpu_power_down': >> arch/arm/common/mcpm_entry.c:302:9: error: called object 'phys_reset' is not a function or function pointer 302 | phys_reset(__pa_symbol(mcpm_entry_point), false); | ^~~~~~~~~~ arch/arm/common/mcpm_entry.c:243:22: note: declared here 243 | phys_reset_t phys_reset; | ^~~~~~~~~~ arch/arm/common/mcpm_entry.c: In function 'nocache_trampoline': arch/arm/common/mcpm_entry.c:391:9: error: called object 'phys_reset' is not a function or function pointer 391 | phys_reset(__pa_symbol(mcpm_entry_point), false); | ^~~~~~~~~~ arch/arm/common/mcpm_entry.c:379:22: note: declared here 379 | phys_reset_t phys_reset; | ^~~~~~~~~~ -- In file included from include/asm-generic/percpu.h:7, from arch/arm/include/asm/percpu.h:41, from include/linux/irqflags.h:17, from arch/arm/include/asm/bitops.h:28, from include/linux/bitops.h:33, from include/linux/kernel.h:12, from include/linux/list.h:9, from include/linux/preempt.h:11, from include/linux/spinlock.h:55, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/mm.h:10, from arch/arm/include/asm/cacheflush.h:10, from arch/arm/include/asm/mcpm.h:30, from arch/arm/include/asm/arm-cci.h:12, from include/linux/arm-cci.h:14, from arch/arm/mach-sunxi/mc_smp.c:14: >> include/linux/percpu-defs.h:240:1: error: braced-group within expression allowed only inside a function 240 | ({ \ | ^ arch/arm/include/asm/smp.h:21:34: note: in expansion of macro 'raw_cpu_ptr' 21 | #define raw_smp_processor_id() (*raw_cpu_ptr(&cpu_number)) | ^~~~~~~~~~~ include/linux/smp.h:258:31: note: in expansion of macro 'raw_smp_processor_id' 258 | #define __smp_processor_id(x) raw_smp_processor_id(x) | ^~~~~~~~~~~~~~~~~~~~ include/linux/smp.h:265:29: note: in expansion of macro '__smp_processor_id' 265 | # define smp_processor_id() __smp_processor_id() | ^~~~~~~~~~~~~~~~~~ arch/arm/include/asm/proc-fns.h:114:52: note: in expansion of macro 'smp_processor_id' 114 | #define PROC_VTABLE(f) cpu_vtable[smp_processor_id()]->f | ^~~~~~~~~~~~~~~~ arch/arm/include/asm/proc-fns.h:137:41: note: in expansion of macro 'PROC_VTABLE' 137 | #define cpu_reset PROC_VTABLE(reset) | ^~~~~~~~~~~ arch/arm/mach-sunxi/mc_smp.c:650:16: note: in expansion of macro 'cpu_reset' 650 | typedef typeof(cpu_reset) phys_reset_t; | ^~~~~~~~~ arch/arm/mach-sunxi/mc_smp.c: In function 'nocache_trampoline': >> arch/arm/mach-sunxi/mc_smp.c:660:9: error: called object 'phys_reset' is not a function or function pointer 660 | phys_reset(__pa_symbol(sunxi_mc_smp_resume), false); | ^~~~~~~~~~ arch/arm/mach-sunxi/mc_smp.c:654:22: note: declared here 654 | phys_reset_t phys_reset; | ^~~~~~~~~~ vim +240 include/linux/percpu-defs.h 62fde54123fb64 Tejun Heo 2014-06-17 238 6fbc07bbe2b5a8 Tejun Heo 2014-06-17 239 #define raw_cpu_ptr(ptr) \ 6fbc07bbe2b5a8 Tejun Heo 2014-06-17 @240 ({ \ 6fbc07bbe2b5a8 Tejun Heo 2014-06-17 241 __verify_pcpu_ptr(ptr); \ 6fbc07bbe2b5a8 Tejun Heo 2014-06-17 242 arch_raw_cpu_ptr(ptr); \ 6fbc07bbe2b5a8 Tejun Heo 2014-06-17 243 }) 62fde54123fb64 Tejun Heo 2014-06-17 244 :::::: The code at line 240 was first introduced by commit :::::: 6fbc07bbe2b5a898532f970c5a397f8789ace0d5 percpu: invoke __verify_pcpu_ptr() from the generic part of accessors and operations :::::: TO: Tejun Heo :::::: CC: Tejun Heo --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org