KVM: arm64: selftests: Fix multiple versions of GIC creation
authorZenghui Yu <yuzenghui@huawei.com>
Sun, 9 Oct 2022 03:31:31 +0000 (11:31 +0800)
committerMarc Zyngier <maz@kernel.org>
Mon, 10 Oct 2022 08:41:39 +0000 (09:41 +0100)
Commit 98f94ce42ac6 ("KVM: selftests: Move KVM_CREATE_DEVICE_TEST code to
separate helper") wrongly converted a "real" GIC device creation to
__kvm_test_create_device() and caused the test failure on my D05 (which
supports v2 emulation). Fix it.

Fixes: 98f94ce42ac6 ("KVM: selftests: Move KVM_CREATE_DEVICE_TEST code to separate helper")
Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221009033131.365-1-yuzenghui@huawei.com
tools/testing/selftests/kvm/aarch64/vgic_init.c

index e05ecb31823fbf6aceff7f5ff8421d881681a62f..9c131d977a1b55ddef944f3e6ad377b5f7df9934 100644 (file)
@@ -662,8 +662,8 @@ int test_kvm_device(uint32_t gic_dev_type)
                                             : KVM_DEV_TYPE_ARM_VGIC_V2;
 
        if (!__kvm_test_create_device(v.vm, other)) {
-               ret = __kvm_test_create_device(v.vm, other);
-               TEST_ASSERT(ret && (errno == EINVAL || errno == EEXIST),
+               ret = __kvm_create_device(v.vm, other);
+               TEST_ASSERT(ret < 0 && (errno == EINVAL || errno == EEXIST),
                                "create GIC device while other version exists");
        }