[pve-devel] [PATCH master+bookworm-6.8 kernel] cherry-pick fix mitigating host reboot issue affecting certain AMD Zen4 CPU models
Fiona Ebner
f.ebner at proxmox.com
Wed Nov 6 10:55:35 CET 2024
Reported in the community forum:
Issue: https://forum.proxmox.com/threads/139500/
Fix: https://forum.proxmox.com/threads/139500/post-717968
Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
---
Should also be applied to the 6.8 kernel while renumbering the newly
added patch.
...r-virtualized-VMLOAD-VMSAVE-on-Zen4-.patch | 44 +++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 patches/kernel/0015-x86-CPU-AMD-Clear-virtualized-VMLOAD-VMSAVE-on-Zen4-.patch
diff --git a/patches/kernel/0015-x86-CPU-AMD-Clear-virtualized-VMLOAD-VMSAVE-on-Zen4-.patch b/patches/kernel/0015-x86-CPU-AMD-Clear-virtualized-VMLOAD-VMSAVE-on-Zen4-.patch
new file mode 100644
index 0000000..76957b6
--- /dev/null
+++ b/patches/kernel/0015-x86-CPU-AMD-Clear-virtualized-VMLOAD-VMSAVE-on-Zen4-.patch
@@ -0,0 +1,44 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Mario Limonciello <mario.limonciello at amd.com>
+Date: Tue, 5 Nov 2024 10:02:34 -0600
+Subject: [PATCH] x86/CPU/AMD: Clear virtualized VMLOAD/VMSAVE on Zen4 client
+
+A number of Zen4 client SoCs advertise the ability to use virtualized
+VMLOAD/VMSAVE, but using these instructions is reported to be a cause
+of a random host reboot.
+
+These instructions aren't intended to be advertised on Zen4 client
+so clear the capability.
+
+Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
+Signed-off-by: Borislav Petkov (AMD) <bp at alien8.de>
+Cc: stable at vger.kernel.org
+Link: https://bugzilla.kernel.org/show_bug.cgi?id=219009
+(cherry picked from commit a5ca1dc46a6b610dd4627d8b633d6c84f9724ef0)
+Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
+---
+ arch/x86/kernel/cpu/amd.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
+index 1e0fe5f8ab84..ee87f997d31f 100644
+--- a/arch/x86/kernel/cpu/amd.c
++++ b/arch/x86/kernel/cpu/amd.c
+@@ -924,6 +924,17 @@ static void init_amd_zen4(struct cpuinfo_x86 *c)
+ {
+ if (!cpu_has(c, X86_FEATURE_HYPERVISOR))
+ msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT);
++
++ /*
++ * These Zen4 SoCs advertise support for virtualized VMLOAD/VMSAVE
++ * in some BIOS versions but they can lead to random host reboots.
++ */
++ switch (c->x86_model) {
++ case 0x18 ... 0x1f:
++ case 0x60 ... 0x7f:
++ clear_cpu_cap(c, X86_FEATURE_V_VMSAVE_VMLOAD);
++ break;
++ }
+ }
+
+ static void init_amd_zen5(struct cpuinfo_x86 *c)
--
2.39.5
More information about the pve-devel
mailing list