# 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/bfin-uclinux/bin/bfin-uclinux-gcc --version # < git log --format=%s --max-count=1 6040e57658eee6eb1315a26119101ca832d1f854 # < make -j 48 ARCH=blackfin O=/home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/bfin-uclinux/bin/bfin-uclinux- TCM-BF518_defconfig # make -j 48 ARCH=blackfin O=/home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/bfin-uclinux/bin/bfin-uclinux- make[1]: Entering directory '/home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile WRAP arch/blackfin/include/generated/asm/auxvec.h WRAP arch/blackfin/include/generated/asm/bitsperlong.h WRAP arch/blackfin/include/generated/asm/bugs.h WRAP arch/blackfin/include/generated/asm/cputime.h WRAP arch/blackfin/include/generated/asm/current.h WRAP arch/blackfin/include/generated/asm/device.h CHK include/generated/uapi/linux/version.h WRAP arch/blackfin/include/generated/asm/ioctl.h WRAP arch/blackfin/include/generated/asm/kmap_types.h WRAP arch/blackfin/include/generated/asm/kvm_para.h WRAP arch/blackfin/include/generated/asm/local.h WRAP arch/blackfin/include/generated/asm/hw_irq.h WRAP arch/blackfin/include/generated/asm/mcs_spinlock.h WRAP arch/blackfin/include/generated/asm/local64.h WRAP arch/blackfin/include/generated/asm/mman.h WRAP arch/blackfin/include/generated/asm/kdebug.h WRAP arch/blackfin/include/generated/asm/msgbuf.h WRAP arch/blackfin/include/generated/asm/mutex.h WRAP arch/blackfin/include/generated/asm/percpu.h WRAP arch/blackfin/include/generated/asm/pgalloc.h WRAP arch/blackfin/include/generated/asm/irq_regs.h WRAP arch/blackfin/include/generated/asm/sembuf.h WRAP arch/blackfin/include/generated/asm/ipcbuf.h WRAP arch/blackfin/include/generated/asm/serial.h WRAP arch/blackfin/include/generated/asm/setup.h WRAP arch/blackfin/include/generated/asm/futex.h WRAP arch/blackfin/include/generated/asm/shmbuf.h WRAP arch/blackfin/include/generated/asm/shmparam.h WRAP arch/blackfin/include/generated/asm/mm-arch-hooks.h WRAP arch/blackfin/include/generated/asm/sockios.h WRAP arch/blackfin/include/generated/asm/param.h WRAP arch/blackfin/include/generated/asm/statfs.h WRAP arch/blackfin/include/generated/asm/termbits.h WRAP arch/blackfin/include/generated/asm/termios.h WRAP arch/blackfin/include/generated/asm/topology.h WRAP arch/blackfin/include/generated/asm/socket.h WRAP arch/blackfin/include/generated/asm/preempt.h WRAP arch/blackfin/include/generated/asm/emergency-restart.h WRAP arch/blackfin/include/generated/asm/irq_work.h WRAP arch/blackfin/include/generated/asm/errno.h WRAP arch/blackfin/include/generated/asm/div64.h WRAP arch/blackfin/include/generated/asm/trace_clock.h WRAP arch/blackfin/include/generated/asm/resource.h WRAP arch/blackfin/include/generated/asm/fb.h UPD include/generated/uapi/linux/version.h WRAP arch/blackfin/include/generated/asm/types.h WRAP arch/blackfin/include/generated/asm/ucontext.h WRAP arch/blackfin/include/generated/asm/unaligned.h WRAP arch/blackfin/include/generated/asm/user.h WRAP arch/blackfin/include/generated/asm/word-at-a-time.h WRAP arch/blackfin/include/generated/asm/xor.h HOSTCC scripts/basic/bin2c UPD include/config/kernel.release Using /home/kisskb/slave/src as source for kernel CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h HOSTCC scripts/kallsyms HOSTCC scripts/conmakehash CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s cc1: error: -mcpu=bf518-0.1 has invalid silicon revision cc1: error: unrecognized command line option '-mcpu=bf518-0.1' /home/kisskb/slave/src/scripts/Makefile.build:289: recipe for target 'scripts/mod/empty.o' failed make[3]: *** [scripts/mod/empty.o] Error 1 make[3]: *** Waiting for unfinished jobs.... cc1: error: -mcpu=bf518-0.1 has invalid silicon revision cc1: error: unrecognized command line option '-mcpu=bf518-0.1' /home/kisskb/slave/src/scripts/Makefile.build:153: recipe for target 'scripts/mod/devicetable-offsets.s' failed make[3]: *** [scripts/mod/devicetable-offsets.s] Error 1 CHK include/generated/timeconst.h CC kernel/bounds.s cc1: error: -mcpu=bf518-0.1 has invalid silicon revision cc1: error: unrecognized command line option '-mcpu=bf518-0.1' UPD include/generated/timeconst.h /home/kisskb/slave/src/./Kbuild:45: recipe for target 'kernel/bounds.s' failed make[2]: *** [kernel/bounds.s] Error 1 make[2]: *** Waiting for unfinished jobs.... /home/kisskb/slave/src/Makefile:1015: recipe for target 'prepare0' failed make[1]: *** [prepare0] Error 2 make[1]: *** Waiting for unfinished jobs.... /home/kisskb/slave/src/scripts/Makefile.build:440: recipe for target 'scripts/mod' failed make[2]: *** [scripts/mod] Error 2 make[2]: *** Waiting for unfinished jobs.... /home/kisskb/slave/src/Makefile:559: recipe for target 'scripts' failed make[1]: *** [scripts] Error 2 make[1]: Leaving directory '/home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin' Makefile:150: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -j 48 ARCH=blackfin O=/home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/bfin-uclinux/bin/bfin-uclinux- ' returned non-zero exit status 2 # rm -rf /home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin # Build took: 0:00:03.327878