From d5f7dca7bfe58a3e2894313ece3261656a49b1b3 Mon Sep 17 00:00:00 2001 From: Fiona Ebner Date: Wed, 6 Nov 2024 10:55:35 +0100 Subject: [PATCH] cherry-pick fix mitigating host reboot issue affecting certain AMD Zen4 CPU models 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 (cherry picked from commit a681faec23eeb4a4f116f59988b0a84b6785cdf5) Signed-off-by: Thomas Lamprecht --- ...r-virtualized-VMLOAD-VMSAVE-on-Zen4-.patch | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 patches/kernel/0019-x86-CPU-AMD-Clear-virtualized-VMLOAD-VMSAVE-on-Zen4-.patch diff --git a/patches/kernel/0019-x86-CPU-AMD-Clear-virtualized-VMLOAD-VMSAVE-on-Zen4-.patch b/patches/kernel/0019-x86-CPU-AMD-Clear-virtualized-VMLOAD-VMSAVE-on-Zen4-.patch new file mode 100644 index 0000000..76957b6 --- /dev/null +++ b/patches/kernel/0019-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 +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 +Signed-off-by: Borislav Petkov (AMD) +Cc: stable@vger.kernel.org +Link: https://bugzilla.kernel.org/show_bug.cgi?id=219009 +(cherry picked from commit a5ca1dc46a6b610dd4627d8b633d6c84f9724ef0) +Signed-off-by: Fiona Ebner +--- + 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)