ARM: 9429/1: ioremap: Sync PGDs for VMALLOC shadow
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 23 Oct 2024 12:03:14 +0000 (13:03 +0100)
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Wed, 13 Nov 2024 08:15:22 +0000 (08:15 +0000)
commitd6e6a74d4cea853b5321eeabb69c611148eedefe
tree3f7d4e91ed3823b6b46de519a28b2115312920dc
parentc0b5195bad63b18022f2776372fccd3ae9177705
ARM: 9429/1: ioremap: Sync PGDs for VMALLOC shadow

When sync:ing the VMALLOC area to other CPUs, make sure to also
sync the KASAN shadow memory for the VMALLOC area, so that we
don't get stale entries for the shadow memory in the top level PGD.

Since we are now copying PGDs in two instances, create a helper
function named memcpy_pgd() to do the actual copying, and
create a helper to map the addresses of VMALLOC_START and
VMALLOC_END into the corresponding shadow memory.

Co-developed-by: Melon Liu <melon1335@163.com>
Cc: stable@vger.kernel.org
Fixes: 565cbaad83d8 ("ARM: 9202/1: kasan: support CONFIG_KASAN_VMALLOC")
Link: https://lore.kernel.org/linux-arm-kernel/a1a1d062-f3a2-4d05-9836-3b098de9db6d@foss.st.com/
Reported-by: Clement LE GOFFIC <clement.legoffic@foss.st.com>
Suggested-by: Mark Rutland <mark.rutland@arm.com>
Suggested-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
arch/arm/mm/ioremap.c