[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1437500646-18031-2-git-send-email-gerald.schaefer@de.ibm.com>
Date: Tue, 21 Jul 2015 19:44:06 +0200
From: Gerald Schaefer <gerald.schaefer@...ibm.com>
To: Alex Williamson <alex.williamson@...hat.com>
Cc: <kvm@...r.kernel.org>, linux-kernel@...r.kernel.org,
Martin Schwidefsky <schwidefsky@...ibm.com>,
Sebastian Ott <sebott@...ux.vnet.ibm.com>,
Gerald Schaefer <gerald.schaefer@...ibm.com>
Subject: [RFC PATCH 1/1] vfio-pci/iommu: Detach iommu group on remove path
When a user completes the VFIO_SET_IOMMU ioctl and the vfio-pci device is
removed thereafter (before any other ioctl like VFIO_GROUP_GET_DEVICE_FD),
then the detach_dev callback of the underlying IOMMU API is never called.
This patch adds a call to vfio_group_try_dissolve_container() to the remove
path, which will trigger the missing detach_dev callback in this scenario.
Signed-off-by: Gerald Schaefer <gerald.schaefer@...ibm.com>
---
drivers/vfio/vfio.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
index 2fb29df..9c5c784 100644
--- a/drivers/vfio/vfio.c
+++ b/drivers/vfio/vfio.c
@@ -711,6 +711,8 @@ static bool vfio_dev_present(struct vfio_group *group, struct device *dev)
return true;
}
+static void vfio_group_try_dissolve_container(struct vfio_group *group);
+
/*
* Decrement the device reference count and wait for the device to be
* removed. Open file descriptors for the device... */
@@ -785,6 +787,7 @@ void *vfio_del_group_dev(struct device *dev)
}
} while (ret <= 0);
+ vfio_group_try_dissolve_container(group);
vfio_group_put(group);
return device_data;
--
2.3.8
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists