Hi all, After merging the nvdimm tree, today's linux-next build (i386 defconfig) failed like this: In file included from include/linux/bits.h:6, from include/linux/bitops.h:6, from include/linux/kernel.h:22, from arch/x86/include/asm/percpu.h:27, from arch/x86/include/asm/preempt.h:6, from include/linux/preempt.h:78, from include/linux/spinlock.h:55, from include/linux/wait.h:9, from include/linux/wait_bit.h:8, from include/linux/fs.h:6, from include/linux/highmem.h:5, from arch/x86/mm/pat/set_memory.c:6: arch/x86/mm/pat/set_memory.c: In function 'set_mce_nospec': include/vdso/bits.h:7:40: error: left shift count >= width of type [-Werror=shift-count-overflow] 7 | #define BIT(nr) (UL(1) << (nr)) | ^~ arch/x86/mm/pat/set_memory.c:1941:59: note: in expansion of macro 'BIT' 1941 | decoy_addr = (pfn << PAGE_SHIFT) + (PAGE_OFFSET ^ BIT(63)); | ^~~ Caused by commit 39702cf7885c ("x86/mce: relocate set{clear}_mce_nospec() functions") I applied the following patch for today. From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon, 16 May 2022 19:00:54 +1000 Subject: [PATCH] fix up for "x86/mce: relocate set{clear}_mce_nospec() functions" Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> --- arch/x86/mm/pat/set_memory.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c index 59d9efb4257c..9200e619d8b7 100644 --- a/arch/x86/mm/pat/set_memory.c +++ b/arch/x86/mm/pat/set_memory.c @@ -1914,6 +1914,7 @@ int set_memory_wb(unsigned long addr, int numpages) } EXPORT_SYMBOL(set_memory_wb); +#ifdef CONFIG_X86_64 /* Prevent speculative access to a page by marking it not-present */ int set_mce_nospec(unsigned long pfn) { @@ -1959,6 +1960,7 @@ int clear_mce_nospec(unsigned long pfn) return set_memory_present(&addr, 1); } EXPORT_SYMBOL_GPL(clear_mce_nospec); +#endif int set_memory_x(unsigned long addr, int numpages) { -- 2.35.1 -- Cheers, Stephen Rothwell
Attachment:
pgpejfTPUPwRs.pgp
Description: OpenPGP digital signature