From: Sasha Levin Date: Sat, 23 May 2020 14:47:18 +0000 (-0400) Subject: Fixes for 4.14 X-Git-Tag: v4.4.225~39^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dce0857e24cc9c33b185b2bdac427654bf6f2909;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 4.14 Signed-off-by: Sasha Levin --- diff --git a/queue-4.14/powerpc-64s-disable-strict_kernel_rwx.patch b/queue-4.14/powerpc-64s-disable-strict_kernel_rwx.patch new file mode 100644 index 00000000000..cd169834548 --- /dev/null +++ b/queue-4.14/powerpc-64s-disable-strict_kernel_rwx.patch @@ -0,0 +1,50 @@ +From 9934edb6b94d67abb6d0e5a4e8baaa9a3c748ea2 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 20 May 2020 23:36:05 +1000 +Subject: powerpc/64s: Disable STRICT_KERNEL_RWX + +From: Michael Ellerman + +[ Upstream commit 8659a0e0efdd975c73355dbc033f79ba3b31e82c ] + +Several strange crashes have been eventually traced back to +STRICT_KERNEL_RWX and its interaction with code patching. + +Various paths in our ftrace, kprobes and other patching code need to +be hardened against patching failures, otherwise we can end up running +with partially/incorrectly patched ftrace paths, kprobes or jump +labels, which can then cause strange crashes. + +Although fixes for those are in development, they're not -rc material. + +There also seem to be problems with the underlying strict RWX logic, +which needs further debugging. + +So for now disable STRICT_KERNEL_RWX on 64-bit to prevent people from +enabling the option and tripping over the bugs. + +Fixes: 1e0fc9d1eb2b ("powerpc/Kconfig: Enable STRICT_KERNEL_RWX for some configs") +Cc: stable@vger.kernel.org # v4.13+ +Signed-off-by: Michael Ellerman +Link: https://lore.kernel.org/r/20200520133605.972649-1-mpe@ellerman.id.au +Signed-off-by: Sasha Levin +--- + arch/powerpc/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig +index b74c3a68c0ad..679e1e3c1695 100644 +--- a/arch/powerpc/Kconfig ++++ b/arch/powerpc/Kconfig +@@ -141,7 +141,7 @@ config PPC + select ARCH_HAS_GCOV_PROFILE_ALL + select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE + select ARCH_HAS_SG_CHAIN +- select ARCH_HAS_STRICT_KERNEL_RWX if ((PPC_BOOK3S_64 || PPC32) && !HIBERNATION) ++ select ARCH_HAS_STRICT_KERNEL_RWX if (PPC32 && !HIBERNATION) + select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST + select ARCH_HAS_UBSAN_SANITIZE_ALL + select ARCH_HAS_ZONE_DEVICE if PPC_BOOK3S_64 +-- +2.25.1 + diff --git a/queue-4.14/powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch b/queue-4.14/powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch new file mode 100644 index 00000000000..a9c42b2eb95 --- /dev/null +++ b/queue-4.14/powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch @@ -0,0 +1,39 @@ +From 506258c43e9e197f5b43964482fbd16eab8bddf1 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 24 Dec 2019 17:41:26 +1100 +Subject: powerpc: Remove STRICT_KERNEL_RWX incompatibility with RELOCATABLE + +From: Russell Currey + +[ Upstream commit c55d7b5e64265fdca45c85b639013e770bde2d0e ] + +I have tested this with the Radix MMU and everything seems to work, and +the previous patch for Hash seems to fix everything too. +STRICT_KERNEL_RWX should still be disabled by default for now. + +Please test STRICT_KERNEL_RWX + RELOCATABLE! + +Signed-off-by: Russell Currey +Signed-off-by: Michael Ellerman +Link: https://lore.kernel.org/r/20191224064126.183670-2-ruscur@russell.cc +Signed-off-by: Sasha Levin +--- + arch/powerpc/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig +index 6b73ef2bba2e..b74c3a68c0ad 100644 +--- a/arch/powerpc/Kconfig ++++ b/arch/powerpc/Kconfig +@@ -141,7 +141,7 @@ config PPC + select ARCH_HAS_GCOV_PROFILE_ALL + select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE + select ARCH_HAS_SG_CHAIN +- select ARCH_HAS_STRICT_KERNEL_RWX if ((PPC_BOOK3S_64 || PPC32) && !RELOCATABLE && !HIBERNATION) ++ select ARCH_HAS_STRICT_KERNEL_RWX if ((PPC_BOOK3S_64 || PPC32) && !HIBERNATION) + select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST + select ARCH_HAS_UBSAN_SANITIZE_ALL + select ARCH_HAS_ZONE_DEVICE if PPC_BOOK3S_64 +-- +2.25.1 + diff --git a/queue-4.14/powerpc-restore-alphabetic-order-in-kconfig.patch b/queue-4.14/powerpc-restore-alphabetic-order-in-kconfig.patch new file mode 100644 index 00000000000..52c373cf995 --- /dev/null +++ b/queue-4.14/powerpc-restore-alphabetic-order-in-kconfig.patch @@ -0,0 +1,53 @@ +From 2e9e411412d0ebbea1d96cb0a8f7fe4820f184e4 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 4 Jan 2018 16:35:25 +0100 +Subject: powerpc: restore alphabetic order in Kconfig + +From: Christophe Leroy + +[ Upstream commit 4ec591e51a4b0aedb6c7f1a8cd722aa58d7f61ba ] + +This patch restores the alphabetic order which was broken by +commit 1e0fc9d1eb2b0 ("powerpc/Kconfig: Enable STRICT_KERNEL_RWX +for some configs") + +Fixes: 1e0fc9d1eb2b0 ("powerpc/Kconfig: Enable STRICT_KERNEL_RWX for some configs") +Signed-off-by: Christophe Leroy +Acked-by: Balbir Singh +Signed-off-by: Michael Ellerman +Signed-off-by: Sasha Levin +--- + arch/powerpc/Kconfig | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig +index 277e4ffb928b..6b73ef2bba2e 100644 +--- a/arch/powerpc/Kconfig ++++ b/arch/powerpc/Kconfig +@@ -141,12 +141,14 @@ config PPC + select ARCH_HAS_GCOV_PROFILE_ALL + select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE + select ARCH_HAS_SG_CHAIN ++ select ARCH_HAS_STRICT_KERNEL_RWX if ((PPC_BOOK3S_64 || PPC32) && !RELOCATABLE && !HIBERNATION) + select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST + select ARCH_HAS_UBSAN_SANITIZE_ALL + select ARCH_HAS_ZONE_DEVICE if PPC_BOOK3S_64 + select ARCH_HAVE_NMI_SAFE_CMPXCHG + select ARCH_MIGHT_HAVE_PC_PARPORT + select ARCH_MIGHT_HAVE_PC_SERIO ++ select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX + select ARCH_SUPPORTS_ATOMIC_RMW + select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT + select ARCH_USE_BUILTIN_BSWAP +@@ -178,8 +180,6 @@ config PPC + select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT + select HAVE_ARCH_SECCOMP_FILTER + select HAVE_ARCH_TRACEHOOK +- select ARCH_HAS_STRICT_KERNEL_RWX if ((PPC_BOOK3S_64 || PPC32) && !RELOCATABLE && !HIBERNATION) +- select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX + select HAVE_CBPF_JIT if !PPC64 + select HAVE_CONTEXT_TRACKING if PPC64 + select HAVE_DEBUG_KMEMLEAK +-- +2.25.1 + diff --git a/queue-4.14/series b/queue-4.14/series index 755332abba1..7999fd69093 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -36,3 +36,6 @@ alsa-iec1712-initialize-stdsp24-properly-when-using-the-model-staudio-option.pat alsa-pcm-fix-incorrect-hw_base-increase.patch apparmor-fix-aa_label-refcnt-leak-in-policy_update.patch dmaengine-tegra210-adma-fix-an-error-handling-path-in-tegra_adma_probe.patch +powerpc-restore-alphabetic-order-in-kconfig.patch +powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch +powerpc-64s-disable-strict_kernel_rwx.patch