powerpc/kasan: Fix shadow memory protection with CONFIG_KASAN_VMALLOC
authorChristophe Leroy <christophe.leroy@c-s.fr>
Fri, 6 Mar 2020 16:49:49 +0000 (16:49 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 13 Mar 2020 10:10:37 +0000 (21:10 +1100)
commitaf3d0a68698c7e5df8b72267086b23422a3954bb
tree7914ec670d4f9ffc35a8243ab1ecceb8d085fee4
parent59bee45b9712c759ea4d3dcc4eff1752f3a66558
powerpc/kasan: Fix shadow memory protection with CONFIG_KASAN_VMALLOC

With CONFIG_KASAN_VMALLOC, new page tables are created at the time
shadow memory for vmalloc area is unmapped. If some parts of the
page table still have entries to the zero page shadow memory, the
entries are wrongly marked RW.

With CONFIG_KASAN_VMALLOC, almost the entire kernel address space
is managed by KASAN. To make it simple, just create KASAN page tables
for the entire kernel space at kasan_init(). That doesn't use much
more space, and that's anyway already done for hash platforms.

Fixes: 3d4247fcc938 ("powerpc/32: Add support of KASAN_VMALLOC")
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/ef5248fc1f496c6b0dfdb59380f24968f25f75c5.1583513368.git.christophe.leroy@c-s.fr
arch/powerpc/mm/kasan/kasan_init_32.c