KVM: selftests: Don't set reserved bits for invalid Hyper-V hypercall number
authorVitaly Kuznetsov <vkuznets@redhat.com>
Thu, 22 Sep 2022 08:39:41 +0000 (10:39 +0200)
committerSean Christopherson <seanjc@google.com>
Wed, 28 Sep 2022 19:47:20 +0000 (12:47 -0700)
Bits 27 through 31 in Hyper-V hypercall 'control' are reserved (see
HV_HYPERCALL_RSVD0_MASK) but '0xdeadbeef' includes them. This causes
KVM to return HV_STATUS_INVALID_HYPERCALL_INPUT instead of the expected
HV_STATUS_INVALID_HYPERCALL_CODE.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Link: https://lore.kernel.org/all/87fsgjol20.fsf@redhat.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
tools/testing/selftests/kvm/x86_64/hyperv_features.c

index 4d55e03..05b32e5 100644 (file)
@@ -508,7 +508,7 @@ static void guest_test_hcalls_access(void)
                switch (stage) {
                case 0:
                        feat->eax |= HV_MSR_HYPERCALL_AVAILABLE;
-                       hcall->control = 0xdeadbeef;
+                       hcall->control = 0xbeef;
                        hcall->expect = HV_STATUS_INVALID_HYPERCALL_CODE;
                        break;