lib/test_ubsan.c: VLA no longer used in kernel

Since we now build with -Wvla, any use of VLA throws a warning.
Including this test, so...  maybe we should just remove the test?

  lib/test_ubsan.c: In function 'test_ubsan_vla_bound_not_positive':
  lib/test_ubsan.c:48:2: warning: ISO C90 forbids variable length array 'buf' [-Wvla]

For the out-of-bounds test, switch to non-VLA setup.

  lib/test_ubsan.c: In function 'test_ubsan_out_of_bounds':
  lib/test_ubsan.c:64:2: warning: ISO C90 forbids variable length array 'arr' [-Wvla]

Link: http://lkml.kernel.org/r/20190113183210.56154-1-olof@lixom.net
Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Dmitry Vyukov <dvyukov@google.com>
Cc: Colin Ian King <colin.king@canonical.com>
Cc: Jinbum Park <jinb.park7@gmail.com>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Kees Cook <keescook@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:
Olof Johansson 2019-03-07 16:28:21 -08:00 committed by Linus Torvalds
parent cdc94a3749
commit 9d7ca61b13
1 changed files with 1 additions and 10 deletions

View File

@ -42,14 +42,6 @@ static void test_ubsan_divrem_overflow(void)
val /= val2; val /= val2;
} }
static void test_ubsan_vla_bound_not_positive(void)
{
volatile int size = -1;
char buf[size];
(void)buf;
}
static void test_ubsan_shift_out_of_bounds(void) static void test_ubsan_shift_out_of_bounds(void)
{ {
volatile int val = -1; volatile int val = -1;
@ -61,7 +53,7 @@ static void test_ubsan_shift_out_of_bounds(void)
static void test_ubsan_out_of_bounds(void) static void test_ubsan_out_of_bounds(void)
{ {
volatile int i = 4, j = 5; volatile int i = 4, j = 5;
volatile int arr[i]; volatile int arr[4];
arr[j] = i; arr[j] = i;
} }
@ -113,7 +105,6 @@ static const test_ubsan_fp test_ubsan_array[] = {
test_ubsan_mul_overflow, test_ubsan_mul_overflow,
test_ubsan_negate_overflow, test_ubsan_negate_overflow,
test_ubsan_divrem_overflow, test_ubsan_divrem_overflow,
test_ubsan_vla_bound_not_positive,
test_ubsan_shift_out_of_bounds, test_ubsan_shift_out_of_bounds,
test_ubsan_out_of_bounds, test_ubsan_out_of_bounds,
test_ubsan_load_invalid_value, test_ubsan_load_invalid_value,