[PATCH v2 5/5] arm64: add KASan support
From: Andrey Ryabinin <hidden>
Date: 2015-07-17 13:13:19
Also in:
linux-mm, lkml
From: Andrey Ryabinin <hidden>
Date: 2015-07-17 13:13:19
Also in:
linux-mm, lkml
On 07/16/2015 07:03 PM, Catalin Marinas wrote:
On Thu, Jul 16, 2015 at 06:30:11PM +0300, Andrey Ryabinin wrote:quoted
I think this may work, if pud_none(*pud) will be replaced with !pud_val(*pud). We can't use pud_none() because with 2-level page tables it's always false, so we will never go down to pmd level where swapper_pg_dir populated.The reason I used "do ... while" vs "while" or "for" is so that it gets down to the pmd level. The iteration over pgd is always done in the top loop via pgd_addr_end while the loops for missing levels (nopud, nopmd) are always a single iteration whether we check for pud_none or not. But when the level is present, we avoid looping when !pud_none().
Right, dunno what I was thinking. It seems to work. Lightly tested with every possible CONFIG_PGTABLE_LEVELS.