Skip to content

Commit

Permalink
ubsan: Remove vla bound checks.
Browse files Browse the repository at this point in the history
The kernel the kernel is built with -Wvla for some time, so is not
supposed to have any variable length arrays.  Remove vla bounds checking
from ubsan since it's useless now.

Signed-off-by: Andrey Ryabinin <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
aryabinin authored and torvalds committed May 6, 2019
1 parent f0996bc commit 9a91ad9
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 24 deletions.
18 changes: 0 additions & 18 deletions lib/ubsan.c
Original file line number Diff line number Diff line change
Expand Up @@ -349,24 +349,6 @@ void __ubsan_handle_type_mismatch_v1(struct type_mismatch_data_v1 *data,
}
EXPORT_SYMBOL(__ubsan_handle_type_mismatch_v1);

void __ubsan_handle_vla_bound_not_positive(struct vla_bound_data *data,
void *bound)
{
unsigned long flags;
char bound_str[VALUE_LENGTH];

if (suppress_report(&data->location))
return;

ubsan_prologue(&data->location, &flags);

val_to_string(bound_str, sizeof(bound_str), data->type, bound);
pr_err("variable length array bound value %s <= 0\n", bound_str);

ubsan_epilogue(&flags);
}
EXPORT_SYMBOL(__ubsan_handle_vla_bound_not_positive);

void __ubsan_handle_out_of_bounds(struct out_of_bounds_data *data, void *index)
{
unsigned long flags;
Expand Down
5 changes: 0 additions & 5 deletions lib/ubsan.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,6 @@ struct nonnull_arg_data {
int arg_index;
};

struct vla_bound_data {
struct source_location location;
struct type_descriptor *type;
};

struct out_of_bounds_data {
struct source_location location;
struct type_descriptor *array_type;
Expand Down
1 change: 0 additions & 1 deletion scripts/Makefile.ubsan
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ ifdef CONFIG_UBSAN
CFLAGS_UBSAN += $(call cc-option, -fsanitize=shift)
CFLAGS_UBSAN += $(call cc-option, -fsanitize=integer-divide-by-zero)
CFLAGS_UBSAN += $(call cc-option, -fsanitize=unreachable)
CFLAGS_UBSAN += $(call cc-option, -fsanitize=vla-bound)
CFLAGS_UBSAN += $(call cc-option, -fsanitize=signed-integer-overflow)
CFLAGS_UBSAN += $(call cc-option, -fsanitize=bounds)
CFLAGS_UBSAN += $(call cc-option, -fsanitize=object-size)
Expand Down

0 comments on commit 9a91ad9

Please sign in to comment.