summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorHamza Mahfooz <hamzamahfooz@linux.microsoft.com>2026-06-23 11:24:29 -0400
committerIngo Molnar <mingo@kernel.org>2026-07-10 11:21:17 +0200
commitf6cff820877ff34839920ff9de9b912359cfb607 (patch)
tree2e163e80eff5ab12a73e9e0753316099dea085ac /arch
parent8cdeaa50eae8dad34885515f62559ee83e7e8dda (diff)
downloadlinux-next-f6cff820877ff34839920ff9de9b912359cfb607.tar.gz
linux-next-f6cff820877ff34839920ff9de9b912359cfb607.zip
x86/build: Only align ENTRY_TEXT to PMD_SIZE if necessary
PTI requires the begin and end of ENTRY_TEXT be aligned to PMD_SIZE. SRSO requires srso_alias_untrain_ret to be 2M aligned. This costs between 2-4 MiB of RAM (depending on the size of the preceding section). So, only align when either of the two are enabled. Co-developed-by: Jared White <jaredwhite@microsoft.com> Signed-off-by: Jared White <jaredwhite@microsoft.com> Signed-off-by: Hamza Mahfooz <hamzamahfooz@linux.microsoft.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://patch.msgid.link/20260623152430.1473481-1-hamzamahfooz@linux.microsoft.com
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/vmlinux.lds.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 74e336d7f9dd..10caf92d075d 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -65,9 +65,15 @@ const_cpu_current_top_of_stack = cpu_current_top_of_stack;
__end_rodata_hpage_align = .; \
__end_rodata_aligned = .;
+#if defined(CONFIG_MITIGATION_PAGE_TABLE_ISOLATION) || defined(CONFIG_MITIGATION_SRSO)
#define ALIGN_ENTRY_TEXT_BEGIN . = ALIGN(PMD_SIZE);
#define ALIGN_ENTRY_TEXT_END . = ALIGN(PMD_SIZE);
#else
+#define ALIGN_ENTRY_TEXT_BEGIN
+#define ALIGN_ENTRY_TEXT_END
+#endif
+
+#else
#define X86_ALIGN_RODATA_BEGIN
#define X86_ALIGN_RODATA_END \