From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mga17.intel.com ([192.55.52.151]) by Galois.linutronix.de with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1fERJp-0001TQ-Le for speck@linutronix.de; Fri, 04 May 2018 05:23:38 +0200 From: Andi Kleen Subject: [MODERATED] [PATCH 0/8] L1TFv3 4 Date: Thu, 3 May 2018 20:23:21 -0700 Message-Id: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 To: speck@linutronix.de List-ID: This is v3 of the core VM L1 OS mitigation. - Addressed review comments - Fixed a bug on 32bit PAE that prevented setting all needed bits to protect the full host memory. - Added a new patch to forbid PROT_NONE high MMIO again. We found some systems where it is needed. This version tries to minimize any breakage by limiting the check to non root only, and only refusing the PROT_NONE when the underlying MMIO address is actually high. Andi Kleen (7): x86, l1tf: Increase 32bit PAE __PHYSICAL_PAGE_MASK x86, l1tf: Protect PROT_NONE PTEs against speculation x86, l1tf: Make sure the first page is always reserved x86, l1tf: Add sysfs reporting for l1tf x86, l1tf: Report if too much memory for L1TF workaround x86, l1tf: Limit swap file size to MAX_PA/2 mm, l1tf: Disallow non privileged high MMIO PROT_NONE mappings Linus Torvalds (1): x86, l1tf: Protect swap entries against L1TF arch/x86/include/asm/cpufeatures.h | 2 ++ arch/x86/include/asm/page_32_types.h | 9 +++++-- arch/x86/include/asm/pgtable-2level.h | 12 +++++++++ arch/x86/include/asm/pgtable-3level.h | 2 ++ arch/x86/include/asm/pgtable-invert.h | 28 ++++++++++++++++++++ arch/x86/include/asm/pgtable.h | 48 ++++++++++++++++++++++++---------- arch/x86/include/asm/pgtable_64.h | 38 +++++++++++++++++++-------- arch/x86/kernel/cpu/bugs.c | 11 ++++++++ arch/x86/kernel/cpu/common.c | 10 ++++++- arch/x86/kernel/setup.c | 27 ++++++++++++++++++- arch/x86/mm/init.c | 17 ++++++++++++ arch/x86/mm/mmap.c | 21 +++++++++++++++ drivers/base/cpu.c | 8 ++++++ include/asm-generic/pgtable.h | 12 +++++++++ include/linux/cpu.h | 2 ++ include/linux/swapfile.h | 2 ++ mm/memory.c | 37 +++++++++++++++++++------- mm/mprotect.c | 49 +++++++++++++++++++++++++++++++++++ mm/swapfile.c | 44 +++++++++++++++++++------------ 19 files changed, 325 insertions(+), 54 deletions(-) create mode 100644 arch/x86/include/asm/pgtable-invert.h -- 2.14.3