]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
KVM: PPC: Book3S HV: XIVE: Clear file mapping when device is released
authorCédric Le Goater <clg@kaod.org>
Mon, 20 May 2019 07:15:12 +0000 (09:15 +0200)
committerPaul Mackerras <paulus@ozlabs.org>
Wed, 29 May 2019 03:44:37 +0000 (13:44 +1000)
Improve the release of the XIVE KVM device by clearing the file
address_space, which is used to unmap the interrupt ESB pages when a
device is passed-through.

Suggested-by: Paul Mackerras <paulus@ozlabs.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/kvm/book3s_xive_native.c

index da31dd05fd72fcb346fb6bf4987c780d5d435812..9cedd04e7a4493094252feffa0fe4864b05190e6 100644 (file)
@@ -976,6 +976,14 @@ static void kvmppc_xive_native_release(struct kvm_device *dev)
 
        pr_devel("Releasing xive native device\n");
 
+       /*
+        * Clear the KVM device file address_space which is used to
+        * unmap the ESB pages when a device is passed-through.
+        */
+       mutex_lock(&xive->mapping_lock);
+       xive->mapping = NULL;
+       mutex_unlock(&xive->mapping_lock);
+
        /*
         * Since this is the device release function, we know that
         * userspace does not have any open fd or mmap referring to