public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: James Morse <james.morse@arm.com>
To: stable@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: james.morse@arm.com, catalin.marinas@arm.com
Subject: [stable:PATCH v4.14.274 15/27] arm64: entry: Move trampoline macros out of ifdef'd section
Date: Thu, 31 Mar 2022 19:33:48 +0100	[thread overview]
Message-ID: <20220331183400.73183-16-james.morse@arm.com> (raw)
In-Reply-To: <20220331183400.73183-1-james.morse@arm.com>

commit 13d7a08352a83ef2252aeb464a5e08dfc06b5dfd upstream.

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>
---
 arch/arm64/kernel/entry.S | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index 12612e3ae7f7..20055f976146 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -985,12 +985,7 @@ __ni_sys_trace:
 
 	.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
 	sub	\tmp, \tmp, #(SWAPPER_DIR_SIZE + RESERVED_TTBR0_SIZE)
@@ -1081,6 +1076,11 @@ alternative_insn isb, nop, ARM64_WORKAROUND_QCOM_FALKOR_E1003
 	.endr
 	.endm
 
+#ifdef CONFIG_UNMAP_KERNEL_AT_EL0
+/*
+ * Exception vectors trampoline.
+ */
+	.pushsection ".entry.tramp.text", "ax"
 	.align	11
 ENTRY(tramp_vectors)
 	generate_tramp_vector
-- 
2.30.2


  parent reply	other threads:[~2022-03-31 18:35 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-31 18:33 [stable:PATCH v4.14.274 00/27] arm64: Mitigate spectre style branch history side channels James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 01/27] arm64: arch_timer: Add workaround for ARM erratum 1188873 James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 02/27] arm64: arch_timer: avoid unused function warning James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 03/27] arm64: Add silicon-errata.txt entry for ARM erratum 1188873 James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 04/27] arm64: Make ARM64_ERRATUM_1188873 depend on COMPAT James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 05/27] arm64: Add part number for Neoverse N1 James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 06/27] arm64: Add part number for Arm Cortex-A77 James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 07/27] arm64: Add Neoverse-N2, Cortex-A710 CPU part definition James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 08/27] arm64: Add Cortex-X2 " James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 09/27] arm64: entry.S: Add ventry overflow sanity checks James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 10/27] arm64: entry: Make the trampoline cleanup optional James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 11/27] arm64: entry: Free up another register on kpti's tramp_exit path James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 12/27] arm64: entry: Move the trampoline data page before the text page James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 13/27] arm64: entry: Allow tramp_alias to access symbols after the 4K boundary James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 14/27] arm64: entry: Don't assume tramp_vectors is the start of the vectors James Morse
2022-03-31 18:33 ` James Morse [this message]
2022-03-31 18:33 ` [stable:PATCH v4.14.274 16/27] arm64: entry: Make the kpti trampoline's kpti sequence optional James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 17/27] arm64: entry: Allow the trampoline text to occupy multiple pages James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 18/27] arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 19/27] arm64: entry: Add vectors that have the bhb mitigation sequences James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 20/27] arm64: entry: Add macro for reading symbol addresses from the trampoline James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 21/27] arm64: Add percpu vectors for EL1 James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 22/27] arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v2 James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 23/27] KVM: arm64: Add templates for BHB mitigation sequences James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 24/27] arm64: Mitigate spectre style branch history side channels James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 25/27] KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated James Morse
2022-03-31 18:33 ` [stable:PATCH v4.14.274 26/27] arm64: add ID_AA64ISAR2_EL1 sys register James Morse
2022-03-31 18:34 ` [stable:PATCH v4.14.274 27/27] arm64: Use the clearbhb instruction in mitigations James Morse
2022-03-31 19:03 ` [stable:PATCH v4.14.274 00/27] arm64: Mitigate spectre style branch history side channels Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220331183400.73183-16-james.morse@arm.com \
    --to=james.morse@arm.com \
    --cc=catalin.marinas@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox