Messages in this thread | | | Date | Thu, 5 Nov 2020 17:39:02 +0000 | From | Catalin Marinas <> | Subject | Re: [PATCH v8 30/43] arm64: kasan: Allow enabling in-kernel MTE |
| |
On Thu, Nov 05, 2020 at 06:29:17PM +0100, Andrey Konovalov wrote: > On Thu, Nov 5, 2020 at 6:26 PM Catalin Marinas <catalin.marinas@arm.com> wrote: > > > > On Thu, Nov 05, 2020 at 12:18:45AM +0100, Andrey Konovalov wrote: > > > 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
| |