Re: [PATCH v2 27/37] arm64: mte: Switch GCR_EL1 in kernel entry and exit

From: Catalin Marinas
Date: Fri Sep 18 2020 - 05:39:22 EST


On Thu, Sep 17, 2020 at 07:47:59PM +0100, Vincenzo Frascino wrote:
> On 9/17/20 5:52 PM, Catalin Marinas wrote:
> >> +void mte_init_tags(u64 max_tag)
> >> +{
> >> + u64 incl = GENMASK(max_tag & MTE_TAG_MAX, 0);
> >> +
> >> + gcr_kernel_excl = ~incl & SYS_GCR_EL1_EXCL_MASK;
> >> +}
> > Do we need to set the actual GCR_EL1 register here? We may not get an
> > exception by the time KASAN starts using it.
>
> It is ok not setting it here because to get exceptions cpuframework mte enable
> needs to be executed first. In that context we set even the register.

OK, that should do for now. If we ever add stack tagging, we'd have to
rethink the GCR_EL1 initialisation.

--
Catalin