Re: [PATCH] ARM: kasan: Only map modules if CONFIG_KASAN_VMALLOC=n
From: Linus Walleij
Date: Wed Aug 31 2022 - 05:31:13 EST
On Sat, Aug 27, 2022 at 11:32 PM Alexander A Sverdlin
<alexander.sverdlin@xxxxxxxxx> wrote:
> - create_mapping((void *)MODULES_VADDR, (void *)(PKMAP_BASE + PMD_SIZE));
> + if (!IS_ENABLED(CONFIG_KASAN_VMALLOC) && IS_ENABLED(CONFIG_MODULES))
> + create_mapping((void *)MODULES_VADDR, (void *)(MODULES_END));
So the way I understand it is that modules are first and foremost loaded into
the area MODULES_VADDR .. MODULES_END, and then after that is out,
they get loaded into VMALLOC. See arch/arm/kernel/module.c, module_alloc().
If you do this, how are the addresses between MODULES_VADDR..MODULES_END
shadowed when using CONFIG_KASAN_VMALLOC?
> + create_mapping((void *)PKMAP_BASE, (void *)(PKMAP_BASE + PMD_SIZE));
(Splitting this in two steps if probably good in any case.)
Pls keep me on CC for Kasan ARM patches, thanks! (Maybe I should add some
MAINTAINERS blurb.)
Yours,
Linus Walleij