summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Morse <james.morse@arm.com>2021-11-18 14:02:30 +0000
committerJames Morse <james.morse@arm.com>2022-02-15 17:40:03 +0000
commit13d7a08352a83ef2252aeb464a5e08dfc06b5dfd (patch)
treebf02ab5bfe648e5a2162909c865590380218866b
parented50da7764535f1e24432ded289974f2bf2b0c5a (diff)
downloadlinux-stable-13d7a08352a83ef2252aeb464a5e08dfc06b5dfd.tar.gz
linux-stable-13d7a08352a83ef2252aeb464a5e08dfc06b5dfd.tar.bz2
linux-stable-13d7a08352a83ef2252aeb464a5e08dfc06b5dfd.zip
arm64: entry: Move trampoline macros out of ifdef'd section
The macros for building the kpti trampoline are all behind CONFIG_UNMAP_KERNEL_AT_EL0, and in a region that outputs to the .entry.tramp.text section. Move the macros out so they can be used to generate other kinds of trampoline. Only the symbols need to be guarded by CONFIG_UNMAP_KERNEL_AT_EL0 and appear in the .entry.tramp.text section. Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: James Morse <james.morse@arm.com>
-rw-r--r--arch/arm64/kernel/entry.S11
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index 4e6b8d97d941..2735c8941c2d 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -608,12 +608,6 @@ SYM_CODE_END(ret_to_user)
.popsection // .entry.text
-#ifdef CONFIG_UNMAP_KERNEL_AT_EL0
-/*
- * Exception vectors trampoline.
- */
- .pushsection ".entry.tramp.text", "ax"
-
// Move from tramp_pg_dir to swapper_pg_dir
.macro tramp_map_kernel, tmp
mrs \tmp, ttbr1_el1
@@ -709,6 +703,11 @@ alternative_else_nop_endif
.endr
.endm
+#ifdef CONFIG_UNMAP_KERNEL_AT_EL0
+/*
+ * Exception vectors trampoline.
+ */
+ .pushsection ".entry.tramp.text", "ax"
.align 11
SYM_CODE_START_NOALIGN(tramp_vectors)
generate_tramp_vector