Thread (11 messages) 11 messages, 3 authors, 2021-02-12

Re: [PATCH v6 1/3] arm64: mte: make the per-task SCTLR_EL1 field usable elsewhere

From: Peter Collingbourne <hidden>
Date: 2021-02-12 04:49:05
Also in: linux-api

On Tue, Jan 26, 2021 at 4:50 AM Will Deacon [off-list ref] wrote:
On Tue, Dec 29, 2020 at 10:59:13PM -0800, Peter Collingbourne wrote:
quoted
In an upcoming change we are going to introduce per-task SCTLR_EL1
bits for PAC. Move the existing per-task SCTLR_EL1 field out of the
MTE-specific code so that we will be able to use it from both the
PAC and MTE code paths and make the task switching code more efficient.

Signed-off-by: Peter Collingbourne <redacted>
Link: https://linux-review.googlesource.com/id/Ic65fac78a7926168fa68f9e8da591c9e04ff7278
---
 arch/arm64/Kconfig                 |  4 +++
 arch/arm64/include/asm/mte.h       |  4 ---
 arch/arm64/include/asm/processor.h | 10 ++++++-
 arch/arm64/kernel/mte.c            | 47 ++++++------------------------
 arch/arm64/kernel/process.c        | 34 +++++++++++++++++----
 5 files changed, 50 insertions(+), 49 deletions(-)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 05e17351e4f3..82e38d1ca012 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -348,6 +348,9 @@ config KASAN_SHADOW_OFFSET
      default 0xeffffff800000000 if ARM64_VA_BITS_36 && KASAN_SW_TAGS
      default 0xffffffffffffffff

+config ARM64_NEED_SCTLR_USER
+     bool
+
 source "arch/arm64/Kconfig.platforms"

 menu "Kernel Features"
@@ -1653,6 +1656,7 @@ config ARM64_MTE
      # Required for tag checking in the uaccess routines
      depends on ARM64_PAN
      select ARCH_USES_HIGH_VMA_FLAGS
+     select ARM64_NEED_SCTLR_USER
I'm not sure I'd bother with this; is it the end of the world if we do this
unconditionally?
I think I'd be fine with doing it unconditionally. If both PAC and MTE
are disabled then I believe that the only additional code that we
would end up executing is the comparison between prev and next
sctlr_user on task switch in process.c (which would always yield
false) and since task switch is much less common than entry/exit it
seems acceptable to me.

Peter

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help