From: Greg Kroah-Hartman Date: Mon, 17 Sep 2018 20:26:22 +0000 (+0200) Subject: drop a 4.4 patch and refresh another one X-Git-Tag: v4.18.9~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3fac7901fac320de7a123a9c229b86711e8e4981;p=thirdparty%2Fkernel%2Fstable-queue.git drop a 4.4 patch and refresh another one --- diff --git a/queue-4.4/series b/queue-4.4/series index 20fa89a4dd5..fa599dcfc24 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -31,7 +31,6 @@ scsi-3ware-fix-return-0-on-the-error-path-of-probe.patch ath10k-disable-bundle-mgmt-tx-completion-event-support.patch bluetooth-hidp-fix-handling-of-strncpy-for-hid-name-information.patch x86-mm-remove-in_nmi-warning-from-vmalloc_fault.patch -x86-kexec-allocate-8k-pgds-for-pti.patch gpio-ml-ioh-fix-buffer-underwrite-on-probe-error-path.patch net-mvneta-fix-mtu-change-on-port-without-link.patch mips-octeon-add-missing-of_node_put.patch diff --git a/queue-4.4/x86-kexec-allocate-8k-pgds-for-pti.patch b/queue-4.4/x86-kexec-allocate-8k-pgds-for-pti.patch deleted file mode 100644 index 5b807912159..00000000000 --- a/queue-4.4/x86-kexec-allocate-8k-pgds-for-pti.patch +++ /dev/null @@ -1,82 +0,0 @@ -From foo@baz Mon Sep 17 12:15:09 CEST 2018 -From: Joerg Roedel -Date: Wed, 25 Jul 2018 17:48:03 +0200 -Subject: x86/kexec: Allocate 8k PGDs for PTI - -From: Joerg Roedel - -[ Upstream commit ca38dc8f2724d101038b1205122c93a1c7f38f11 ] - -Fuzzing the PTI-x86-32 code with trinity showed unhandled -kernel paging request oops-messages that looked a lot like -silent data corruption. - -Lot's of debugging and testing lead to the kexec-32bit code, -which is still allocating 4k PGDs when PTI is enabled. But -since it uses native_set_pud() to build the page-table, it -will unevitably call into __pti_set_user_pgtbl(), which -writes beyond the allocated 4k page. - -Use PGD_ALLOCATION_ORDER to allocate PGDs in the kexec code -to fix the issue. - -Signed-off-by: Joerg Roedel -Signed-off-by: Thomas Gleixner -Tested-by: David H. Gutteridge -Cc: "H . Peter Anvin" -Cc: linux-mm@kvack.org -Cc: Linus Torvalds -Cc: Andy Lutomirski -Cc: Dave Hansen -Cc: Josh Poimboeuf -Cc: Juergen Gross -Cc: Peter Zijlstra -Cc: Borislav Petkov -Cc: Jiri Kosina -Cc: Boris Ostrovsky -Cc: Brian Gerst -Cc: David Laight -Cc: Denys Vlasenko -Cc: Eduardo Valentin -Cc: Greg KH -Cc: Will Deacon -Cc: aliguori@amazon.com -Cc: daniel.gruss@iaik.tugraz.at -Cc: hughd@google.com -Cc: keescook@google.com -Cc: Andrea Arcangeli -Cc: Waiman Long -Cc: Pavel Machek -Cc: Arnaldo Carvalho de Melo -Cc: Alexander Shishkin -Cc: Jiri Olsa -Cc: Namhyung Kim -Cc: joro@8bytes.org -Link: https://lkml.kernel.org/r/1532533683-5988-4-git-send-email-joro@8bytes.org -Signed-off-by: Sasha Levin -Signed-off-by: Greg Kroah-Hartman ---- - arch/x86/kernel/machine_kexec_32.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/arch/x86/kernel/machine_kexec_32.c -+++ b/arch/x86/kernel/machine_kexec_32.c -@@ -70,7 +70,7 @@ static void load_segments(void) - - static void machine_kexec_free_page_tables(struct kimage *image) - { -- free_page((unsigned long)image->arch.pgd); -+ free_pages((unsigned long)image->arch.pgd, PGD_ALLOCATION_ORDER); - image->arch.pgd = NULL; - #ifdef CONFIG_X86_PAE - free_page((unsigned long)image->arch.pmd0); -@@ -86,7 +86,8 @@ static void machine_kexec_free_page_tabl - - static int machine_kexec_alloc_page_tables(struct kimage *image) - { -- image->arch.pgd = (pgd_t *)get_zeroed_page(GFP_KERNEL); -+ image->arch.pgd = (pgd_t *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, -+ PGD_ALLOCATION_ORDER); - #ifdef CONFIG_X86_PAE - image->arch.pmd0 = (pmd_t *)get_zeroed_page(GFP_KERNEL); - image->arch.pmd1 = (pmd_t *)get_zeroed_page(GFP_KERNEL); diff --git a/queue-4.4/x86-speculation-l1tf-increase-l1tf-memory-limit-for-nehalem.patch b/queue-4.4/x86-speculation-l1tf-increase-l1tf-memory-limit-for-nehalem.patch index a984d49ca73..fbff0be5cf5 100644 --- a/queue-4.4/x86-speculation-l1tf-increase-l1tf-memory-limit-for-nehalem.patch +++ b/queue-4.4/x86-speculation-l1tf-increase-l1tf-memory-limit-for-nehalem.patch @@ -47,13 +47,11 @@ Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/20180824170351.34874-1-andi@firstfloor.org Signed-off-by: Greg Kroah-Hartman --- - arch/x86/include/asm/processor.h | 4 ++- - arch/x86/kernel/cpu/bugs.c | 47 ++++++++++++++++++++++++++++---- - arch/x86/kernel/cpu/common.c | 2 ++ + arch/x86/include/asm/processor.h | 4 ++- + arch/x86/kernel/cpu/bugs.c | 47 ++++++++++++++++++++++++++++++++++----- + arch/x86/kernel/cpu/common.c | 2 + 3 files changed, 47 insertions(+), 6 deletions(-) -diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h -index a3a53955f01c..cb07d3f618ca 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h @@ -104,6 +104,8 @@ struct cpuinfo_x86 { @@ -65,17 +63,15 @@ index a3a53955f01c..cb07d3f618ca 100644 /* Max extended CPUID function supported: */ __u32 extended_cpuid_level; /* Maximum supported CPUID level, -1=no CPUID: */ -@@ -174,7 +176,7 @@ extern void cpu_detect(struct cpuinfo_x86 *c); +@@ -174,7 +176,7 @@ extern void cpu_detect(struct cpuinfo_x8 - static inline unsigned long l1tf_pfn_limit(void) + static inline unsigned long long l1tf_pfn_limit(void) { -- return BIT(boot_cpu_data.x86_phys_bits - 1 - PAGE_SHIFT) - 1; +- return BIT_ULL(boot_cpu_data.x86_phys_bits - 1 - PAGE_SHIFT); + return BIT_ULL(boot_cpu_data.x86_cache_bits - 1 - PAGE_SHIFT); } extern void early_cpu_init(void); -diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c -index 34e4aaaf03d2..2a41a86aa5c2 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -634,6 +634,46 @@ void x86_spec_ctrl_setup_ap(void) @@ -125,7 +121,7 @@ index 34e4aaaf03d2..2a41a86aa5c2 100644 static void __init l1tf_select_mitigation(void) { u64 half_pa; -@@ -641,16 +681,13 @@ static void __init l1tf_select_mitigation(void) +@@ -641,16 +681,13 @@ static void __init l1tf_select_mitigatio if (!boot_cpu_has_bug(X86_BUG_L1TF)) return; @@ -144,8 +140,6 @@ index 34e4aaaf03d2..2a41a86aa5c2 100644 half_pa = (u64)l1tf_pfn_limit() << PAGE_SHIFT; if (e820_any_mapped(half_pa, ULLONG_MAX - half_pa, E820_RAM)) { pr_warn("System has more than MAX_PA/2 memory. L1TF mitigation not effective.\n"); -diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c -index 4d3fa79c0f09..b12c0287d6cf 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -798,6 +798,8 @@ void get_cpu_cap(struct cpuinfo_x86 *c) @@ -157,6 +151,3 @@ index 4d3fa79c0f09..b12c0287d6cf 100644 if (c->extended_cpuid_level >= 0x8000000a) c->x86_capability[CPUID_8000_000A_EDX] = cpuid_edx(0x8000000a); --- -2.17.1 -