[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