Re: [PATCH] KVM: selftests: x86: clarify what is reported on KVM_GET_MSRS failure

From: Paolo Bonzini
Date: Fri Sep 27 2019 - 12:06:14 EST


On 27/09/19 17:54, Vitaly Kuznetsov wrote:
> When KVM_GET_MSRS fail the report looks like
>
> ==== Test Assertion Failure ====
> lib/x86_64/processor.c:1089: r == nmsrs
> pid=28775 tid=28775 - Argument list too long
> 1 0x000000000040a55f: vcpu_save_state at processor.c:1088 (discriminator 3)
> 2 0x00000000004010e3: main at state_test.c:171 (discriminator 4)
> 3 0x00007fb8e69223d4: ?? ??:0
> 4 0x0000000000401287: _start at ??:?
> Unexpected result from KVM_GET_MSRS, r: 36 (failed at 194)
>
> and it's not obvious that '194' here is the failed MSR index and that
> it's printed in hex. Change that.
>
> Suggested-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
> ---
> tools/testing/selftests/kvm/lib/x86_64/processor.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/kvm/lib/x86_64/processor.c b/tools/testing/selftests/kvm/lib/x86_64/processor.c
> index c53dbc6bc568..6698cb741e10 100644
> --- a/tools/testing/selftests/kvm/lib/x86_64/processor.c
> +++ b/tools/testing/selftests/kvm/lib/x86_64/processor.c
> @@ -1085,7 +1085,7 @@ struct kvm_x86_state *vcpu_save_state(struct kvm_vm *vm, uint32_t vcpuid)
> for (i = 0; i < nmsrs; i++)
> state->msrs.entries[i].index = list->indices[i];
> r = ioctl(vcpu->fd, KVM_GET_MSRS, &state->msrs);
> - TEST_ASSERT(r == nmsrs, "Unexpected result from KVM_GET_MSRS, r: %i (failed at %x)",
> + TEST_ASSERT(r == nmsrs, "Unexpected result from KVM_GET_MSRS, r: %i (failed MSR was 0x%x)",
> r, r == nmsrs ? -1 : list->indices[r]);
>
> r = ioctl(vcpu->fd, KVM_GET_DEBUGREGS, &state->debugregs);
>

Queued, thanks.

Paolo