Re: [PATCH] KVM: selftests: restore special vmmcall code layout needed by the harness

From: mlevitsk
Date: Wed Dec 28 2022 - 04:55:01 EST


On Thu, 2022-12-01 at 15:48 +0200, Maxim Levitsky wrote:
> On Thu, 2022-12-01 at 10:28 +0100, Vitaly Kuznetsov wrote:
> > Sean Christopherson <seanjc@xxxxxxxxxx> writes:
> >
> > > On Wed, Nov 30, 2022, Paolo Bonzini wrote:
> > > > Commit 8fda37cf3d41 ("KVM: selftests: Stuff RAX/RCX with 'safe' values
> > > > in vmmcall()/vmcall()", 2022-11-21) broke the svm_nested_soft_inject_test
> > > > because it placed a "pop rbp" instruction after vmmcall. While this is
> > > > correct and mimics what is done in the VMX case, this particular test
> > > > expects a ud2 instruction right after the vmmcall, so that it can skip
> > > > over it in the L1 part of the test.
> > > >
> > > > Inline a suitably-modified version of vmmcall() to restore the
> > > > functionality of the test.
> > > >
> > > > Fixes: 8fda37cf3d41 ("KVM: selftests: Stuff RAX/RCX with 'safe' values in vmmcall()/vmcall()"
> > > > Cc: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
> > > > Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> > > > ---
> > >
> > > We really, really need to save/restore guest GPRs in L1 when handling exits from L2.
> >
> > +1, the amount of stuff we do to workaround the shortcoming (and time
> > we waste debugging) is getting ridiculously high.
> >
> > > For now,
> > >
> > > Reviewed-by: Sean Christopherson <seanjc@xxxxxxxxxx>
> > >
> >
> > Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
> >
>
> I didn't notice this fix and also found this issue.
>
> Reviewed-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>
>
> Best regards,
> Maxim Levitsky

Seems that this patch got through the cracks,
pinging so someone else won't need to debug this
test too.

Best regards,
Maxim Levitsky