[PATCH v1 4/4] KVM: arm64: selftests: Free the VM when the GIC device probe fails

From: Fuad Tabba

Date: Thu Sep 17 2026 - 05:26:27 EST


test_kvm_device() creates a VM to probe the GIC version under test and
returns without freeing it when the probe fails, in vgic_init and in
its vgic_v5 copy. Free it on that path.

Signed-off-by: Fuad Tabba <fuad.tabba@xxxxxxxxx>
---
tools/testing/selftests/kvm/arm64/vgic_init.c | 4 +++-
tools/testing/selftests/kvm/arm64/vgic_v5.c | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/kvm/arm64/vgic_init.c b/tools/testing/selftests/kvm/arm64/vgic_init.c
index 47e34b43afb29..53894d32b0fc8 100644
--- a/tools/testing/selftests/kvm/arm64/vgic_init.c
+++ b/tools/testing/selftests/kvm/arm64/vgic_init.c
@@ -732,8 +732,10 @@ int test_kvm_device(u32 gic_dev_type)

/* trial mode */
ret = __kvm_test_create_device(v.vm, gic_dev_type);
- if (ret)
+ if (ret) {
+ kvm_vm_free(v.vm);
return ret;
+ }
v.gic_fd = kvm_create_device(v.vm, gic_dev_type);

ret = __kvm_create_device(v.vm, gic_dev_type);
diff --git a/tools/testing/selftests/kvm/arm64/vgic_v5.c b/tools/testing/selftests/kvm/arm64/vgic_v5.c
index 96cfd6bb32f6f..10fdfe362428b 100644
--- a/tools/testing/selftests/kvm/arm64/vgic_v5.c
+++ b/tools/testing/selftests/kvm/arm64/vgic_v5.c
@@ -187,8 +187,10 @@ int test_kvm_device(u32 gic_dev_type)

/* trial mode */
ret = __kvm_test_create_device(v.vm, gic_dev_type);
- if (ret)
+ if (ret) {
+ kvm_vm_free(v.vm);
return ret;
+ }
v.gic_fd = kvm_create_device(v.vm, gic_dev_type);

ret = __kvm_create_device(v.vm, gic_dev_type);
--
2.39.5