From: marxin <mli...@suse.cz>

In commit 828347f8f9a5 ("kasan: support use-after-scope detection") we
added support for use-after-scope. Let's add a check if it actually
works.

Signed-off-by: Martin Liska <mli...@suse.cz>
Signed-off-by: Jiri Slaby <jsl...@suse.cz>
---
 lib/test_kasan.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/lib/test_kasan.c b/lib/test_kasan.c
index fbdf87920093..32f31b8d306e 100644
--- a/lib/test_kasan.c
+++ b/lib/test_kasan.c
@@ -352,6 +352,19 @@ static noinline void __init kasan_stack_oob(void)
        *(volatile char *)p;
 }
 
+static noinline void __init kasan_stack_use_after_scope(void)
+{
+       char *ptr = NULL;
+       {
+               char a;
+
+               ptr = &a;
+       }
+
+       pr_info("use-after-scope on stack\n");
+       *(volatile char *)ptr;
+}
+
 static noinline void __init ksize_unpoisons_memory(void)
 {
        char *ptr;
@@ -461,6 +474,7 @@ static int __init kmalloc_tests_init(void)
        kmalloc_uaf2();
        kmem_cache_oob();
        kasan_stack_oob();
+       kasan_stack_use_after_scope();
        kasan_global_oob();
        ksize_unpoisons_memory();
        copy_user_test();
-- 
2.11.0

Reply via email to