Skip to content

Commit

Permalink
kasan: add tests for alloca poisoning
Browse files Browse the repository at this point in the history
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Greg Hackmann <[email protected]>
Signed-off-by: Paul Lawrence <[email protected]>
Acked-by: Andrey Ryabinin <[email protected]>
Cc: Alexander Potapenko <[email protected]>
Cc: Dmitry Vyukov <[email protected]>
Cc: Masahiro Yamada <[email protected]>
Cc: Matthias Kaehlcke <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
PaulLawrenceGoogle authored and torvalds committed Feb 7, 2018
1 parent 342061e commit 00a1429
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions lib/test_kasan.c
Original file line number Diff line number Diff line change
Expand Up @@ -472,6 +472,26 @@ static noinline void __init use_after_scope_test(void)
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)
{
/*
Expand Down Expand Up @@ -502,6 +522,8 @@ static int __init kmalloc_tests_init(void)
memcg_accounted_kmem_cache();
kasan_stack_oob();
kasan_global_oob();
kasan_alloca_oob_left();
kasan_alloca_oob_right();
ksize_unpoisons_memory();
copy_user_test();
use_after_scope_test();
Expand Down

0 comments on commit 00a1429

Please sign in to comment.