x86/mm: Add missing <asm/cpufeatures.h> dependency to <asm/page_64.h>
authorIngo Molnar <mingo@kernel.org>
Tue, 16 Nov 2021 05:13:05 +0000 (06:13 +0100)
committerDave Hansen <dave.hansen@linux.intel.com>
Fri, 3 Dec 2021 17:30:45 +0000 (09:30 -0800)
In the following commit:

  025768a966a3 x86/cpu: Use alternative to generate the TASK_SIZE_MAX constant

... we added the new task_size_max() inline, which uses X86_FEATURE_LA57,
but doesn't include <asm/cpufeatures.h> which defines the constant.

Due to the way alternatives macros work currently this doesn't get reported as an
immediate build error, only as a link error, if a .c file happens to include
<asm/page.h> first:

   > ld: kernel/fork.o:(.altinstructions+0x98): undefined reference to `X86_FEATURE_LA57'

In the current upstream kernel no .c file includes <asm/page.h> before including
some other header that includes <asm/cpufeatures.h>, which is why this dependency
bug went unnoticed.

Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/include/asm/page_64.h

index 4bde0dc66100cd6d8207f317b2eec59ebc5cc57a..e9c86299b835144c9df4d8e72c502ac8ac0101ef 100644 (file)
@@ -5,6 +5,7 @@
 #include <asm/page_64_types.h>
 
 #ifndef __ASSEMBLY__
+#include <asm/cpufeatures.h>
 #include <asm/alternative.h>
 
 /* duplicated to the one in bootmem.h */