# git rev-parse -q --verify 6040e57658eee6eb1315a26119101ca832d1f854^{commit} 6040e57658eee6eb1315a26119101ca832d1f854 already have revision, skipping fetch # git checkout -q -f -B kisskb 6040e57658eee6eb1315a26119101ca832d1f854 # git clean -qxdf # git log -1 commit 6040e57658eee6eb1315a26119101ca832d1f854 Author: Linus Torvalds Date: Fri Aug 19 12:47:01 2016 -0700 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 Cc: Kees Cook Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc --version # < git log --format=%s --max-count=1 6040e57658eee6eb1315a26119101ca832d1f854 # < make -j 48 ARCH=arm O=/home/kisskb/slave/build/linus_bcm_defconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- bcm_defconfig make[2]: *** [bcm_defconfig] Error 1 make[1]: *** [bcm_defconfig] Error 2 make: *** [sub-make] Error 2 Command 'make -j 48 ARCH=arm O=/home/kisskb/slave/build/linus_bcm_defconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- bcm_defconfig' returned non-zero exit status 2 # rm -rf /home/kisskb/slave/build/linus_bcm_defconfig_arm # Build took: 0:00:02.252747