Thread (65 messages) 65 messages, 3 authors, 2020-11-06

Re: [PATCH v8 30/43] arm64: kasan: Allow enabling in-kernel MTE

From: Catalin Marinas <catalin.marinas@arm.com>
Date: 2020-11-05 17:39:11
Also in: linux-mm, lkml

On Thu, Nov 05, 2020 at 06:29:17PM +0100, Andrey Konovalov wrote:
On Thu, Nov 5, 2020 at 6:26 PM Catalin Marinas [off-list ref] wrote:
quoted
On Thu, Nov 05, 2020 at 12:18:45AM +0100, Andrey Konovalov wrote:
quoted
diff --git a/arch/arm64/kernel/mte.c b/arch/arm64/kernel/mte.c
index 06ba6c923ab7..fcfbefcc3174 100644
--- a/arch/arm64/kernel/mte.c
+++ b/arch/arm64/kernel/mte.c
@@ -121,6 +121,13 @@ void *mte_set_mem_tag_range(void *addr, size_t size, u8 tag)
      return ptr;
 }

+void __init mte_init_tags(u64 max_tag)
+{
+     /* Enable MTE Sync Mode for EL1. */
+     sysreg_clear_set(sctlr_el1, SCTLR_ELx_TCF_MASK, SCTLR_ELx_TCF_SYNC);
+     isb();
+}
Is this going to be called on each CPU? I quickly went through the rest
of the patches and couldn't see how.
Yes, on each CPU. This is done via kasan_init_hw_tags() that is called
from cpu_enable_mte(). This change is added in the "kasan, arm64:
implement HW_TAGS runtime".
Ah, I got there eventually in patch 38. Too many indirections ;) (I'm
sure we could have trimmed them down a bit, hw_init_tags ==
arch_init_tags == mte_init_tags).
Would it make sense to put it into a separate patch?
I think that's fine. I had the impression that kasan_init_hw_tags()
should only be called once.

-- 
Catalin

_______________________________________________
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