mirror of https://gitee.com/openkylin/linux.git
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: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
90b1253e41
commit
31605debdf
|
@ -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);
|
||||
|
||||
fd_install(ret, filep);
|
||||
|
||||
vfio_device_get(device);
|
||||
atomic_inc(&group->container_users);
|
||||
|
||||
fd_install(ret, filep);
|
||||
break;
|
||||
}
|
||||
mutex_unlock(&group->device_lock);
|
||||
|
|
Loading…
Reference in New Issue