Browse Source

switch vfio_group_set_container() to fget_light()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 13 years ago
parent
commit
1d3653a79c
1 changed files with 4 additions and 4 deletions
  1. 4 4
      drivers/vfio/vfio.c

+ 4 - 4
drivers/vfio/vfio.c

@@ -1017,18 +1017,18 @@ static int vfio_group_set_container(struct vfio_group *group, int container_fd)
 	struct file *filep;
 	struct vfio_container *container;
 	struct vfio_iommu_driver *driver;
-	int ret = 0;
+	int ret = 0, fput_needed;
 
 	if (atomic_read(&group->container_users))
 		return -EINVAL;
 
-	filep = fget(container_fd);
+	filep = fget_light(container_fd, &fput_needed);
 	if (!filep)
 		return -EBADF;
 
 	/* Sanity check, is this really our fd? */
 	if (filep->f_op != &vfio_fops) {
-		fput(filep);
+		fput_light(filep, fput_needed);
 		return -EINVAL;
 	}
 
@@ -1054,7 +1054,7 @@ static int vfio_group_set_container(struct vfio_group *group, int container_fd)
 
 unlock_out:
 	mutex_unlock(&container->group_lock);
-	fput(filep);
+	fput_light(filep, fput_needed);
 
 	return ret;
 }