Re: [PATCH 4/6] KVM: nSVM: correctly restore nested_run_pending on migration
From: Maxim Levitsky
Date: Wed Jan 06 2021 - 18:55:39 EST
On Wed, 2021-01-06 at 09:27 -0800, Sean Christopherson wrote:
> On Wed, Jan 06, 2021, Maxim Levitsky wrote:
> > The code to store it on the migration exists, but no code was restoring it.
> >
> > Signed-off-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>
> > ---
> > arch/x86/kvm/svm/nested.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c
> > index 6208d3a5a3fdb..c1a3d0e996add 100644
> > --- a/arch/x86/kvm/svm/nested.c
> > +++ b/arch/x86/kvm/svm/nested.c
> > @@ -1203,6 +1203,10 @@ static int svm_set_nested_state(struct kvm_vcpu *vcpu,
> > * in the registers, the save area of the nested state instead
> > * contains saved L1 state.
> > */
> > +
> > + if (kvm_state->flags & KVM_STATE_NESTED_RUN_PENDING)
> > + svm->nested.nested_run_pending = true;
>
> This should be:
Yes, if someone already set the nested state before, but
I also sent a patch that forces nesteded mode exit in this
case.
Still 100% agree, that this would be better.
Thanks for the review,
Best regards,
Maxim Levitsky
>
> svm->nested.nested_run_pending =
> !!(kvm_state->flags & KVM_STATE_NESTED_RUN_PENDING);
>
> > +
> > copy_vmcb_control_area(&hsave->control, &svm->vmcb->control);
> > hsave->save = *save;
> >
> > --
> > 2.26.2
> >