KVM: nVMX: use correct clean fields when copying from eVMCS
Unfortunately, a couple of mistakes were made while implementing
Enlightened VMCS support, in particular, wrong clean fields were
used in copy_enlightened_to_vmcs12():
- exception_bitmap is covered by CONTROL_EXCPN;
- vm_exit_controls/pin_based_vm_exec_control/secondary_vm_exec_control
are covered by CONTROL_GRP1.
Fixes: 945679e301
("KVM: nVMX: add enlightened VMCS state")
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
f8d221d2e0
commit
f9bc522765
|
@ -1397,7 +1397,7 @@ static int copy_enlightened_to_vmcs12(struct vcpu_vmx *vmx)
|
|||
}
|
||||
|
||||
if (unlikely(!(evmcs->hv_clean_fields &
|
||||
HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_PROC))) {
|
||||
HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_EXCPN))) {
|
||||
vmcs12->exception_bitmap = evmcs->exception_bitmap;
|
||||
}
|
||||
|
||||
|
@ -1437,7 +1437,7 @@ static int copy_enlightened_to_vmcs12(struct vcpu_vmx *vmx)
|
|||
}
|
||||
|
||||
if (unlikely(!(evmcs->hv_clean_fields &
|
||||
HV_VMX_ENLIGHTENED_CLEAN_FIELD_HOST_GRP1))) {
|
||||
HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_GRP1))) {
|
||||
vmcs12->pin_based_vm_exec_control =
|
||||
evmcs->pin_based_vm_exec_control;
|
||||
vmcs12->vm_exit_controls = evmcs->vm_exit_controls;
|
||||
|
|
Loading…
Reference in New Issue