# 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/gcc-4.6.3-nolibc/sh4-linux/bin/sh4-linux-gcc --version # < /opt/cross/kisskb/gcc-4.6.3-nolibc/sh4-linux/bin/sh4-linux-ld --version # < git log --format=%s --max-count=1 eb094f06963bb0fd8134c6a9b805d4ad0002a7d4 # < make -s -j 32 ARCH=sh O=/kisskb/build/linus_sh7724_generic_defconfig_sh4 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/sh4-linux/bin/sh4-linux- sh7724_generic_defconfig # make -s -j 32 ARCH=sh O=/kisskb/build/linus_sh7724_generic_defconfig_sh4 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/sh4-linux/bin/sh4-linux- Generating include/generated/machtypes.h :1511:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sh/kernel/cpu/sh4/../sh3/../../entry-common.S: Assembler messages: /kisskb/src/arch/sh/kernel/cpu/sh4/../sh3/../../entry-common.S:385: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/arch/sh/kernel/cpu/sh4/../sh3/../../entry-common.S:388: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/fs/proc/inode.c: In function 'proc_reg_open': /kisskb/src/include/linux/list.h:65:12: warning: 'pdeo' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c:338:21: note: 'pdeo' was declared here /kisskb/src/drivers/base/regmap/regmap.c: In function '_regmap_raw_write': /kisskb/src/drivers/base/regmap/regmap.c:1852:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function 'regmap_raw_read': /kisskb/src/drivers/base/regmap/regmap.c:2591:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:204:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/i2c/busses/i2c-sh_mobile.c: In function 'sh_mobile_i2c_isr': /kisskb/src/drivers/i2c/busses/i2c-sh_mobile.c:399:26: warning: 'data' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/i2c/busses/i2c-sh_mobile.c:372:16: note: 'data' was declared here /kisskb/src/drivers/sh/clk/cpg.c: In function 'r8': /kisskb/src/drivers/sh/clk/cpg.c:41:2: warning: passing argument 1 of 'ioread8' discards 'const' qualifier from pointer target type [enabled by default] /kisskb/src/include/asm-generic/iomap.h:29:21: note: expected 'void *' but argument is of type 'const void *' /kisskb/src/drivers/sh/clk/cpg.c: In function 'r16': /kisskb/src/drivers/sh/clk/cpg.c:46:2: warning: passing argument 1 of 'ioread16' discards 'const' qualifier from pointer target type [enabled by default] /kisskb/src/include/asm-generic/iomap.h:30:21: note: expected 'void *' but argument is of type 'const void *' /kisskb/src/drivers/sh/clk/cpg.c: In function 'r32': /kisskb/src/drivers/sh/clk/cpg.c:51:2: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type [enabled by default] /kisskb/src/include/asm-generic/iomap.h:32:21: note: expected 'void *' but argument is of type 'const void *' Kernel: arch/sh/boot/zImage is ready Completed OK # rm -rf /kisskb/build/linus_sh7724_generic_defconfig_sh4 # Build took: 0:00:26.755873