]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Apr 2020 09:09:10 +0000 (11:09 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Apr 2020 09:09:10 +0000 (11:09 +0200)
added patches:
powerpc-kuap-ppc_kuap_debug-should-depend-on-ppc_kuap.patch
powerpc-mm-fix-config_ppc_kuap_debug-on-ppc32.patch

queue-5.4/powerpc-kuap-ppc_kuap_debug-should-depend-on-ppc_kuap.patch [new file with mode: 0644]
queue-5.4/powerpc-mm-fix-config_ppc_kuap_debug-on-ppc32.patch [new file with mode: 0644]
queue-5.4/series

diff --git a/queue-5.4/powerpc-kuap-ppc_kuap_debug-should-depend-on-ppc_kuap.patch b/queue-5.4/powerpc-kuap-ppc_kuap_debug-should-depend-on-ppc_kuap.patch
new file mode 100644 (file)
index 0000000..15dabfe
--- /dev/null
@@ -0,0 +1,35 @@
+From 61da50b76b62fd815aa82d853bf82bf4f69568f5 Mon Sep 17 00:00:00 2001
+From: Michael Ellerman <mpe@ellerman.id.au>
+Date: Sun, 1 Mar 2020 22:17:38 +1100
+Subject: powerpc/kuap: PPC_KUAP_DEBUG should depend on PPC_KUAP
+
+From: Michael Ellerman <mpe@ellerman.id.au>
+
+commit 61da50b76b62fd815aa82d853bf82bf4f69568f5 upstream.
+
+Currently you can enable PPC_KUAP_DEBUG when PPC_KUAP is disabled,
+even though the former has not effect without the latter.
+
+Fix it so that PPC_KUAP_DEBUG can only be enabled when PPC_KUAP is
+enabled, not when the platform could support KUAP (PPC_HAVE_KUAP).
+
+Fixes: 890274c2dc4c ("powerpc/64s: Implement KUAP for Radix MMU")
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/20200301111738.22497-1-mpe@ellerman.id.au
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/platforms/Kconfig.cputype |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/powerpc/platforms/Kconfig.cputype
++++ b/arch/powerpc/platforms/Kconfig.cputype
+@@ -389,7 +389,7 @@ config PPC_KUAP
+ config PPC_KUAP_DEBUG
+       bool "Extra debugging for Kernel Userspace Access Protection"
+-      depends on PPC_HAVE_KUAP && (PPC_RADIX_MMU || PPC_32)
++      depends on PPC_KUAP && (PPC_RADIX_MMU || PPC_32)
+       help
+         Add extra debugging for Kernel Userspace Access Protection (KUAP)
+         If you're unsure, say N.
diff --git a/queue-5.4/powerpc-mm-fix-config_ppc_kuap_debug-on-ppc32.patch b/queue-5.4/powerpc-mm-fix-config_ppc_kuap_debug-on-ppc32.patch
new file mode 100644 (file)
index 0000000..2ed4375
--- /dev/null
@@ -0,0 +1,51 @@
+From feb8e960d780e170e992a70491eec9dd68f4dbf2 Mon Sep 17 00:00:00 2001
+From: Christophe Leroy <christophe.leroy@c-s.fr>
+Date: Fri, 17 Apr 2020 11:58:36 +0000
+Subject: powerpc/mm: Fix CONFIG_PPC_KUAP_DEBUG on PPC32
+
+From: Christophe Leroy <christophe.leroy@c-s.fr>
+
+commit feb8e960d780e170e992a70491eec9dd68f4dbf2 upstream.
+
+CONFIG_PPC_KUAP_DEBUG is not selectable because it depends on PPC_32
+which doesn't exists.
+
+Fixing it leads to a deadlock due to a vital register getting
+clobbered in _switch().
+
+Change dependency to PPC32 and use r0 instead of r4 in _switch()
+
+Fixes: e2fb9f544431 ("powerpc/32: Prepare for Kernel Userspace Access Protection")
+Cc: stable@vger.kernel.org # v5.2+
+Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/540242f7d4573f7cdf1b3bf46bb35f743b2cd68f.1587124651.git.christophe.leroy@c-s.fr
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/kernel/entry_32.S         |    2 +-
+ arch/powerpc/platforms/Kconfig.cputype |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/powerpc/kernel/entry_32.S
++++ b/arch/powerpc/kernel/entry_32.S
+@@ -705,7 +705,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_SPE)
+       stw     r10,_CCR(r1)
+       stw     r1,KSP(r3)      /* Set old stack pointer */
+-      kuap_check r2, r4
++      kuap_check r2, r0
+ #ifdef CONFIG_SMP
+       /* We need a sync somewhere here to make sure that if the
+        * previous task gets rescheduled on another CPU, it sees all
+--- a/arch/powerpc/platforms/Kconfig.cputype
++++ b/arch/powerpc/platforms/Kconfig.cputype
+@@ -389,7 +389,7 @@ config PPC_KUAP
+ config PPC_KUAP_DEBUG
+       bool "Extra debugging for Kernel Userspace Access Protection"
+-      depends on PPC_KUAP && (PPC_RADIX_MMU || PPC_32)
++      depends on PPC_KUAP && (PPC_RADIX_MMU || PPC32)
+       help
+         Add extra debugging for Kernel Userspace Access Protection (KUAP)
+         If you're unsure, say N.
index 74515ffab28a6e2d06370affa96fde08f88f5433..b0d41d0fddabebc882d94884edee7d06de3d93a0 100644 (file)
@@ -162,3 +162,5 @@ revert-serial-uartps-do-not-allow-use-aliases-max_uart_instances.patch
 revert-serial-uartps-change-uart-id-port-allocation.patch
 revert-serial-uartps-move-port-id-to-device-data-structure.patch
 revert-serial-uartps-register-own-uart-console-and-driver-structures.patch
+powerpc-kuap-ppc_kuap_debug-should-depend-on-ppc_kuap.patch
+powerpc-mm-fix-config_ppc_kuap_debug-on-ppc32.patch