# 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/powerpc-linux/bin/powerpc-linux-gcc --version # < /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-ld --version # < git log --format=%s --max-count=1 eb094f06963bb0fd8134c6a9b805d4ad0002a7d4 # < make -s -j 48 ARCH=powerpc O=/kisskb/build/linus_ppc64e_defconfig_powerpc-gcc4.6 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- ppc64e_defconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/linus_ppc64e_defconfig_powerpc-gcc4.6 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- /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/net/bridge/br_netlink.c: In function 'br_afspec.isra.30': /kisskb/src/net/bridge/br_netlink.c:648:7: warning: 'err' may be used uninitialized in this function [-Wuninitialized] /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/fs/nfsd/nfs4xdr.c: In function 'nfsd4_encode_components_esc': /kisskb/src/fs/nfsd/nfs4xdr.c:2076:9: warning: 'str' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/udf/unicode.c: In function 'udf_name_conv_char': /kisskb/src/fs/udf/unicode.c:132:8: warning: 'c' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/tty/serial/8250/8250_core.c: In function 'univ8250_release_irq': /kisskb/src/drivers/tty/serial/8250/8250_core.c:248:18: warning: 'i' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/tty/serial/8250/8250_core.c:228:19: note: 'i' was declared here /kisskb/src/drivers/usb/core/devio.c: In function 'async_completed': /kisskb/src/drivers/usb/core/devio.c:625:23: warning: 'errno' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c: In function 'tun_get_user': /kisskb/src/drivers/net/tun.c:1836:30: warning: 'copylen' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c:1749:46: warning: 'linear' may be used uninitialized in this function [-Wuninitialized] WARNING: vmlinux.o (.PPC.EMB.apuinfo): unexpected non-allocatable section. Did you forget to use "ax"/"aw" in a .S file? Note that for example contains section definitions for use in .S files. INFO: Uncompressed kernel (size 0xbcb4f0) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) Image Name: Linux-5.4.0-rc7-geb094f06963b Created: Wed Nov 13 08:40:56 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4916003 Bytes = 4800.78 KiB = 4.69 MiB Load Address: 00000000 Entry Point: 00000000 Completed OK # rm -rf /kisskb/build/linus_ppc64e_defconfig_powerpc-gcc4.6 # Build took: 0:01:28.024324