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;
        }

?

Reply via email to