From: Sasha Levin Date: Sat, 23 May 2020 14:47:17 +0000 (-0400) Subject: Fixes for 4.19 X-Git-Tag: v4.4.225~39^2~1 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=075b36ec941609e0b132732620c0a698da0b00e1;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 4.19 Signed-off-by: Sasha Levin --- diff --git a/queue-4.19/powerpc-64s-disable-strict_kernel_rwx.patch b/queue-4.19/powerpc-64s-disable-strict_kernel_rwx.patch new file mode 100644 index 00000000000..dfe35ba8e22 --- /dev/null +++ b/queue-4.19/powerpc-64s-disable-strict_kernel_rwx.patch @@ -0,0 +1,50 @@ +From 502b5903f8e9809e9cb9fbb004212e41c1a5e639 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 da48a2ca272e..f38d153d2586 100644 +--- a/arch/powerpc/Kconfig ++++ b/arch/powerpc/Kconfig +@@ -139,7 +139,7 @@ config PPC + select ARCH_HAS_MEMBARRIER_CALLBACKS + 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_UACCESS_FLUSHCACHE if PPC64 + select ARCH_HAS_UBSAN_SANITIZE_ALL +-- +2.25.1 + diff --git a/queue-4.19/powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch b/queue-4.19/powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch new file mode 100644 index 00000000000..170de63a834 --- /dev/null +++ b/queue-4.19/powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch @@ -0,0 +1,39 @@ +From 1f2170371babe745c5f74fd3704f8d3913b83cb7 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 6f475dc5829b..da48a2ca272e 100644 +--- a/arch/powerpc/Kconfig ++++ b/arch/powerpc/Kconfig +@@ -139,7 +139,7 @@ config PPC + select ARCH_HAS_MEMBARRIER_CALLBACKS + 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_UACCESS_FLUSHCACHE if PPC64 + select ARCH_HAS_UBSAN_SANITIZE_ALL +-- +2.25.1 + diff --git a/queue-4.19/series b/queue-4.19/series index 7089bce54ce..99172a208c4 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -44,3 +44,5 @@ apparmor-fix-aa_label-refcnt-leak-in-policy_update.patch dmaengine-tegra210-adma-fix-an-error-handling-path-in-tegra_adma_probe.patch dmaengine-owl-use-correct-lock-in-owl_dma_get_pchan.patch drm-i915-gvt-init-dpll-ddi-vreg-for-virtual-display-instead-of-inheritance.patch +powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch +powerpc-64s-disable-strict_kernel_rwx.patch