[PATCH kernel v2 10/11] vfio: Check for unregistered notifiers when group is actually released
Jike Song
jike.song at intel.com
Mon Dec 19 21:41:05 AEDT 2016
On 12/18/2016 09:28 AM, Alexey Kardashevskiy wrote:
> This moves a check for unregistered notifiers from fops release
> callback to the place where the group will actually be released.
>
> Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
> ---
>
> This is going to be used in the following patch in cleanup
> path. Since the next patch is RFC, this one might not be needed.
Hi Alexey,
I didn't find any use in the following patch 11/11, did you mean
something else?
BTW the warning in vfio_group_release seems too late, the user
should actually unregister everything by close()?
--
Thanks,
Jike
> ---
> drivers/vfio/vfio.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
> index 6b9a98508939..083b581e87c0 100644
> --- a/drivers/vfio/vfio.c
> +++ b/drivers/vfio/vfio.c
> @@ -403,6 +403,8 @@ static void vfio_group_release(struct kref *kref)
> struct iommu_group *iommu_group = group->iommu_group;
>
> WARN_ON(!list_empty(&group->device_list));
> + /* Any user didn't unregister? */
> + WARN_ON(group->notifier.head);
>
> list_for_each_entry_safe(unbound, tmp,
> &group->unbound_list, unbound_next) {
> @@ -1584,9 +1586,6 @@ static int vfio_group_fops_release(struct inode *inode, struct file *filep)
>
> filep->private_data = NULL;
>
> - /* Any user didn't unregister? */
> - WARN_ON(group->notifier.head);
> -
> vfio_group_try_dissolve_container(group);
>
> atomic_dec(&group->opened);
>
More information about the Linuxppc-dev
mailing list