From: Sasha Levin Date: Sat, 23 May 2020 14:47:17 +0000 (-0400) Subject: Fixes for 5.4 X-Git-Tag: v4.4.225~39^2~2 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=308e3ff19b696b102596c7ddc27b2b4f72791825;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 5.4 Signed-off-by: Sasha Levin --- diff --git a/queue-5.4/powerpc-64s-disable-strict_kernel_rwx.patch b/queue-5.4/powerpc-64s-disable-strict_kernel_rwx.patch new file mode 100644 index 00000000000..678736ae893 --- /dev/null +++ b/queue-5.4/powerpc-64s-disable-strict_kernel_rwx.patch @@ -0,0 +1,50 @@ +From 6a587b18a62e84eaf358a9813a7ac8a158290f05 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 198bbf42e398..3dc5aecdd853 100644 +--- a/arch/powerpc/Kconfig ++++ b/arch/powerpc/Kconfig +@@ -133,7 +133,7 @@ config PPC + select ARCH_HAS_PTE_SPECIAL + select ARCH_HAS_MEMBARRIER_CALLBACKS + select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE && PPC_BOOK3S_64 +- 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 + select ARCH_HAS_UACCESS_MCSAFE if PPC64 +-- +2.25.1 + diff --git a/queue-5.4/powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch b/queue-5.4/powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch new file mode 100644 index 00000000000..6e43c249933 --- /dev/null +++ b/queue-5.4/powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch @@ -0,0 +1,39 @@ +From 5fde7c3273d323c907e5bcaa88b1c3433a7a7d34 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 2b1033f13210..198bbf42e398 100644 +--- a/arch/powerpc/Kconfig ++++ b/arch/powerpc/Kconfig +@@ -133,7 +133,7 @@ config PPC + select ARCH_HAS_PTE_SPECIAL + select ARCH_HAS_MEMBARRIER_CALLBACKS + select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE && PPC_BOOK3S_64 +- 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 + select ARCH_HAS_UACCESS_MCSAFE if PPC64 +-- +2.25.1 + diff --git a/queue-5.4/series b/queue-5.4/series index f12d14954ca..cf9521efa49 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -74,3 +74,5 @@ dmaengine-owl-use-correct-lock-in-owl_dma_get_pchan.patch vsprintf-don-t-obfuscate-null-and-error-pointers.patch drm-i915-gvt-init-dpll-ddi-vreg-for-virtual-display-instead-of-inheritance.patch drm-i915-propagate-error-from-completed-fences.patch +powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch +powerpc-64s-disable-strict_kernel_rwx.patch