9dd7462461
by cherry-picking the relevant commits from launchpad/lunar [0]. (relevant commits are based on k.o/stable commits for this) minimally tested by booting my (ryzen) machine with this kernel and skimming through dmesg after boot. [0] git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/lunar Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
43 lines
1.6 KiB
Diff
43 lines
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Juergen Gross <jgross@suse.com>
|
|
Date: Mon, 3 Jul 2023 15:00:32 +0200
|
|
Subject: [PATCH] x86/xen: Fix secondary processors' FPU initialization
|
|
|
|
Moving the call of fpu__init_cpu() from cpu_init() to start_secondary()
|
|
broke Xen PV guests, as those don't call start_secondary() for APs.
|
|
|
|
Call fpu__init_cpu() in Xen's cpu_bringup(), which is the Xen PV
|
|
replacement of start_secondary().
|
|
|
|
Fixes: b81fac906a8f ("x86/fpu: Move FPU initialization into arch_cpu_finalize_init()")
|
|
Signed-off-by: Juergen Gross <jgross@suse.com>
|
|
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
|
|
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
|
|
Acked-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Link: https://lore.kernel.org/r/20230703130032.22916-1-jgross@suse.com
|
|
|
|
(cherry picked from commit fe3e0a13e597c1c8617814bf9b42ab732db5c26e)
|
|
CVE-2022-40982
|
|
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
|
|
Acked-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
|
|
Acked-by: Stefan Bader <stefan.bader@canonical.com>
|
|
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
|
|
(cherry picked from commit 96617ee9a5943f6c58fa503257e18b191e84d117)
|
|
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
|
|
---
|
|
arch/x86/xen/smp_pv.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/arch/x86/xen/smp_pv.c b/arch/x86/xen/smp_pv.c
|
|
index 6175f2c5c822..e97bab7b0010 100644
|
|
--- a/arch/x86/xen/smp_pv.c
|
|
+++ b/arch/x86/xen/smp_pv.c
|
|
@@ -63,6 +63,7 @@ static void cpu_bringup(void)
|
|
|
|
cr4_init();
|
|
cpu_init();
|
|
+ fpu__init_cpu();
|
|
touch_softlockup_watchdog();
|
|
|
|
/* PVH runs in ring 0 and allows us to do native syscalls. Yay! */
|