UPSTREAM: Make the hardened user-copy code depend on having a hardened allocator
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 19 Aug 2016 19:47:01 +0000 (12:47 -0700)
committerSami Tolvanen <samitolvanen@google.com>
Tue, 6 Sep 2016 17:53:36 +0000 (10:53 -0700)
commitef1cf0cfecdb16c520e32628ef8e6d9fa86fc08f
tree09ab32fb930ec0caa3875a183371a4388d25f03b
parent65733da1dd5c3643e310d371bdb2420a6f3d8e97
UPSTREAM: Make the hardened user-copy code depend on having a hardened allocator

The kernel test robot reported a usercopy failure in the new hardened
sanity checks, due to a page-crossing copy of the FPU state into the
task structure.

This happened because the kernel test robot was testing with SLOB, which
doesn't actually do the required book-keeping for slab allocations, and
as a result the hardening code didn't realize that the task struct
allocation was one single allocation - and the sanity checks fail.

Since SLOB doesn't even claim to support hardening (and you really
shouldn't use it), the straightforward solution is to just make the
usercopy hardening code depend on the allocator supporting it.

Reported-by: kernel test robot <xiaolong.ye@intel.com>
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Change-Id: I37d51f866f873341bf7d5297249899b852e1c6ce
(cherry picked from commit 6040e57658eee6eb1315a26119101ca832d1f854)
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
security/Kconfig