test: check copy_to/from_user boundary validation
authorKees Cook <keescook@chromium.org>
Thu, 23 Jan 2014 23:54:38 +0000 (15:54 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 24 Jan 2014 00:36:57 +0000 (16:36 -0800)
commit3e2a4c183ace8708c69f589505fb82bb63010ade
treee201c3d60f39bbe3ba5026417d454553ad2fe073
parent93e9ef83f40603535ffe6b60498149e75f33aa8f
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 8404663f81d2 ("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>
lib/Kconfig.debug
lib/Makefile
lib/test_user_copy.c [new file with mode: 0644]
tools/testing/selftests/Makefile
tools/testing/selftests/user/Makefile [new file with mode: 0644]