aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/kasan/kasan.h9
-rw-r--r--mm/kasan/report.c6
2 files changed, 15 insertions, 0 deletions
diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h
index 5b052ab40cf9..1fcc1d81a9cf 100644
--- a/mm/kasan/kasan.h
+++ b/mm/kasan/kasan.h
@@ -12,6 +12,15 @@
12#define KASAN_KMALLOC_REDZONE 0xFC /* redzone inside slub object */ 12#define KASAN_KMALLOC_REDZONE 0xFC /* redzone inside slub object */
13#define KASAN_KMALLOC_FREE 0xFB /* object was freed (kmem_cache_free/kfree) */ 13#define KASAN_KMALLOC_FREE 0xFB /* object was freed (kmem_cache_free/kfree) */
14 14
15/*
16 * Stack redzone shadow values
17 * (Those are compiler's ABI, don't change them)
18 */
19#define KASAN_STACK_LEFT 0xF1
20#define KASAN_STACK_MID 0xF2
21#define KASAN_STACK_RIGHT 0xF3
22#define KASAN_STACK_PARTIAL 0xF4
23
15 24
16struct kasan_access_info { 25struct kasan_access_info {
17 const void *access_addr; 26 const void *access_addr;
diff --git a/mm/kasan/report.c b/mm/kasan/report.c
index 2760edb4d0a8..866732ef3db3 100644
--- a/mm/kasan/report.c
+++ b/mm/kasan/report.c
@@ -64,6 +64,12 @@ static void print_error_description(struct kasan_access_info *info)
64 case 0 ... KASAN_SHADOW_SCALE_SIZE - 1: 64 case 0 ... KASAN_SHADOW_SCALE_SIZE - 1:
65 bug_type = "out of bounds access"; 65 bug_type = "out of bounds access";
66 break; 66 break;
67 case KASAN_STACK_LEFT:
68 case KASAN_STACK_MID:
69 case KASAN_STACK_RIGHT:
70 case KASAN_STACK_PARTIAL:
71 bug_type = "out of bounds on stack";
72 break;
67 } 73 }
68 74
69 pr_err("BUG: KASan: %s in %pS at addr %p\n", 75 pr_err("BUG: KASan: %s in %pS at addr %p\n",