Commit 31605deb authored by Al Viro's avatar Al Viro

vfio: grab vfio_device reference *before* exposing the sucker via fd_install()

It's not critical (anymore) since another thread closing the file will block
on ->device_lock before it gets to dropping the final reference, but it's
definitely cleaner that way...
Acked-by: default avatarAlex Williamson <alex.williamson@redhat.com>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 90b1253e
...@@ -1111,10 +1111,10 @@ static int vfio_group_get_device_fd(struct vfio_group *group, char *buf) ...@@ -1111,10 +1111,10 @@ static int vfio_group_get_device_fd(struct vfio_group *group, char *buf)
*/ */
filep->f_mode |= (FMODE_LSEEK | FMODE_PREAD | FMODE_PWRITE); filep->f_mode |= (FMODE_LSEEK | FMODE_PREAD | FMODE_PWRITE);
fd_install(ret, filep);
vfio_device_get(device); vfio_device_get(device);
atomic_inc(&group->container_users); atomic_inc(&group->container_users);
fd_install(ret, filep);
break; break;
} }
mutex_unlock(&group->device_lock); mutex_unlock(&group->device_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment