Re: [PATCH v9 09/12] mm/kasan: kasan specific map populate function

From: Will Deacon
Date: Mon Oct 09 2017 - 15:02:17 EST


Hi Pavel,

On Mon, Oct 09, 2017 at 02:59:09PM -0400, Pavel Tatashin wrote:
> > We have two table walks even with your patch series applied afaict: one in
> > our definition of vmemmap_populate (arch/arm64/mm/mmu.c) and this one
> > in the core code.
>
> I meant to say implementing two new page table walkers, not at runtime.

Ok, but I'm still missing why you think that is needed. What would be the
second page table walker that needs implementing?

> > My worry is that these are actually highly arch-specific, but will likely
> > grow more users in mm/ that assume things for all architectures that aren't
> > necessarily valid.
>
> I see, how about moving new kasan_map_populate() implementation into
> arch dependent code:
>
> arch/x86/mm/kasan_init_64.c
> arch/arm64/mm/kasan_init.c
>
> This way we won't need to add pmd_large()/pud_large() macros for arm64?

I guess we could implement that on arm64 using our current vmemmap_populate
logic and an explicit memset.

Will