test: check copy_to/from_user boundary validation
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>
This commit is contained in:
committed by
Linus Torvalds
parent
93e9ef83f4
commit
3e2a4c183a
@@ -9,6 +9,7 @@ TARGETS += ptrace
|
||||
TARGETS += timers
|
||||
TARGETS += vm
|
||||
TARGETS += powerpc
|
||||
TARGETS += user
|
||||
|
||||
all:
|
||||
for TARGET in $(TARGETS); do \
|
||||
|
13
tools/testing/selftests/user/Makefile
Normal file
13
tools/testing/selftests/user/Makefile
Normal file
@@ -0,0 +1,13 @@
|
||||
# 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
|
Reference in New Issue
Block a user