[tip: x86/mm] x86/mm: Add missing <asm/cpufeatures.h> dependency to <asm/page_64.h>

From: tip-bot2 for Ingo Molnar
Date: Tue Nov 16 2021 - 00:56:41 EST


The following commit has been merged into the x86/mm branch of tip:

Commit-ID: 19c88fc96d941dd7102399bbf7f437f2b93d7e4e
Gitweb: https://git.kernel.org/tip/19c88fc96d941dd7102399bbf7f437f2b93d7e4e
Author: Ingo Molnar <mingo@xxxxxxxxxx>
AuthorDate: Tue, 16 Nov 2021 06:13:05 +01:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Tue, 16 Nov 2021 06:22:01 +01:00

x86/mm: Add missing <asm/cpufeatures.h> dependency to <asm/page_64.h>

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@xxxxxxxxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
arch/x86/include/asm/page_64.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/x86/include/asm/page_64.h b/arch/x86/include/asm/page_64.h
index 4bde0dc..e9c8629 100644
--- a/arch/x86/include/asm/page_64.h
+++ b/arch/x86/include/asm/page_64.h
@@ -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 */