[PATCH] arm64: fix KASAN_INLINE
Catalin Marinas
catalin.marinas at arm.com
Fri Jul 15 09:49:56 PDT 2022
On Wed, Jul 13, 2022 at 03:09:49PM +0100, Mark Rutland wrote:
> Since commit:
>
> a004393f45d9a55e ("arm64: idreg-override: use early FDT mapping in ID map")
>
> Kernels built with KASAN_INLINE=y die early in boot before producing any
> console output. This is because the accesses made to the FDT (e.g. in
> generic string processing functions) are instrumented with KASAN, and
> with KASAN_INLINE=y any access to an address in TTBR0 results in a bogus
> shadow VA, resulting in a data abort.
>
> This patch fixes this by reverting commits:
>
> 7559d9f97581654f ("arm64: setup: drop early FDT pointer helpers")
> bd0c3fa21878b6d0 ("arm64: idreg-override: use early FDT mapping in ID map")
>
> ... and using the TTBR1 fixmap mapping of the FDT.
>
> Note that due to a later commit:
>
> b65e411d6cc2f12a ("arm64: Save state of HCR_EL2.E2H before switch to EL1")
>
> ... which altered the prototype of init_feature_override() (and
> invocation from head.S), commit bd0c3fa21878b6d0 does not revert
> cleanly, and I've fixed that up manually.
>
> Fixes: a004393f45d9a55e ("arm64: idreg-override: use early FDT mapping in ID map")
> Cc: Ard Biesheuvel <ardb at kernel.org>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Marc Zyngier <maz at kernel.org>
> Cc: Will Deacon <will at kernel.org>
I'll leave this to Will to pick since the fixed commit is only in -next.
Acked-by: Catalin Marinas <catalin.marinas at arm.com>
More information about the linux-arm-kernel
mailing list