[PATCH] kasan: add test for -fsanitize-address-use-after-scope

From: Jiri Slaby
Date: Mon Dec 05 2016 - 09:17:13 EST


From: marxin <mliska@xxxxxxx>

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 <mliska@xxxxxxx>
Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
---
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