kasan: add tests for alloca poisoning
Link: http://lkml.kernel.org/r/20171204191735.132544-5-paullawrence@google.com Signed-off-by: Greg Hackmann <ghackmann@google.com> Signed-off-by: Paul Lawrence <paullawrence@google.com> Acked-by: Andrey Ryabinin <aryabinin@virtuozzo.com> Cc: Alexander Potapenko <glider@google.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Matthias Kaehlcke <mka@chromium.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
342061ee4e
commit
00a14294bb
lib
|
@ -472,6 +472,26 @@ static noinline void __init use_after_scope_test(void)
|
||||||
p[1023] = 1;
|
p[1023] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static noinline void __init kasan_alloca_oob_left(void)
|
||||||
|
{
|
||||||
|
volatile int i = 10;
|
||||||
|
char alloca_array[i];
|
||||||
|
char *p = alloca_array - 1;
|
||||||
|
|
||||||
|
pr_info("out-of-bounds to left on alloca\n");
|
||||||
|
*(volatile char *)p;
|
||||||
|
}
|
||||||
|
|
||||||
|
static noinline void __init kasan_alloca_oob_right(void)
|
||||||
|
{
|
||||||
|
volatile int i = 10;
|
||||||
|
char alloca_array[i];
|
||||||
|
char *p = alloca_array + i;
|
||||||
|
|
||||||
|
pr_info("out-of-bounds to right on alloca\n");
|
||||||
|
*(volatile char *)p;
|
||||||
|
}
|
||||||
|
|
||||||
static int __init kmalloc_tests_init(void)
|
static int __init kmalloc_tests_init(void)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -502,6 +522,8 @@ static int __init kmalloc_tests_init(void)
|
||||||
memcg_accounted_kmem_cache();
|
memcg_accounted_kmem_cache();
|
||||||
kasan_stack_oob();
|
kasan_stack_oob();
|
||||||
kasan_global_oob();
|
kasan_global_oob();
|
||||||
|
kasan_alloca_oob_left();
|
||||||
|
kasan_alloca_oob_right();
|
||||||
ksize_unpoisons_memory();
|
ksize_unpoisons_memory();
|
||||||
copy_user_test();
|
copy_user_test();
|
||||||
use_after_scope_test();
|
use_after_scope_test();
|
||||||
|
|
Loading…
Reference in New Issue