Received: by 2002:a4a:311b:0:0:0:0:0 with SMTP id k27-v6csp4797060ooa; Tue, 14 Aug 2018 10:40:51 -0700 (PDT) X-Google-Smtp-Source: AA+uWPzON0NALUp+4ATc+q6T9M5dnFOHQnisGng4ogetKXwyDJm+aQ9U0QO2PRMwbZf5+wrWQSIR X-Received: by 2002:a17:902:9883:: with SMTP id s3-v6mr21344361plp.194.1534268451894; Tue, 14 Aug 2018 10:40:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534268451; cv=none; d=google.com; s=arc-20160816; b=bNnuSo23uckmV6JM+Q2FOrcHgJaG+4JDr+z6ZRgKj7W34cbljmBBvPGwGoR1UHSKVU EIUm/AY3WgIdT1FZ7EGuMNgZejYeliZ9bq8FvEzK7/IkCsF+Ur6/G1MZXsIodhdA/b3V LSC2OZ7M/iZfjkrDzw0/1X/alg6zoBni6d3vViIp05vJQVPBwzy7td7oo5OzuaXdeVJW y9vGA7d97YC7KV53xu33LeU7Jbxj+bQnQREKhYkWrTmAi5RsYezvMQV0CYL1hRTCFJyU qeFBTEsPNXUpAfycZbvuhRDeVz+AZhwPKoYQXPm1yxAfOKQIIsVsaoWa1zY0XI85xBnG cvZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:date:subject:cc:to :from:arc-authentication-results; bh=WtjqKfonHXwPRbIP0GRQw5yQp/F6HflGxC2TroJF1dQ=; b=cTqxHhoBq2Y165zmjTJQ0BJ3uCAQ3sX9Bz2BHVt/Ze1D1yVeeH1wayE0AEl8CI5yY+ z6dAyCxIlJNDpY73bNz/U/1S/1rPco5Hdh96+Ww0RhoaKU8UPVQ7P8aYMFYQoEgqmNcO Ey5K4Cn9i4VG3QGT7IhU/p/UcrWNF2j6jVxJjxFszYq+Ep7XPwqyu+i8me9UBwrQV7e5 7VWIGSofVN83N4PFHa+wLpgwHvz+rhns6IcxpklFLPnLxO6i0Cy/USy2kix0r4jgIXSw n30tjruVSEI8sP4tV0V5X2Wh6fCcXZ8benXUI5c4dIrOTmih+ecbEifj8WmXyqrPoR7y r5hw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h86-v6si23378685pfj.120.2018.08.14.10.40.36; Tue, 14 Aug 2018 10:40:51 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389091AbeHNU17 (ORCPT + 99 others); Tue, 14 Aug 2018 16:27:59 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:58556 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728516AbeHNU17 (ORCPT ); Tue, 14 Aug 2018 16:27:59 -0400 Received: from localhost (unknown [194.244.16.108]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 4B118CBA; Tue, 14 Aug 2018 17:39:48 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , torvalds@linux-foundation.org, akpm@linux-foundation.org, linux@roeck-us.net, shuah@kernel.org, patches@kernelci.org, ben.hutchings@codethink.co.uk, lkft-triage@lists.linaro.org, stable@vger.kernel.org Subject: [PATCH 4.9 000/107] 4.9.120-stable review Date: Tue, 14 Aug 2018 19:16:23 +0200 Message-Id: <20180814171520.883143803@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 User-Agent: quilt/0.65 X-stable: review X-KernelTest-Patch: http://kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.120-rc1.gz X-KernelTest-Tree: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git X-KernelTest-Branch: linux-4.9.y X-KernelTest-Patches: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git X-KernelTest-Version: 4.9.120-rc1 X-KernelTest-Deadline: 2018-08-16T17:15+00:00 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is the start of the stable review cycle for the 4.9.120 release. There are 107 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know. Responses should be made by Thu Aug 16 17:14:53 UTC 2018. Anything received after that time might be too late. The whole patch series can be found in one patch at: https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.120-rc1.gz or in the git tree and branch at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y and the diffstat can be found below. thanks, greg k-h ------------- Pseudo-Shortlog of commits: Greg Kroah-Hartman Linux 4.9.120-rc1 Josh Poimboeuf x86/microcode: Allow late microcode loading with SMT disabled Ashok Raj x86/microcode: Do not upload microcode if CPUs are offline David Woodhouse tools headers: Synchronise x86 cpufeatures.h for L1TF additions Andi Kleen x86/mm/kmmio: Make the tracer robust against L1TF Andi Kleen x86/mm/pat: Make set_memory_np() L1TF safe Andi Kleen x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert Andi Kleen x86/speculation/l1tf: Invert all not present mappings Thomas Gleixner cpu/hotplug: Fix SMT supported evaluation Paolo Bonzini KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry Paolo Bonzini x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry Paolo Bonzini x86/speculation: Simplify sysfs report of VMX L1TF vulnerability Paolo Bonzini KVM: VMX: support MSR_IA32_ARCH_CAPABILITIES as a feature MSR Wanpeng Li KVM: X86: Allow userspace to define the microcode version Wanpeng Li KVM: X86: Introduce kvm_get_msr_feature() Tom Lendacky KVM: SVM: Add MSR-based feature support for serializing LFENCE Tom Lendacky KVM: x86: Add a framework for supporting MSR-based features Thomas Gleixner Documentation/l1tf: Remove Yonah processors from not vulnerable list Nicolai Stange x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr() Nicolai Stange x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d Nicolai Stange x86: Don't include linux/irq.h from asm/hardirq.h Nicolai Stange x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d Nicolai Stange x86/irq: Demote irq_cpustat_t::__softirq_pending to u16 Nicolai Stange x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush() Nicolai Stange x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond' Nicolai Stange x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush() Josh Poimboeuf cpu/hotplug: detect SMT disabled by BIOS Tony Luck Documentation/l1tf: Fix typos Nicolai Stange x86/KVM/VMX: Initialize the vmx_l1d_flush_pages' content Thomas Gleixner Documentation: Add section about CPU vulnerabilities Jiri Kosina x86/bugs, kvm: Introduce boot-time control of L1TF mitigations Thomas Gleixner cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early Jiri Kosina cpu/hotplug: Expose SMT control init function Thomas Gleixner x86/kvm: Allow runtime control of L1D flush Thomas Gleixner x86/kvm: Serialize L1D flush parameter setter Thomas Gleixner x86/kvm: Add static key for flush always Thomas Gleixner x86/kvm: Move l1tf setup function Thomas Gleixner x86/l1tf: Handle EPT disabled state proper Thomas Gleixner x86/kvm: Drop L1TF MSR list approach Thomas Gleixner x86/litf: Introduce vmx status variable Thomas Gleixner cpu/hotplug: Online siblings when SMT control is turned on Konrad Rzeszutek Wilk x86/KVM/VMX: Use MSR save list for IA32_FLUSH_CMD if required Konrad Rzeszutek Wilk x86/KVM/VMX: Extend add_atomic_switch_msr() to allow VMENTER only MSRs Konrad Rzeszutek Wilk x86/KVM/VMX: Separate the VMX AUTOLOAD guest/host number accounting Konrad Rzeszutek Wilk x86/KVM/VMX: Add find_msr() helper function Konrad Rzeszutek Wilk x86/KVM/VMX: Split the VMX MSR LOAD structures to have an host/guest numbers Jim Mattson kvm: nVMX: Update MSR load counts on a VMCS switch Paolo Bonzini x86/KVM/VMX: Add L1D flush logic Paolo Bonzini x86/KVM/VMX: Add L1D MSR based flush Paolo Bonzini x86/KVM/VMX: Add L1D flush algorithm Konrad Rzeszutek Wilk x86/KVM/VMX: Add module argument for L1TF mitigation Konrad Rzeszutek Wilk x86/KVM: Warn user if KVM is loaded SMT and L1TF CPU bug being present Thomas Gleixner cpu/hotplug: Boot HT siblings at least once Thomas Gleixner Revert "x86/apic: Ignore secondary threads if nosmt=force" Michal Hocko x86/speculation/l1tf: Fix up pte->pfn conversion for PAE Vlastimil Babka x86/speculation/l1tf: Protect PAE swap entries against L1TF Borislav Petkov x86/CPU/AMD: Move TOPOEXT reenablement before reading smp_num_siblings Konrad Rzeszutek Wilk x86/cpufeatures: Add detection of L1D cache flush support. Vlastimil Babka x86/speculation/l1tf: Extend 64bit swap file size limit Thomas Gleixner x86/apic: Ignore secondary threads if nosmt=force Thomas Gleixner x86/cpu/AMD: Evaluate smp_num_siblings early Borislav Petkov x86/CPU/AMD: Do not check CPUID max ext level before parsing SMP info Thomas Gleixner x86/cpu/intel: Evaluate smp_num_siblings early Thomas Gleixner x86/cpu/topology: Provide detect_extended_topology_early() Thomas Gleixner x86/cpu/common: Provide detect_ht_early() Thomas Gleixner x86/cpu/AMD: Remove the pointless detect_ht() call Thomas Gleixner x86/cpu: Remove the pointless CPU printout Thomas Gleixner cpu/hotplug: Provide knobs to control SMT Thomas Gleixner cpu/hotplug: Split do_cpu_down() Thomas Gleixner cpu/hotplug: Make bringup/teardown of smp threads symmetric Thomas Gleixner x86/topology: Provide topology_smt_supported() Thomas Gleixner x86/smp: Provide topology_is_primary_thread() Konrad Rzeszutek Wilk x86/bugs: Move the l1tf function and define pr_fmt properly Andi Kleen x86/speculation/l1tf: Limit swap file size to MAX_PA/2 Andi Kleen x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings Andi Kleen x86/speculation/l1tf: Add sysfs reporting for l1tf Andi Kleen x86/speculation/l1tf: Make sure the first page is always reserved Andi Kleen x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation Linus Torvalds x86/speculation/l1tf: Protect swap entries against L1TF Linus Torvalds x86/speculation/l1tf: Change order of offset/type in swap entry Naoya Horiguchi mm: x86: move _PAGE_SWP_SOFT_DIRTY from bit 7 to bit 1 Andi Kleen x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT Nick Desaulniers x86/irqflags: Provide a declaration for native_save_fl Masami Hiramatsu kprobes/x86: Fix %p uses in error messages Jiri Kosina x86/speculation: Protect against userspace-userspace spectreRSB Peter Zijlstra x86/paravirt: Fix spectre-v2 mitigations for paravirt guests Oleksij Rempel ARM: dts: imx6sx: fix irq for pcie bridge Michael Mera IB/ocrdma: fix out of bounds access to local buffer Fabio Estevam mtd: nand: qcom: Add a NULL check for devm_kasprintf() Jack Morgenstein IB/mlx4: Mark user MR as writable if actual virtual memory is writable Jack Morgenstein IB/core: Make testing MR flags for writability a static inline function Eric W. Biederman proc: Fix proc_sys_prune_dcache to hold a sb reference Eric W. Biederman proc/sysctl: Don't grab i_lock under sysctl_lock. Konstantin Khlebnikov proc/sysctl: prune stale dentries during unregistering Al Viro fix __legitimize_mnt()/mntput() race Al Viro fix mntput/mntput race Al Viro make sure that __dentry_kill() always invalidates d_seq, unhashed or not Al Viro root dentries need RCU-delayed freeing Linus Torvalds init: rename and re-order boot_cpu_state_init() Bart Van Assche scsi: sr: Avoid that opening a CD-ROM hangs with runtime power management enabled Hans de Goede ACPI / LPSS: Add missing prv_offset setting for byt/cht PWM devices Juergen Gross xen/netfront: don't cache skb_shinfo() Linus Torvalds Mark HI and TASKLET softirq synchronous Andrey Konovalov kasan: add no_sanitize attribute for clang builds John David Anglin parisc: Define mb() and add memory barriers to assembler unlock sequences Helge Deller parisc: Enable CONFIG_MLONGCALLS by default Tadeusz Struk tpm: fix race condition in tpm_common_write() Theodore Ts'o ext4: fix check to prevent initializing reserved inodes ------------- Diffstat: Documentation/ABI/testing/sysfs-devices-system-cpu | 24 + Documentation/index.rst | 1 + Documentation/kernel-parameters.txt | 78 +++ Documentation/l1tf.rst | 610 +++++++++++++++++++++ Documentation/virtual/kvm/api.txt | 40 +- Makefile | 4 +- arch/Kconfig | 3 + arch/arm/boot/dts/imx6sx.dtsi | 2 +- arch/parisc/Kconfig | 2 +- arch/parisc/include/asm/barrier.h | 32 ++ arch/parisc/kernel/entry.S | 2 + arch/parisc/kernel/pacache.S | 1 + arch/parisc/kernel/syscall.S | 4 + arch/x86/Kconfig | 1 + arch/x86/include/asm/apic.h | 10 + arch/x86/include/asm/cpufeatures.h | 4 +- arch/x86/include/asm/dmi.h | 2 +- arch/x86/include/asm/hardirq.h | 26 +- arch/x86/include/asm/irqflags.h | 2 + arch/x86/include/asm/kvm_host.h | 9 + arch/x86/include/asm/msr-index.h | 7 + arch/x86/include/asm/page_32_types.h | 9 +- arch/x86/include/asm/pgtable-2level.h | 17 + arch/x86/include/asm/pgtable-3level.h | 37 +- arch/x86/include/asm/pgtable-invert.h | 32 ++ arch/x86/include/asm/pgtable.h | 85 ++- arch/x86/include/asm/pgtable_64.h | 48 +- arch/x86/include/asm/pgtable_types.h | 10 +- arch/x86/include/asm/processor.h | 17 + arch/x86/include/asm/topology.h | 6 +- arch/x86/include/asm/vmx.h | 11 + arch/x86/kernel/apic/apic.c | 17 + arch/x86/kernel/apic/htirq.c | 2 + arch/x86/kernel/apic/io_apic.c | 1 + arch/x86/kernel/apic/msi.c | 1 + arch/x86/kernel/apic/vector.c | 1 + arch/x86/kernel/cpu/amd.c | 53 +- arch/x86/kernel/cpu/bugs.c | 171 ++++-- arch/x86/kernel/cpu/common.c | 56 +- arch/x86/kernel/cpu/cpu.h | 2 + arch/x86/kernel/cpu/intel.c | 7 + arch/x86/kernel/cpu/microcode/core.c | 26 + arch/x86/kernel/cpu/topology.c | 41 +- arch/x86/kernel/fpu/core.c | 1 + arch/x86/kernel/ftrace.c | 1 + arch/x86/kernel/hpet.c | 1 + arch/x86/kernel/i8259.c | 1 + arch/x86/kernel/irq.c | 1 + arch/x86/kernel/irq_32.c | 1 + arch/x86/kernel/irq_64.c | 1 + arch/x86/kernel/irqinit.c | 1 + arch/x86/kernel/kprobes/core.c | 5 +- arch/x86/kernel/kprobes/opt.c | 1 + arch/x86/kernel/paravirt.c | 14 +- arch/x86/kernel/setup.c | 6 + arch/x86/kernel/smp.c | 1 + arch/x86/kernel/smpboot.c | 18 + arch/x86/kernel/time.c | 1 + arch/x86/kvm/svm.c | 46 +- arch/x86/kvm/vmx.c | 426 ++++++++++++-- arch/x86/kvm/x86.c | 133 ++++- arch/x86/mm/fault.c | 1 + arch/x86/mm/init.c | 23 + arch/x86/mm/kaiser.c | 1 + arch/x86/mm/kmmio.c | 25 +- arch/x86/mm/mmap.c | 21 + arch/x86/mm/pageattr.c | 8 +- arch/x86/platform/efi/efi_64.c | 1 + arch/x86/platform/efi/quirks.c | 1 + .../intel-mid/device_libs/platform_mrfld_wdt.c | 1 + arch/x86/platform/uv/tlb_uv.c | 1 + arch/x86/xen/enlighten.c | 1 + arch/x86/xen/setup.c | 1 + drivers/acpi/acpi_lpss.c | 2 + drivers/base/cpu.c | 8 + drivers/char/tpm/tpm-dev.c | 43 +- drivers/infiniband/core/umem.c | 11 +- drivers/infiniband/hw/mlx4/mr.c | 50 +- drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 2 +- drivers/mtd/nand/qcom_nandc.c | 3 + drivers/net/xen-netfront.c | 8 +- drivers/pci/host/pci-hyperv.c | 2 + drivers/scsi/sr.c | 29 +- fs/dcache.c | 13 +- fs/ext4/ialloc.c | 5 +- fs/ext4/super.c | 8 +- fs/namespace.c | 28 +- fs/proc/inode.c | 3 +- fs/proc/internal.h | 7 +- fs/proc/proc_sysctl.c | 83 ++- include/asm-generic/pgtable.h | 12 + include/linux/compiler-clang.h | 3 + include/linux/cpu.h | 23 +- include/linux/swapfile.h | 2 + include/linux/sysctl.h | 1 + include/rdma/ib_verbs.h | 14 + include/uapi/linux/kvm.h | 2 + init/main.c | 2 +- kernel/cpu.c | 282 +++++++++- kernel/smp.c | 2 + kernel/softirq.c | 12 +- mm/memory.c | 29 +- mm/mprotect.c | 49 ++ mm/swapfile.c | 46 +- tools/arch/x86/include/asm/cpufeatures.h | 4 +- 105 files changed, 2680 insertions(+), 366 deletions(-)