Re: [PATCH v3 0/2] arm: kasan: support CONFIG_KASAN_VMALLOC

From: Linus Walleij
Date: Thu Mar 10 2022 - 18:09:08 EST


On Sun, Feb 27, 2022 at 2:48 PM Lecopzer Chen
<lecopzer.chen@xxxxxxxxxxxx> wrote:

> Since the framework of KASAN_VMALLOC is well-developed,
> It's easy to support for ARM that simply not to map shadow of VMALLOC
> area on kasan_init.
>
> Since the virtual address of vmalloc for Arm is also between
> MODULE_VADDR and 0x100000000 (ZONE_HIGHMEM), which means the shadow
> address has already included between KASAN_SHADOW_START and
> KASAN_SHADOW_END.
> Thus we need to change nothing for memory map of Arm.
>
> This can fix ARM_MODULE_PLTS with KASan, support KASan for higmem
> and provide the first step to support CONFIG_VMAP_STACK with Arm.
>
>
> Test on
> 1. Qemu with memory 2G and vmalloc=500M for 3G/1G mapping.
> 2. Qemu with memory 2G and vmalloc=500M for 3G/1G mapping + LPAE.
> 3. Qemu with memory 2G and vmalloc=500M for 2G/2G mapping.
>
> v3:
> rebase on 5.17-rc5.
> Add simple doc for "arm: kasan: support CONFIG_KASAN_VMALLOC"
> Tweak commit message.

Ater testing this with my kernel-in-vmalloc patches and some hacks, I got
the kernel booting in the VMALLOC area with KASan enabled!
See:
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git/log/?h=kernel-in-vmalloc-v5.17-rc1

That's a pretty serious stress test. So:
Tested-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
for the series.

I suppose you could put this into Russell's patch tracker, it's gonna be
for kernel v5.19 by now but why stress. It seems I can fix up
kernel-in-vmalloc on top and submit that for v5.19 as well.

Yours,
Linus Walleij