Re: [v6 11/15] arm64/kasan: explicitly zero kasan shadow memory

From: Pasha Tatashin
Date: Tue Aug 08 2017 - 08:52:37 EST


Hi Will,

> Damn, I actually prefer the flag :)
>
> But actually, if you look at our implementation of vmemmap_populate, then we
> have our own version of vmemmap_populate_basepages that terminates at the
> pmd level anyway if ARM64_SWAPPER_USES_SECTION_MAPS. If there's resistance
> to do this in the core code, then I'd be inclined to replace our
> vmemmap_populate implementation in the arm64 code with a single version that
> can terminate at either the PMD or the PTE level, and do zeroing if
> required. We're already special-casing it, so we don't really lose anything
> imo.

Another approach is to create a new mapping interface for kasan only. As what Ard Biesheuvel wrote:

> KASAN uses vmemmap_populate as a convenience: kasan has nothing to do
> with vmemmap, but the function already existed and happened to do what
> KASAN requires.
>
> Given that that will no longer be the case, it would be far better to
> stop using vmemmap_populate altogether, and clone it into a KASAN
> specific version (with an appropriate name) with the zeroing folded
> into it.

I agree with this statement, but I think it should not be part of this project.

Pasha