Message ID | de4587d6a719232e83c760113e46ed2d4d8da61e.1646757322.git.andreyknvl@google.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [mm] fix for "kasan, vmalloc: only tag normal vmalloc allocations" | expand |
diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c index 7272e248db87..a4f07de21771 100644 --- a/mm/kasan/shadow.c +++ b/mm/kasan/shadow.c @@ -489,10 +489,11 @@ void *__kasan_unpoison_vmalloc(const void *start, unsigned long size, return (void *)start; /* - * Don't tag executable memory. + * Don't tag executable memory with the tag-based mode. * The kernel doesn't tolerate having the PC register tagged. */ - if (!(flags & KASAN_VMALLOC_PROT_NORMAL)) + if (IS_ENABLED(CONFIG_KASAN_SW_TAGS) && + !(flags & KASAN_VMALLOC_PROT_NORMAL)) return (void *)start; start = set_tag(start, kasan_random_tag());