On Fri, Nov 19, 2021 at 3:22 PM Marco Elver <elver@xxxxxxxxxx> wrote: > > Add a test case for double-kmem_cache_destroy() detection. > > Signed-off-by: Marco Elver <elver@xxxxxxxxxx> > --- > lib/test_kasan.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/lib/test_kasan.c b/lib/test_kasan.c > index 40f7274297c1..4da4b214ed06 100644 > --- a/lib/test_kasan.c > +++ b/lib/test_kasan.c > @@ -866,6 +866,16 @@ static void kmem_cache_invalid_free(struct kunit *test) > kmem_cache_destroy(cache); > } > > +static void kmem_cache_double_destroy(struct kunit *test) > +{ > + struct kmem_cache *cache; > + > + cache = kmem_cache_create("test_cache", 200, 0, 0, NULL); > + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, cache); > + kmem_cache_destroy(cache); > + KUNIT_EXPECT_KASAN_FAIL(test, kmem_cache_destroy(cache)); > +} > + > static void kasan_memchr(struct kunit *test) > { > char *ptr; > @@ -1183,6 +1193,7 @@ static struct kunit_case kasan_kunit_test_cases[] = { > KUNIT_CASE(ksize_uaf), > KUNIT_CASE(kmem_cache_double_free), > KUNIT_CASE(kmem_cache_invalid_free), > + KUNIT_CASE(kmem_cache_double_destroy), > KUNIT_CASE(kasan_memchr), > KUNIT_CASE(kasan_memcmp), > KUNIT_CASE(kasan_strings), > -- > 2.34.0.rc2.393.gf8c9666880-goog > Reviewed-by: Andrey Konovalov <andreyknvl@xxxxxxxxx> Thanks!