aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Ryabinin <aryabinin@virtuozzo.com>2017-02-14 05:08:39 -0500
committerThomas Gleixner <tglx@linutronix.de>2017-02-16 13:53:25 -0500
commit025205f8f30c6ab52b69bf34fb359ac80360fefd (patch)
treefe02d58a83cf2a27448efcef198e13628209157b
parent243b72aae28ca1032284028323bb81c9235b15c9 (diff)
x86/mm/ptdump: Add address marker for KASAN shadow region
Annotate the KASAN shadow with address markers in page table dump output: $ cat /sys/kernel/debug/kernel_page_tables ... ---[ Vmemmap ]--- 0xffffea0000000000-0xffffea0003000000 48M RW PSE GLB NX pmd 0xffffea0003000000-0xffffea0004000000 16M pmd 0xffffea0004000000-0xffffea0005000000 16M RW PSE GLB NX pmd 0xffffea0005000000-0xffffea0040000000 944M pmd 0xffffea0040000000-0xffffea8000000000 511G pud 0xffffea8000000000-0xffffec0000000000 1536G pgd ---[ KASAN shadow ]--- 0xffffec0000000000-0xffffed0000000000 1T ro GLB NX pte 0xffffed0000000000-0xffffed0018000000 384M RW PSE GLB NX pmd 0xffffed0018000000-0xffffed0020000000 128M pmd 0xffffed0020000000-0xffffed0028200000 130M RW PSE GLB NX pmd 0xffffed0028200000-0xffffed0040000000 382M pmd 0xffffed0040000000-0xffffed8000000000 511G pud 0xffffed8000000000-0xfffff50000000000 7680G pgd 0xfffff50000000000-0xfffffbfff0000000 7339776M ro GLB NX pte 0xfffffbfff0000000-0xfffffbfff0200000 2M pmd 0xfffffbfff0200000-0xfffffbfff0a00000 8M RW PSE GLB NX pmd 0xfffffbfff0a00000-0xfffffbffffe00000 244M pmd 0xfffffbffffe00000-0xfffffc0000000000 2M ro GLB NX pte ---[ KASAN shadow end ]--- 0xfffffc0000000000-0xffffff0000000000 3T pgd ---[ ESPfix Area ]--- ... Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com> Reviewed-by: Alexander Potapenko <glider@google.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: kasan-dev@googlegroups.com Cc: Tobias Regnery <tobias.regnery@gmail.com> Cc: Andrey Ryabinin <aryabinin@virtuozzo.com> Cc: Dmitry Vyukov <dvyukov@google.com> Link: http://lkml.kernel.org/r/20170214100839.17186-2-aryabinin@virtuozzo.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/mm/dump_pagetables.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
index 08135341798c..58b5bee7ea27 100644
--- a/arch/x86/mm/dump_pagetables.c
+++ b/arch/x86/mm/dump_pagetables.c
@@ -18,6 +18,7 @@
18#include <linux/sched.h> 18#include <linux/sched.h>
19#include <linux/seq_file.h> 19#include <linux/seq_file.h>
20 20
21#include <asm/kasan.h>
21#include <asm/pgtable.h> 22#include <asm/pgtable.h>
22 23
23/* 24/*
@@ -51,6 +52,10 @@ enum address_markers_idx {
51 LOW_KERNEL_NR, 52 LOW_KERNEL_NR,
52 VMALLOC_START_NR, 53 VMALLOC_START_NR,
53 VMEMMAP_START_NR, 54 VMEMMAP_START_NR,
55#ifdef CONFIG_KASAN
56 KASAN_SHADOW_START_NR,
57 KASAN_SHADOW_END_NR,
58#endif
54# ifdef CONFIG_X86_ESPFIX64 59# ifdef CONFIG_X86_ESPFIX64
55 ESPFIX_START_NR, 60 ESPFIX_START_NR,
56# endif 61# endif
@@ -76,6 +81,10 @@ static struct addr_marker address_markers[] = {
76 { 0/* PAGE_OFFSET */, "Low Kernel Mapping" }, 81 { 0/* PAGE_OFFSET */, "Low Kernel Mapping" },
77 { 0/* VMALLOC_START */, "vmalloc() Area" }, 82 { 0/* VMALLOC_START */, "vmalloc() Area" },
78 { 0/* VMEMMAP_START */, "Vmemmap" }, 83 { 0/* VMEMMAP_START */, "Vmemmap" },
84#ifdef CONFIG_KASAN
85 { KASAN_SHADOW_START, "KASAN shadow" },
86 { KASAN_SHADOW_END, "KASAN shadow end" },
87#endif
79# ifdef CONFIG_X86_ESPFIX64 88# ifdef CONFIG_X86_ESPFIX64
80 { ESPFIX_BASE_ADDR, "ESPfix Area", 16 }, 89 { ESPFIX_BASE_ADDR, "ESPfix Area", 16 },
81# endif 90# endif