diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-08-28 12:52:22 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-09-26 22:20:08 -0400 |
commit | 2903ff019b346ab8d36ebbf54853c3aaf6590608 (patch) | |
tree | 962d94054765bb37bc00e977c3036e65c5fd91fe /drivers/vfio | |
parent | a5b470ba06aa3f96999ede5feba178df6bdb134a (diff) |
switch simple cases of fget_light to fdget
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/vfio')
-rw-r--r-- | drivers/vfio/vfio.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c index 91bcd97d3061..56097c6d072d 100644 --- a/drivers/vfio/vfio.c +++ b/drivers/vfio/vfio.c | |||
@@ -1014,25 +1014,25 @@ static void vfio_group_try_dissolve_container(struct vfio_group *group) | |||
1014 | 1014 | ||
1015 | static int vfio_group_set_container(struct vfio_group *group, int container_fd) | 1015 | static int vfio_group_set_container(struct vfio_group *group, int container_fd) |
1016 | { | 1016 | { |
1017 | struct file *filep; | 1017 | struct fd f; |
1018 | struct vfio_container *container; | 1018 | struct vfio_container *container; |
1019 | struct vfio_iommu_driver *driver; | 1019 | struct vfio_iommu_driver *driver; |
1020 | int ret = 0, fput_needed; | 1020 | int ret = 0; |
1021 | 1021 | ||
1022 | if (atomic_read(&group->container_users)) | 1022 | if (atomic_read(&group->container_users)) |
1023 | return -EINVAL; | 1023 | return -EINVAL; |
1024 | 1024 | ||
1025 | filep = fget_light(container_fd, &fput_needed); | 1025 | f = fdget(container_fd); |
1026 | if (!filep) | 1026 | if (!f.file) |
1027 | return -EBADF; | 1027 | return -EBADF; |
1028 | 1028 | ||
1029 | /* Sanity check, is this really our fd? */ | 1029 | /* Sanity check, is this really our fd? */ |
1030 | if (filep->f_op != &vfio_fops) { | 1030 | if (f.file->f_op != &vfio_fops) { |
1031 | fput_light(filep, fput_needed); | 1031 | fdput(f); |
1032 | return -EINVAL; | 1032 | return -EINVAL; |
1033 | } | 1033 | } |
1034 | 1034 | ||
1035 | container = filep->private_data; | 1035 | container = f.file->private_data; |
1036 | WARN_ON(!container); /* fget ensures we don't race vfio_release */ | 1036 | WARN_ON(!container); /* fget ensures we don't race vfio_release */ |
1037 | 1037 | ||
1038 | mutex_lock(&container->group_lock); | 1038 | mutex_lock(&container->group_lock); |
@@ -1054,8 +1054,7 @@ static int vfio_group_set_container(struct vfio_group *group, int container_fd) | |||
1054 | 1054 | ||
1055 | unlock_out: | 1055 | unlock_out: |
1056 | mutex_unlock(&container->group_lock); | 1056 | mutex_unlock(&container->group_lock); |
1057 | fput_light(filep, fput_needed); | 1057 | fdput(f); |
1058 | |||
1059 | return ret; | 1058 | return ret; |
1060 | } | 1059 | } |
1061 | 1060 | ||