]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 4.14
authorSasha Levin <sashal@kernel.org>
Sat, 23 May 2020 14:47:18 +0000 (10:47 -0400)
committerSasha Levin <sashal@kernel.org>
Sat, 23 May 2020 14:47:18 +0000 (10:47 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.14/powerpc-64s-disable-strict_kernel_rwx.patch [new file with mode: 0644]
queue-4.14/powerpc-remove-strict_kernel_rwx-incompatibility-wit.patch [new file with mode: 0644]
queue-4.14/powerpc-restore-alphabetic-order-in-kconfig.patch [new file with mode: 0644]
queue-4.14/series

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 (file)
index 0000000..cd16983
--- /dev/null
@@ -0,0 +1,50 @@
+From 9934edb6b94d67abb6d0e5a4e8baaa9a3c748ea2 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 20 May 2020 23:36:05 +1000
+Subject: powerpc/64s: Disable STRICT_KERNEL_RWX
+
+From: Michael Ellerman <mpe@ellerman.id.au>
+
+[ 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 <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/20200520133605.972649-1-mpe@ellerman.id.au
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ 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 (file)
index 0000000..a9c42b2
--- /dev/null
@@ -0,0 +1,39 @@
+From 506258c43e9e197f5b43964482fbd16eab8bddf1 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 24 Dec 2019 17:41:26 +1100
+Subject: powerpc: Remove STRICT_KERNEL_RWX incompatibility with RELOCATABLE
+
+From: Russell Currey <ruscur@russell.cc>
+
+[ 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 <ruscur@russell.cc>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/20191224064126.183670-2-ruscur@russell.cc
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ 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 (file)
index 0000000..52c373c
--- /dev/null
@@ -0,0 +1,53 @@
+From 2e9e411412d0ebbea1d96cb0a8f7fe4820f184e4 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 4 Jan 2018 16:35:25 +0100
+Subject: powerpc: restore alphabetic order in Kconfig
+
+From: Christophe Leroy <christophe.leroy@c-s.fr>
+
+[ 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 <christophe.leroy@c-s.fr>
+Acked-by: Balbir Singh <bsingharora@gmail.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ 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
+
index 755332abba159815df239b5dff452eba9b0d6a0b..7999fd69093d46860f2f370141d41247009ebd99 100644 (file)
@@ -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