Andrew, A typo was included in the patch I sent yesterday, since I was testing : #ifdef CONFIG_MODULES while the intention was to test #ifdef MODULE So that all SHARED_ALIGNED vmlinux percpu variables still are in the special section. The fix is only needed when compiling modules. Thank you [PATCH] per_cpu: fix DEFINE_PER_CPU_SHARED_ALIGNED for modules Current module loader lookups ".data.percpu" ELF section to perform per_cpu relocation. But DEFINE_PER_CPU_SHARED_ALIGNED() uses another section (".data.percpu.shared_aligned"), currently only handled in vmlinux.lds, not by module loader. To correct this problem, instead of adding logic into module loader, or using at build time a module.lds file for all arches to group ".data.percpu.shared_aligned" into ".data.percpu", just use ".data.percpu" for modules. Alignment requirements are correctly handled by ld and module loader. Signed-off-by: Eric Dumazet --- include/linux/percpu.h | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletion(-)