From: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Pass KASAN_VMALLOC_PROT_NORMAL to kasan_unpoison_vmalloc() in the custom KASAN instrumentation for Shadow Call Stack, as Shadow Call Stack mappings are not executable and thus can be poisoned. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> --- kernel/scs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/scs.c b/kernel/scs.c index b83bc9251f99..1033a76a3284 100644 --- a/kernel/scs.c +++ b/kernel/scs.c @@ -32,7 +32,8 @@ static void *__scs_alloc(int node) for (i = 0; i < NR_CACHED_SCS; i++) { s = this_cpu_xchg(scs_cache[i], NULL); if (s) { - kasan_unpoison_vmalloc(s, SCS_SIZE, KASAN_VMALLOC_NONE); + kasan_unpoison_vmalloc(s, SCS_SIZE, + KASAN_VMALLOC_PROT_NORMAL); memset(s, 0, SCS_SIZE); return s; } @@ -78,7 +79,7 @@ void scs_free(void *s) if (this_cpu_cmpxchg(scs_cache[i], 0, s) == NULL) return; - kasan_unpoison_vmalloc(s, SCS_SIZE, KASAN_VMALLOC_NONE); + kasan_unpoison_vmalloc(s, SCS_SIZE, KASAN_VMALLOC_PROT_NORMAL); vfree_atomic(s); } -- 2.25.1