Revert "s390/mm: Allow large pages for KASAN shadow mapping"
authorVasily Gorbik <gor@linux.ibm.com>
Fri, 29 Nov 2024 00:07:01 +0000 (01:07 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Fri, 29 Nov 2024 12:41:11 +0000 (13:41 +0100)
commitcc00550b2ae7ab1c7c56669fc004a13d880aaf0a
treea1e62d6a47a438b5f1b14b646b8cd26857f739a1
parent889221c4d78d754023bec8edec13d11a13b3fb51
Revert "s390/mm: Allow large pages for KASAN shadow mapping"

This reverts commit ff123eb7741638d55abf82fac090bb3a543c1e74.

Allowing large pages for KASAN shadow mappings isn't inherently wrong,
but adding POPULATE_KASAN_MAP_SHADOW to large_allowed() exposes an issue
in can_large_pud() and can_large_pmd().

Since commit d8073dc6bc04 ("s390/mm: Allow large pages only for aligned
physical addresses"), both can_large_pud() and can_large_pmd() call _pa()
to check if large page physical addresses are aligned. However, _pa()
has a side effect: it allocates memory in POPULATE_KASAN_MAP_SHADOW
mode. This results in massive memory leaks.

The proper fix would be to address both large_allowed() and _pa()'s side
effects, but for now, revert this change to avoid the leaks.

Fixes: ff123eb77416 ("s390/mm: Allow large pages for KASAN shadow mapping")
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/boot/vmem.c