]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 Apr 2024 11:15:24 +0000 (13:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 Apr 2024 11:15:24 +0000 (13:15 +0200)
added patches:
x86-cpu-fix-check-for-rdpkru-in-__show_regs.patch

queue-5.15/series
queue-5.15/x86-cpu-fix-check-for-rdpkru-in-__show_regs.patch [new file with mode: 0644]

index 887b936e089209a72eae2cd3b3529bee84661a5e..a5925da470fa089fec38c4eb749848c549f0cf6e 100644 (file)
@@ -49,3 +49,4 @@ revert-crypto-api-disallow-identical-driver-names.patch
 net-mlx5e-fix-a-race-in-command-alloc-flow.patch
 tracing-show-size-of-requested-perf-buffer.patch
 tracing-increase-perf_max_trace_size-to-handle-sentinel1-and-docker-together.patch
+x86-cpu-fix-check-for-rdpkru-in-__show_regs.patch
diff --git a/queue-5.15/x86-cpu-fix-check-for-rdpkru-in-__show_regs.patch b/queue-5.15/x86-cpu-fix-check-for-rdpkru-in-__show_regs.patch
new file mode 100644 (file)
index 0000000..0b17270
--- /dev/null
@@ -0,0 +1,42 @@
+From b53c6bd5d271d023857174b8fd3e32f98ae51372 Mon Sep 17 00:00:00 2001
+From: David Kaplan <david.kaplan@amd.com>
+Date: Sun, 21 Apr 2024 21:17:28 +0200
+Subject: x86/cpu: Fix check for RDPKRU in __show_regs()
+
+From: David Kaplan <david.kaplan@amd.com>
+
+commit b53c6bd5d271d023857174b8fd3e32f98ae51372 upstream.
+
+cpu_feature_enabled(X86_FEATURE_OSPKE) does not necessarily reflect
+whether CR4.PKE is set on the CPU.  In particular, they may differ on
+non-BSP CPUs before setup_pku() is executed.  In this scenario, RDPKRU
+will #UD causing the system to hang.
+
+Fix by checking CR4 for PKE enablement which is always correct for the
+current CPU.
+
+The scenario happens by inserting a WARN* before setup_pku() in
+identiy_cpu() or some other diagnostic which would lead to calling
+__show_regs().
+
+  [ bp: Massage commit message. ]
+
+Signed-off-by: David Kaplan <david.kaplan@amd.com>
+Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
+Link: https://lore.kernel.org/r/20240421191728.32239-1-bp@kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/kernel/process_64.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/x86/kernel/process_64.c
++++ b/arch/x86/kernel/process_64.c
+@@ -137,7 +137,7 @@ void __show_regs(struct pt_regs *regs, e
+                      log_lvl, d3, d6, d7);
+       }
+-      if (cpu_feature_enabled(X86_FEATURE_OSPKE))
++      if (cr4 & X86_CR4_PKE)
+               printk("%sPKRU: %08x\n", log_lvl, read_pkru());
+ }