|
@@ -7415,10 +7415,11 @@ static inline void nested_release_vmcs12(struct vcpu_vmx *vmx)
|
|
*/
|
|
*/
|
|
static void free_nested(struct vcpu_vmx *vmx)
|
|
static void free_nested(struct vcpu_vmx *vmx)
|
|
{
|
|
{
|
|
- if (!vmx->nested.vmxon)
|
|
|
|
|
|
+ if (!vmx->nested.vmxon && !vmx->nested.smm.vmxon)
|
|
return;
|
|
return;
|
|
|
|
|
|
vmx->nested.vmxon = false;
|
|
vmx->nested.vmxon = false;
|
|
|
|
+ vmx->nested.smm.vmxon = false;
|
|
free_vpid(vmx->nested.vpid02);
|
|
free_vpid(vmx->nested.vpid02);
|
|
vmx->nested.posted_intr_nv = -1;
|
|
vmx->nested.posted_intr_nv = -1;
|
|
vmx->nested.current_vmptr = -1ull;
|
|
vmx->nested.current_vmptr = -1ull;
|