On 11/05/2018 15:37, Vitaly Kuznetsov wrote: > - if (enable_shadow_vmcs) > - to_vmx(vcpu)->nested.sync_shadow_vmcs = true; > + > + if (vmx->nested.hv_evmcs) > + vmx->nested.sync_enlightened_vmcs = true; > + else if (enable_shadow_vmcs) > + vmx->nested.sync_shadow_vmcs = true; > } These four lines are a bit repeated. Perhaps change them to if (enable_shadow_vmcs || vmx->nested.hv_evmcs) vmx->nested.need_vmcs12_sync = true; and elsewhere if (vmx->nested.need_vmcs12_sync) { if (vmx->nested.hv_evmcs) { copy_vmcs12_to_enlightened(vmx); /* All fields are clean */ vmx->nested.hv_evmcs->hv_clean_fields |= HV_VMX_ENLIGHTENED_CLEAN_FIELD_ALL; vmx->nested.sync_enlightened_vmcs = false; } else { copy_vmcs12_to_shadow(vmx); } vmx->nested.need_vmcs12_sync = false; } ?