KVM: arm/arm64: vgic: Move kvm_vgic_destroy call around
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 27 Oct 2017 14:28:34 +0000 (15:28 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Mon, 6 Nov 2017 16:20:20 +0000 (17:20 +0100)
The way we call kvm_vgic_destroy is a bit bizarre. We call it
*after* having freed the vcpus, which sort of defeats the point
of cleaning up things before that point.

Let's move kvm_vgic_destroy towards the beginning of kvm_arch_destroy_vm,
which seems more sensible.

Acked-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
virt/kvm/arm/arm.c

index 79f8ddd604c182c56727f693320d602c578880a4..e1e947fe9bc2b8d679b23de2d617afb56581220a 100644 (file)
@@ -177,6 +177,8 @@ void kvm_arch_destroy_vm(struct kvm *kvm)
 {
        int i;
 
+       kvm_vgic_destroy(kvm);
+
        free_percpu(kvm->arch.last_vcpu_ran);
        kvm->arch.last_vcpu_ran = NULL;
 
@@ -186,8 +188,6 @@ void kvm_arch_destroy_vm(struct kvm *kvm)
                        kvm->vcpus[i] = NULL;
                }
        }
-
-       kvm_vgic_destroy(kvm);
 }
 
 int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)