KVM: selftests: Don't assume vcpu->id is '0' in xAPIC state test
authorGautam Menghani <gautammenghani201@gmail.com>
Mon, 17 Oct 2022 17:58:19 +0000 (23:28 +0530)
committerSean Christopherson <seanjc@google.com>
Thu, 17 Nov 2022 00:58:58 +0000 (16:58 -0800)
In xapic_state_test's test_icr(), explicitly skip iterations that would
match vcpu->id instead of assuming vcpu->id is '0', so that IPIs are
are correctly sent to non-existent vCPUs.

Suggested-by: Sean Christopherson <seanjc@google.com>
Link: https://lore.kernel.org/kvm/YyoZr9rXSSMEtdh5@google.com
Signed-off-by: Gautam Menghani <gautammenghani201@gmail.com>
Link: https://lore.kernel.org/r/20221017175819.12672-1-gautammenghani201@gmail.com
[sean: massage shortlog and changelog]
Signed-off-by: Sean Christopherson <seanjc@google.com>
tools/testing/selftests/kvm/x86_64/xapic_state_test.c

index 6f7a5ef..d7d37da 100644 (file)
@@ -114,7 +114,9 @@ static void test_icr(struct xapic_vcpu *x)
         * vCPUs, not vcpu.id + 1.  Arbitrarily use vector 0xff.
         */
        icr = APIC_INT_ASSERT | 0xff;
-       for (i = vcpu->id + 1; i < 0xff; i++) {
+       for (i = 0; i < 0xff; i++) {
+               if (i == vcpu->id)
+                       continue;
                for (j = 0; j < 8; j++)
                        __test_icr(x, i << (32 + 24) | icr | (j << 8));
        }