Message ID | 6e0ddf32ce140b9e8aaf127e9e40cbfff4430995.1628709663.git.andreyknvl@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | kasan: test: avoid crashing the kernel with HW_TAGS | expand |
On Wed, 11 Aug 2021 at 21:21, <andrey.konovalov@linux.dev> wrote: > From: Andrey Konovalov <andreyknvl@gmail.com> > > kmalloc_uaf_memset() writes to freed memory, which is only safe with the > GENERIC mode (as it uses quarantine). For other modes, this test corrupts > kernel memory, which might result in a crash. > > Only enable kmalloc_uaf_memset() for the GENERIC mode. > > Signed-off-by: Andrey Konovalov <andreyknvl@gmail.com> Acked-by: Marco Elver <elver@google.com> > --- > lib/test_kasan.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/lib/test_kasan.c b/lib/test_kasan.c > index 0b5698cd7d1d..efd0da5c750f 100644 > --- a/lib/test_kasan.c > +++ b/lib/test_kasan.c > @@ -528,6 +528,12 @@ static void kmalloc_uaf_memset(struct kunit *test) > char *ptr; > size_t size = 33; > > + /* > + * Only generic KASAN uses quarantine, which is required to avoid a > + * kernel memory corruption this test causes. > + */ > + KASAN_TEST_NEEDS_CONFIG_ON(test, CONFIG_KASAN_GENERIC); > + > ptr = kmalloc(size, GFP_KERNEL); > KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); > > -- > 2.25.1
diff --git a/lib/test_kasan.c b/lib/test_kasan.c index 0b5698cd7d1d..efd0da5c750f 100644 --- a/lib/test_kasan.c +++ b/lib/test_kasan.c @@ -528,6 +528,12 @@ static void kmalloc_uaf_memset(struct kunit *test) char *ptr; size_t size = 33; + /* + * Only generic KASAN uses quarantine, which is required to avoid a + * kernel memory corruption this test causes. + */ + KASAN_TEST_NEEDS_CONFIG_ON(test, CONFIG_KASAN_GENERIC); + ptr = kmalloc(size, GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr);