To help avoid an architecture failing to correctly check kernel/user
boundaries when handling copy_to_user, copy_from_user, put_user, or
get_user, perform some simple tests and fail to load if any of them
behave unexpectedly.
Specifically, this is to make sure there is a way to notice if things
like what was fixed in commit 8404663f81
("ARM: 7527/1: uaccess:
explicitly check __user pointer when !CPU_USE_DOMAINS") ever regresses
again, for any architecture.
Additionally, adds new "user" selftest target, which loads this module.
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 lines
282 B
Makefile
13 lines
282 B
Makefile
# Makefile for user memory selftests
|
|
|
|
# No binaries, but make sure arg-less "make" doesn't trigger "run_tests"
|
|
all:
|
|
|
|
run_tests: all
|
|
@if /sbin/modprobe test_user_copy ; then \
|
|
rmmod test_user_copy; \
|
|
echo "user_copy: ok"; \
|
|
else \
|
|
echo "user_copy: [FAIL]"; \
|
|
exit 1; \
|
|
fi
|