Skip to content

Commit cf77bf6

Browse files
Ricardo Cañuelokees
authored andcommitted
selftests/lkdtm: Disable CONFIG_UBSAN_TRAP in test config
The lkdtm selftest config fragment enables CONFIG_UBSAN_TRAP to make the ARRAY_BOUNDS test kill the calling process when an out-of-bound access is detected by UBSAN. However, after this [1] commit, UBSAN is triggered under many new scenarios that weren't detected before, such as in struct definitions with fixed-size trailing arrays used as flexible arrays. As a result, CONFIG_UBSAN_TRAP=y has become a very aggressive option to enable except for specific situations. `make kselftest-merge` applies CONFIG_UBSAN_TRAP=y to the kernel config for all selftests, which makes many of them fail because of system hangs during boot. This change removes the config option from the lkdtm kselftest and configures the ARRAY_BOUNDS test to look for UBSAN reports rather than relying on the calling process being killed. [1] commit 2d47c69 ("ubsan: Tighten UBSAN_BOUNDS on GCC")' Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com> Reviewed-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20230802063252.1917997-1-ricardo.canuelo@collabora.com Signed-off-by: Kees Cook <keescook@chromium.org>
1 parent eac80dd commit cf77bf6

2 files changed

Lines changed: 1 addition & 2 deletions

File tree

tools/testing/selftests/lkdtm/config

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ CONFIG_INIT_ON_FREE_DEFAULT_ON=y
99
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
1010
CONFIG_UBSAN=y
1111
CONFIG_UBSAN_BOUNDS=y
12-
CONFIG_UBSAN_TRAP=y
1312
CONFIG_STACKPROTECTOR_STRONG=y
1413
CONFIG_SLUB_DEBUG=y
1514
CONFIG_SLUB_DEBUG_ON=y

tools/testing/selftests/lkdtm/tests.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ EXCEPTION
88
#EXHAUST_STACK Corrupts memory on failure
99
#CORRUPT_STACK Crashes entire system on success
1010
#CORRUPT_STACK_STRONG Crashes entire system on success
11-
ARRAY_BOUNDS
11+
ARRAY_BOUNDS call trace:|UBSAN: array-index-out-of-bounds
1212
CORRUPT_LIST_ADD list_add corruption
1313
CORRUPT_LIST_DEL list_del corruption
1414
STACK_GUARD_PAGE_LEADING

0 commit comments

Comments
 (0)