summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHailong Liu <carver4lio@163.com>2021-01-25 14:56:16 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2021-02-01 20:48:06 +0100
commitb53a9edcde37bb9f9e0b1176ef4b3fd7305813b6 (patch)
tree767fc3b9f20feba349023351280027a3a39955bb
parentARM: 9051/1: vdso: remove unneded extra-y addition (diff)
downloadlinux-b53a9edcde37bb9f9e0b1176ef4b3fd7305813b6.tar.xz
linux-b53a9edcde37bb9f9e0b1176ef4b3fd7305813b6.zip
ARM: 9053/1: arm/mm/ptdump:Add address markers for KASAN regions
ARM has recently supported KASAN, so I think that it's time to add KASAN regions for PTDUMP on ARM. This patch has been tested with QEMU + vexpress-a15. Both CONFIG_ARM_LPAE and no CONFIG_ARM_LPAE. The result after patching looks like this: ---[ Kasan shadow start ]--- 0x6ee00000-0x7af00000 193M RW NX SHD MEM/CACHED/WBWA 0x7b000000-0x7f000000 64M ro NX SHD MEM/CACHED/WBWA ---[ Kasan shadow end ]--- ---[ Modules ]--- ---[ Kernel Mapping ]--- ...... ---[ vmalloc() Area ]--- ...... ---[ vmalloc() End ]--- ---[ Fixmap Area ]--- ---[ Vectors ]--- ...... ---[ Vectors End ]--- Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Hailong liu <liu.hailong6@zte.com.cn> Signed-off-by: Hailong liu <carver4lio@163.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
-rw-r--r--arch/arm/mm/dump.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mm/dump.c b/arch/arm/mm/dump.c
index c18d23a5e5f1..93ff0097f00b 100644
--- a/arch/arm/mm/dump.c
+++ b/arch/arm/mm/dump.c
@@ -19,6 +19,10 @@
#include <asm/ptdump.h>
static struct addr_marker address_markers[] = {
+#ifdef CONFIG_KASAN
+ { KASAN_SHADOW_START, "Kasan shadow start"},
+ { KASAN_SHADOW_END, "Kasan shadow end"},
+#endif
{ MODULES_VADDR, "Modules" },
{ PAGE_OFFSET, "Kernel Mapping" },
{ 0, "vmalloc() Area" },
@@ -429,8 +433,11 @@ static void ptdump_initialize(void)
if (pg_level[i].bits[j].nx_bit)
pg_level[i].nx_bit = &pg_level[i].bits[j];
}
-
+#ifdef CONFIG_KASAN
+ address_markers[4].start_address = VMALLOC_START;
+#else
address_markers[2].start_address = VMALLOC_START;
+#endif
}
static struct ptdump_info kernel_ptdump_info = {