diff options
Diffstat (limited to '0070-VMX-correct-error-handling-in-vmx_create_vmcs.patch')
-rw-r--r-- | 0070-VMX-correct-error-handling-in-vmx_create_vmcs.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/0070-VMX-correct-error-handling-in-vmx_create_vmcs.patch b/0070-VMX-correct-error-handling-in-vmx_create_vmcs.patch new file mode 100644 index 0000000..4823c64 --- /dev/null +++ b/0070-VMX-correct-error-handling-in-vmx_create_vmcs.patch @@ -0,0 +1,38 @@ +From 3885fa42349c3c6f31f0e0eec3b4605dca7fdda9 Mon Sep 17 00:00:00 2001 +From: Jan Beulich <jbeulich@suse.com> +Date: Mon, 31 Oct 2022 13:31:26 +0100 +Subject: [PATCH 070/126] VMX: correct error handling in vmx_create_vmcs() + +With the addition of vmx_add_msr() calls to construct_vmcs() there are +now cases where simply freeing the VMCS isn't enough: The MSR bitmap +page as well as one of the MSR area ones (if it's the 2nd vmx_add_msr() +which fails) may also need freeing. Switch to using vmx_destroy_vmcs() +instead. + +Fixes: 3bd36952dab6 ("x86/spec-ctrl: Introduce an option to control L1D_FLUSH for HVM HAP guests") +Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry") +Reported-by: Andrew Cooper <andrew.cooper3@citrix.com> +Signed-off-by: Jan Beulich <jbeulich@suse.com> +Reviewed-by: Kevin Tian <kevin.tian@intel.com> +master commit: 448d28309f1a966bdc850aff1a637e0b79a03e43 +master date: 2022-10-12 17:57:56 +0200 +--- + xen/arch/x86/hvm/vmx/vmcs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c +index dd817cee4e69..237b13459d4f 100644 +--- a/xen/arch/x86/hvm/vmx/vmcs.c ++++ b/xen/arch/x86/hvm/vmx/vmcs.c +@@ -1831,7 +1831,7 @@ int vmx_create_vmcs(struct vcpu *v) + + if ( (rc = construct_vmcs(v)) != 0 ) + { +- vmx_free_vmcs(vmx->vmcs_pa); ++ vmx_destroy_vmcs(v); + return rc; + } + +-- +2.37.4 + |