# git rev-parse -q --verify eb094f06963bb0fd8134c6a9b805d4ad0002a7d4^{commit} eb094f06963bb0fd8134c6a9b805d4ad0002a7d4 already have revision, skipping fetch # git checkout -q -f -B kisskb eb094f06963bb0fd8134c6a9b805d4ad0002a7d4 # git clean -qxdf # < git log -1 # commit eb094f06963bb0fd8134c6a9b805d4ad0002a7d4 # Merge: 100d46bd72ec 012206a822a8 # Author: Linus Torvalds # Date: Tue Nov 12 10:53:24 2019 -0800 # # Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip # # Pull x86 TSX Async Abort and iTLB Multihit mitigations from Thomas Gleixner: # "The performance deterioration departement is not proud at all of # presenting the seventh installment of speculation mitigations and # hardware misfeature workarounds: # # 1) TSX Async Abort (TAA) - 'The Annoying Affair' # # TAA is a hardware vulnerability that allows unprivileged # speculative access to data which is available in various CPU # internal buffers by using asynchronous aborts within an Intel TSX # transactional region. # # The mitigation depends on a microcode update providing a new MSR # which allows to disable TSX in the CPU. CPUs which have no # microcode update can be mitigated by disabling TSX in the BIOS if # the BIOS provides a tunable. # # Newer CPUs will have a bit set which indicates that the CPU is not # vulnerable, but the MSR to disable TSX will be available # nevertheless as it is an architected MSR. That means the kernel # provides the ability to disable TSX on the kernel command line, # which is useful as TSX is a truly useful mechanism to accelerate # side channel attacks of all sorts. # # 2) iITLB Multihit (NX) - 'No eXcuses' # # iTLB Multihit is an erratum where some Intel processors may incur # a machine check error, possibly resulting in an unrecoverable CPU # lockup, when an instruction fetch hits multiple entries in the # instruction TLB. This can occur when the page size is changed # along with either the physical address or cache type. A malicious # guest running on a virtualized system can exploit this erratum to # perform a denial of service attack. # # The workaround is that KVM marks huge pages in the extended page # tables as not executable (NX). If the guest attempts to execute in # such a page, the page is broken down into 4k pages which are # marked executable. The workaround comes with a mechanism to # recover these shattered huge pages over time. # # Both issues come with full documentation in the hardware # vulnerabilities section of the Linux kernel user's and administrator's # guide. # # Thanks to all patch authors and reviewers who had the extraordinary # priviledge to be exposed to this nuisance. # # Special thanks to Borislav Petkov for polishing the final TAA patch # set and to Paolo Bonzini for shepherding the KVM iTLB workarounds and # providing also the backports to stable kernels for those!" # # * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: # x86/speculation/taa: Fix printing of TAA_MSG_SMT on IBRS_ALL CPUs # Documentation: Add ITLB_MULTIHIT documentation # kvm: x86: mmu: Recovery of shattered NX large pages # kvm: Add helper function for creating VM worker threads # kvm: mmu: ITLB_MULTIHIT mitigation # cpu/speculation: Uninline and export CPU mitigations helpers # x86/cpu: Add Tremont to the cpu vulnerability whitelist # x86/bugs: Add ITLB_MULTIHIT bug infrastructure # x86/tsx: Add config options to set tsx=on|off|auto # x86/speculation/taa: Add documentation for TSX Async Abort # x86/tsx: Add "auto" option to the tsx= cmdline parameter # kvm/x86: Export MDS_NO=0 to guests when TSX is enabled # x86/speculation/taa: Add sysfs reporting for TSX Async Abort # x86/speculation/taa: Add mitigation for TSX Async Abort # x86/cpu: Add a "tsx=" cmdline option with TSX disabled by default # x86/cpu: Add a helper function x86_read_arch_cap_msr() # x86/msr: Add the IA32_TSX_CTRL MSR # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux-ld --version # < git log --format=%s --max-count=1 eb094f06963bb0fd8134c6a9b805d4ad0002a7d4 # < make -s -j 8 ARCH=mips O=/kisskb/build/linus_mips-defconfig_mips-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- defconfig # make -s -j 8 ARCH=mips O=/kisskb/build/linus_mips-defconfig_mips-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- FIT description: Linux 5.4.0-rc7-geb094f06963b Created: Wed Nov 13 09:17:45 2019 Image 0 (kernel@0) Description: Linux 5.4.0-rc7-geb094f06963b Created: Wed Nov 13 09:17:45 2019 Type: Kernel Image Compression: gzip compressed Data Size: 4773123 Bytes = 4661.25 KiB = 4.55 MiB Architecture: MIPS OS: Linux Load Address: 0x80100000 Entry Point: 0x808d3f90 Hash algo: sha1 Hash value: 613416ad974a71de50495217ca6bff0ae47ecef1 Image 1 (fdt@boston) Description: img,boston Device Tree Created: Wed Nov 13 09:17:45 2019 Type: Flat Device Tree Compression: uncompressed Data Size: 3793 Bytes = 3.70 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 4799f50d688573234da6e9d7701234d394759ef4 Image 2 (fdt@ni169445) Description: NI 169445 device tree Created: Wed Nov 13 09:17:45 2019 Type: Flat Device Tree Compression: uncompressed Data Size: 1871 Bytes = 1.83 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 51b89b31605ee62038c8468c429af091dfc75ec7 Image 3 (fdt@ocelot_pcb123) Description: MSCC Ocelot PCB123 Device Tree Created: Wed Nov 13 09:17:45 2019 Type: Flat Device Tree Compression: uncompressed Data Size: 4639 Bytes = 4.53 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 018897896b42c41c943aca35a20e4300dba250c8 Image 4 (fdt@ocelot_pcb120) Description: MSCC Ocelot PCB120 Device Tree Created: Wed Nov 13 09:17:45 2019 Type: Flat Device Tree Compression: uncompressed Data Size: 5198 Bytes = 5.08 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 36c7bd0bd79cfc2f7dd6acda6c7996294f4967e6 Image 5 (fdt@xilfpga) Description: MIPSfpga (xilfpga) Device Tree Created: Wed Nov 13 09:17:45 2019 Type: Flat Device Tree Compression: uncompressed Data Size: 2708 Bytes = 2.64 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 63d058b780f65e22da30f0a183433765f1807f1d Default Configuration: 'conf@default' Configuration 0 (conf@default) Description: Generic Linux kernel Kernel: kernel@0 Configuration 1 (conf@boston) Description: Boston Linux kernel Kernel: kernel@0 FDT: fdt@boston Configuration 2 (conf@ni169445) Description: NI 169445 Linux Kernel Kernel: kernel@0 FDT: fdt@ni169445 Configuration 3 (conf@ocelot_pcb123) Description: Ocelot Linux kernel Kernel: kernel@0 FDT: fdt@ocelot_pcb123 Configuration 4 (conf@ocelot_pcb120) Description: Ocelot Linux kernel Kernel: kernel@0 FDT: fdt@ocelot_pcb120 Configuration 5 (conf@xilfpga) Description: MIPSfpga Linux kernel Kernel: kernel@0 FDT: fdt@xilfpga Completed OK # rm -rf /kisskb/build/linus_mips-defconfig_mips-gcc8 # Build took: 0:02:49.535953