vfio: Follow the naming pattern for vfio_group_ioctl_unset_container()

Make it clear that this is the body of the ioctl. Fold the locking into
the function so it is self contained like the other ioctls.

Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/7-v2-0f9e632d54fb+d6-vfio_ioctl_split_jgg@nvidia.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
Jason Gunthorpe 2022-08-31 17:16:02 -03:00 committed by Alex Williamson
parent 67671f153e
commit b3b43590fa

View file

@ -968,16 +968,24 @@ static void __vfio_group_unset_container(struct vfio_group *group)
* the group, we know that still exists, therefore the only valid
* transition here is 1->0.
*/
static int vfio_group_unset_container(struct vfio_group *group)
static int vfio_group_ioctl_unset_container(struct vfio_group *group)
{
lockdep_assert_held_write(&group->group_rwsem);
int ret = 0;
if (!group->container)
return -EINVAL;
if (group->container_users != 1)
return -EBUSY;
down_write(&group->group_rwsem);
if (!group->container) {
ret = -EINVAL;
goto out_unlock;
}
if (group->container_users != 1) {
ret = -EBUSY;
goto out_unlock;
}
__vfio_group_unset_container(group);
return 0;
out_unlock:
up_write(&group->group_rwsem);
return ret;
}
static int vfio_group_ioctl_set_container(struct vfio_group *group,
@ -1270,10 +1278,7 @@ static long vfio_group_fops_unl_ioctl(struct file *filep,
case VFIO_GROUP_SET_CONTAINER:
return vfio_group_ioctl_set_container(group, uarg);
case VFIO_GROUP_UNSET_CONTAINER:
down_write(&group->group_rwsem);
ret = vfio_group_unset_container(group);
up_write(&group->group_rwsem);
break;
return vfio_group_ioctl_unset_container(group);
}
return ret;