From: Greg Kroah-Hartman Date: Thu, 27 Feb 2020 13:04:17 +0000 (+0100) Subject: 4.14-stable patches X-Git-Tag: v4.4.215~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d064eaa6a43f28a500eb255807ef790855b3f0d3;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: s390-mm-explicitly-compare-page_default_key-against-zero-in-storage_key_init_range.patch xen-enable-interrupts-when-calling-_cond_resched.patch --- diff --git a/queue-4.14/s390-mm-explicitly-compare-page_default_key-against-zero-in-storage_key_init_range.patch b/queue-4.14/s390-mm-explicitly-compare-page_default_key-against-zero-in-storage_key_init_range.patch new file mode 100644 index 00000000000..481c386e9e3 --- /dev/null +++ b/queue-4.14/s390-mm-explicitly-compare-page_default_key-against-zero-in-storage_key_init_range.patch @@ -0,0 +1,54 @@ +From 380324734956c64cd060e1db4304f3117ac15809 Mon Sep 17 00:00:00 2001 +From: Nathan Chancellor +Date: Thu, 13 Feb 2020 23:42:07 -0700 +Subject: s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range + +From: Nathan Chancellor + +commit 380324734956c64cd060e1db4304f3117ac15809 upstream. + +Clang warns: + + In file included from ../arch/s390/purgatory/purgatory.c:10: + In file included from ../include/linux/kexec.h:18: + In file included from ../include/linux/crash_core.h:6: + In file included from ../include/linux/elfcore.h:5: + In file included from ../include/linux/user.h:1: + In file included from ../arch/s390/include/asm/user.h:11: + ../arch/s390/include/asm/page.h:45:6: warning: converting the result of + '<<' to a boolean always evaluates to false + [-Wtautological-constant-compare] + if (PAGE_DEFAULT_KEY) + ^ + ../arch/s390/include/asm/page.h:23:44: note: expanded from macro + 'PAGE_DEFAULT_KEY' + #define PAGE_DEFAULT_KEY (PAGE_DEFAULT_ACC << 4) + ^ + 1 warning generated. + +Explicitly compare this against zero to silence the warning as it is +intended to be used in a boolean context. + +Fixes: de3fa841e429 ("s390/mm: fix compile for PAGE_DEFAULT_KEY != 0") +Link: https://github.com/ClangBuiltLinux/linux/issues/860 +Link: https://lkml.kernel.org/r/20200214064207.10381-1-natechancellor@gmail.com +Acked-by: Christian Borntraeger +Signed-off-by: Nathan Chancellor +Signed-off-by: Vasily Gorbik +Signed-off-by: Greg Kroah-Hartman + +--- + arch/s390/include/asm/page.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/s390/include/asm/page.h ++++ b/arch/s390/include/asm/page.h +@@ -42,7 +42,7 @@ void __storage_key_init_range(unsigned l + + static inline void storage_key_init_range(unsigned long start, unsigned long end) + { +- if (PAGE_DEFAULT_KEY) ++ if (PAGE_DEFAULT_KEY != 0) + __storage_key_init_range(start, end); + } + diff --git a/queue-4.14/series b/queue-4.14/series index 3a86aab17a5..4549ac454aa 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -233,3 +233,5 @@ alsa-seq-avoid-concurrent-access-to-queue-flags.patch alsa-seq-fix-concurrent-access-to-queue-current-tick-time.patch netfilter-xt_hashlimit-limit-the-max-size-of-hashtable.patch ata-ahci-add-shutdown-to-freeze-hardware-resources-of-ahci.patch +xen-enable-interrupts-when-calling-_cond_resched.patch +s390-mm-explicitly-compare-page_default_key-against-zero-in-storage_key_init_range.patch diff --git a/queue-4.14/xen-enable-interrupts-when-calling-_cond_resched.patch b/queue-4.14/xen-enable-interrupts-when-calling-_cond_resched.patch new file mode 100644 index 00000000000..7499235f5ef --- /dev/null +++ b/queue-4.14/xen-enable-interrupts-when-calling-_cond_resched.patch @@ -0,0 +1,43 @@ +From 8645e56a4ad6dcbf504872db7f14a2f67db88ef2 Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Wed, 19 Feb 2020 18:30:26 +0100 +Subject: xen: Enable interrupts when calling _cond_resched() + +From: Thomas Gleixner + +commit 8645e56a4ad6dcbf504872db7f14a2f67db88ef2 upstream. + +xen_maybe_preempt_hcall() is called from the exception entry point +xen_do_hypervisor_callback with interrupts disabled. + +_cond_resched() evades the might_sleep() check in cond_resched() which +would have caught that and schedule_debug() unfortunately lacks a check +for irqs_disabled(). + +Enable interrupts around the call and use cond_resched() to catch future +issues. + +Fixes: fdfd811ddde3 ("x86/xen: allow privcmd hypercalls to be preempted") +Signed-off-by: Thomas Gleixner +Link: https://lore.kernel.org/r/878skypjrh.fsf@nanos.tec.linutronix.de +Reviewed-by: Juergen Gross +Signed-off-by: Boris Ostrovsky +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/xen/preempt.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/xen/preempt.c ++++ b/drivers/xen/preempt.c +@@ -37,7 +37,9 @@ asmlinkage __visible void xen_maybe_pree + * cpu. + */ + __this_cpu_write(xen_in_preemptible_hcall, false); +- _cond_resched(); ++ local_irq_enable(); ++ cond_resched(); ++ local_irq_disable(); + __this_cpu_write(xen_in_preemptible_hcall, true); + } + }