lkdtm/bugs: Add ARRAY_BOUNDS to selftests
Add CONFIG hints about why the ARRAY_BOUNDS test might fail, and similarly include the CONFIGs needed to pass the ARRAY_BOUNDS test via the selftests, and add to selftests. Cc: kernelci@groups.io Suggested-by: Guillaume Tucker <guillaume.tucker@collabora.com> Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20210818174855.2307828-2-keescook@chromium.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
09cbd1df7d
commit
c75be56e35
|
@ -267,6 +267,7 @@ void lkdtm_ARRAY_BOUNDS(void)
|
||||||
kfree(not_checked);
|
kfree(not_checked);
|
||||||
kfree(checked);
|
kfree(checked);
|
||||||
pr_err("FAIL: survived array bounds overflow!\n");
|
pr_err("FAIL: survived array bounds overflow!\n");
|
||||||
|
pr_expected_config(CONFIG_UBSAN_BOUNDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
void lkdtm_CORRUPT_LIST_ADD(void)
|
void lkdtm_CORRUPT_LIST_ADD(void)
|
||||||
|
|
|
@ -6,3 +6,5 @@ CONFIG_HARDENED_USERCOPY=y
|
||||||
# CONFIG_HARDENED_USERCOPY_FALLBACK is not set
|
# CONFIG_HARDENED_USERCOPY_FALLBACK is not set
|
||||||
CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
|
CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
|
||||||
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
|
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
|
||||||
|
CONFIG_UBSAN_BOUNDS=y
|
||||||
|
CONFIG_UBSAN_TRAP=y
|
||||||
|
|
|
@ -7,6 +7,7 @@ EXCEPTION
|
||||||
#EXHAUST_STACK Corrupts memory on failure
|
#EXHAUST_STACK Corrupts memory on failure
|
||||||
#CORRUPT_STACK Crashes entire system on success
|
#CORRUPT_STACK Crashes entire system on success
|
||||||
#CORRUPT_STACK_STRONG Crashes entire system on success
|
#CORRUPT_STACK_STRONG Crashes entire system on success
|
||||||
|
ARRAY_BOUNDS
|
||||||
CORRUPT_LIST_ADD list_add corruption
|
CORRUPT_LIST_ADD list_add corruption
|
||||||
CORRUPT_LIST_DEL list_del corruption
|
CORRUPT_LIST_DEL list_del corruption
|
||||||
STACK_GUARD_PAGE_LEADING
|
STACK_GUARD_PAGE_LEADING
|
||||||
|
|
Loading…
Reference in New Issue