diff options
| author | Hamza Mahfooz <hamzamahfooz@linux.microsoft.com> | 2026-06-23 11:24:29 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2026-07-10 11:21:17 +0200 |
| commit | f6cff820877ff34839920ff9de9b912359cfb607 (patch) | |
| tree | 2e163e80eff5ab12a73e9e0753316099dea085ac /arch/x86/kernel | |
| parent | 8cdeaa50eae8dad34885515f62559ee83e7e8dda (diff) | |
| download | linux-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/x86/kernel')
| -rw-r--r-- | arch/x86/kernel/vmlinux.lds.S | 6 |
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 \ |
