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

From: Sean Christopherson
Date: Wed Nov 30 2022 - 17:56:12 EST


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.

For now,

Reviewed-by: Sean Christopherson <seanjc@xxxxxxxxxx>