kasan-add-another-use-after-free-test.patch removed from -mm tree
The quilt patch titled
Subject: kasan: add another use-after-free test
has been removed from the -mm tree. Its filename was
kasan-add-another-use-after-free-test.patch
This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Andrey Konovalov <[email protected]>
Subject: kasan: add another use-after-free test
Date: Mon, 5 Sep 2022 23:05:49 +0200
Add a new use-after-free test that checks that KASAN detects use-after-free when another object was allocated in the same slot.
This test is mainly relevant for the tag-based modes, which do not use quarantine.
Once [1] is resolved, this test can be extended to check that the stack traces in the report point to the proper kmalloc/kfree calls.
[1] https://bugzilla.kernel.org/show_bug.cgi?id=212203
---
lib/test_kasan.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
lib/test_kasan.c renamed from lib/test_kasan.c~kasan-add-another-use-after-free-test +24 -0
@@ -612,6 +612,29 @@ again:kfree (ptr2); } +/* +* Check that KASAN detects use-after-free when another object was allocated in +* the same slot. Relevant for the tag-based modes, which do not use quarantine. +*/ +static void kmalloc_uaf3 (struct kunit *test) +{ +char *ptr1, *ptr2; +size_t size =100 ; + +/* This test is specifically crafted for tag-based modes. */ +KASAN_TEST_NEEDS_CONFIG_OFF (test,CONFIG_KASAN_GENERIC ); + + ptr1 =kmalloc (size,GFP_KERNEL ); +KUNIT_ASSERT_NOT_ERR_OR_NULL (test, ptr1); +kfree (ptr1); + + ptr2 =kmalloc (size,GFP_KERNEL ); +KUNIT_ASSERT_NOT_ERR_OR_NULL (test, ptr2); +kfree (ptr2); + +KUNIT_EXPECT_KASAN_FAIL (test, ((volatile char *)ptr1)[8 ]); +} +static void kfree_via_page (struct kunit *test) {char *ptr;
@@ -1382,6 +1405,7 @@ static struct kunit_case kasan_kunit_tesKUNIT_CASE (kmalloc_uaf),KUNIT_CASE (kmalloc_uaf_memset),KUNIT_CASE (kmalloc_uaf2), +KUNIT_CASE (kmalloc_uaf3),KUNIT_CASE (kfree_via_page),KUNIT_CASE (kfree_via_phys), KUNIT_CASE(kmem_cache_oob),
_
Patches currently in -mm which might be from [email protected] are
kasan-fix-array-bounds-warnings-in-tests.patch