# git rev-parse -q --verify 4da9f3302615f4191814f826054846bf843e24fa^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master warning: The last gc run reported the following. Please correct the root cause and remove .git/gc.log. Automatic cleanup will not be performed until the file is removed. warning: There are too many unreachable loose objects; run 'git prune' to remove them. # git rev-parse -q --verify 4da9f3302615f4191814f826054846bf843e24fa^{commit} 4da9f3302615f4191814f826054846bf843e24fa # git checkout -q -f -B kisskb 4da9f3302615f4191814f826054846bf843e24fa # git clean -qxdf # < git log -1 # commit 4da9f3302615f4191814f826054846bf843e24fa # Merge: 125cfa0d4d14 d029bff60aa6 # Author: Linus Torvalds # Date: Tue Aug 4 21:16:22 2020 -0700 # # Merge tag 'x86-fsgsbase-2020-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip # # Pull x86 fsgsbase from Thomas Gleixner: # "Support for FSGSBASE. Almost 5 years after the first RFC to support # it, this has been brought into a shape which is maintainable and # actually works. # # This final version was done by Sasha Levin who took it up after Intel # dropped the ball. Sasha discovered that the SGX (sic!) offerings out # there ship rogue kernel modules enabling FSGSBASE behind the kernels # back which opens an instantanious unpriviledged root hole. # # The FSGSBASE instructions provide a considerable speedup of the # context switch path and enable user space to write GSBASE without # kernel interaction. This enablement requires careful handling of the # exception entries which go through the paranoid entry path as they # can no longer rely on the assumption that user GSBASE is positive (as # enforced via prctl() on non FSGSBASE enabled systemn). # # All other entries (syscalls, interrupts and exceptions) can still just # utilize SWAPGS unconditionally when the entry comes from user space. # Converting these entries to use FSGSBASE has no benefit as SWAPGS is # only marginally slower than WRGSBASE and locating and retrieving the # kernel GSBASE value is not a free operation either. The real benefit # of RD/WRGSBASE is the avoidance of the MSR reads and writes. # # The changes come with appropriate selftests and have held up in field # testing against the (sanitized) Graphene-SGX driver" # # * tag 'x86-fsgsbase-2020-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits) # x86/fsgsbase: Fix Xen PV support # x86/ptrace: Fix 32-bit PTRACE_SETREGS vs fsbase and gsbase # selftests/x86/fsgsbase: Add a missing memory constraint # selftests/x86/fsgsbase: Fix a comment in the ptrace_write_gsbase test # selftests/x86: Add a syscall_arg_fault_64 test for negative GSBASE # selftests/x86/fsgsbase: Test ptracer-induced GS base write with FSGSBASE # selftests/x86/fsgsbase: Test GS selector on ptracer-induced GS base write # Documentation/x86/64: Add documentation for GS/FS addressing mode # x86/elf: Enumerate kernel FSGSBASE capability in AT_HWCAP2 # x86/cpu: Enable FSGSBASE on 64bit by default and add a chicken bit # x86/entry/64: Handle FSGSBASE enabled paranoid entry/exit # x86/entry/64: Introduce the FIND_PERCPU_BASE macro # x86/entry/64: Switch CR3 before SWAPGS in paranoid entry # x86/speculation/swapgs: Check FSGSBASE in enabling SWAPGS mitigation # x86/process/64: Use FSGSBASE instructions on thread copy and ptrace # x86/process/64: Use FSBSBASE in switch_to() if available # x86/process/64: Make save_fsgs_for_kvm() ready for FSGSBASE # x86/fsgsbase/64: Enable FSGSBASE instructions in helper functions # x86/fsgsbase/64: Add intrinsics for FSGSBASE instructions # x86/cpu: Add 'unsafe_fsgsbase' to enable CR4.FSGSBASE # ... # < /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 4da9f3302615f4191814f826054846bf843e24fa # < make -s -j 8 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- randconfig KCONFIG_SEED=0xE4F6EB20 # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # < make -s -j 8 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- help # make -s -j 8 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- olddefconfig .config:5526:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD # make -s -j 8 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- arch/arm64/Makefile:26: ld does not support --fix-cortex-a53-843419; kernel may be susceptible to erratum arch/arm64/Makefile:26: ld does not support --fix-cortex-a53-843419; kernel may be susceptible to erratum /kisskb/src/arch/arm64/boot/dts/qcom/ipq6018.dtsi:127.3-14: Warning (dma_ranges_format): /soc:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/qcom/ipq6018.dtsi:127.3-14: Warning (dma_ranges_format): /soc:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) arch/arm64/Makefile:26: ld does not support --fix-cortex-a53-843419; kernel may be susceptible to erratum Completed OK # rm -rf /kisskb/build/linus-rand_arm64-randconfig_arm64-gcc5.4 # Build took: 0:11:31.831410