# git rev-parse -q --verify 870d16757ba8918c3f8cac162b9ca7669556dbab^{commit} 870d16757ba8918c3f8cac162b9ca7669556dbab already have revision, skipping fetch # git checkout -q -f -B kisskb 870d16757ba8918c3f8cac162b9ca7669556dbab # git clean -qxdf # < git log -1 # commit 870d16757ba8918c3f8cac162b9ca7669556dbab # Author: Mark Rutland # Date: Wed Dec 16 21:32:48 2020 +0000 # # arm64: make _TIF_WORK_MASK bits contiguous # # We need the bits of _TIF_WORK_MASK to be contiguous in order to to use # this as an immediate argument to an AND instruction in entry.S. # # We happened to change these bits in commits: # # b5a5a01d8e9a ("arm64: uaccess: remove addr_limit_user_check()") # 192caabd4dd9 ("arm64: add support for TIF_NOTIFY_SIGNAL") # # which each worked in isolation, but the merge resolution in commit: # # 005b2a9dc819 ("Merge tag 'tif-task_work.arch-2020-12-14' of git://git.kernel.dk/linux-block") # # happened to make the bits non-contiguous. # # Fix this by moving TIF_NOTIFY_SIGNAL to be bit 6, which is contiguous # with the rest of _TIF_WORK_MASK. # # Otherwise, we'll get a build-time failure as below: # # arch/arm64/kernel/entry.S: Assembler messages: # arch/arm64/kernel/entry.S:733: Error: immediate out of range at operand 3 -- `and x2,x19,#((1<<1)|(1<<0)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<7))' # scripts/Makefile.build:360: recipe for target 'arch/arm64/kernel/entry.o' failed # # Fixes: 005b2a9dc819a126 ("Merge tag 'tif-task_work.arch-2020-12-14' of git://git.kernel.dk/linux-block") # Signed-off-by: Mark Rutland # Cc: Catalin Marinas # Cc: Will Deacon # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld --version # < git log --format=%s --max-count=1 870d16757ba8918c3f8cac162b9ca7669556dbab # < make -s -j 8 ARCH=arm O=/kisskb/build/linus_collie_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- collie_defconfig # < make -s -j 8 ARCH=arm O=/kisskb/build/linus_collie_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- help # make -s -j 8 ARCH=arm O=/kisskb/build/linus_collie_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- olddefconfig # make -s -j 8 ARCH=arm O=/kisskb/build/linus_collie_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- Completed OK # rm -rf /kisskb/build/linus_collie_defconfig_arm-gcc4.9 # Build took: 0:00:57.075289