diff options
| author | 2022-06-27 00:41:19 -0700 | |
|---|---|---|
| committer | 2022-06-30 11:07:07 -0600 | |
| commit | 330c179976f3801526bf222b010b669bf6743098 (patch) | |
| tree | 4e8077edabb98b8e3d2de36a72e28e036f88ea97 /tools/scripts/ssh:/git@git.zx2c4.com/git: | |
| parent | vfio: de-extern-ify function prototypes (diff) | |
| download | linux-dev-330c179976f3801526bf222b010b669bf6743098.tar.xz linux-dev-330c179976f3801526bf222b010b669bf6743098.zip | |
vfio: Move "device->open_count--" out of group_rwsem in vfio_device_open()
We do not protect the vfio_device::open_count with group_rwsem elsewhere (see
vfio_device_fops_release as a comparison, where we already drop group_rwsem
before open_count--). So move the group_rwsem unlock prior to open_count--.
This change now also drops group_rswem before setting device->kvm = NULL,
but that's also OK (again, just like vfio_device_fops_release). The setting
of device->kvm before open_device is technically done while holding the
group_rwsem, this is done to protect the group kvm value we are copying from,
and we should not be relying on that to protect the contents of device->kvm;
instead we assume this value will not change until after the device is closed
and while under the dev_set->lock.
Cc: Matthew Rosato <mjrosato@linux.ibm.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20220627074119.523274-1-yi.l.liu@intel.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'tools/scripts/ssh:/git@git.zx2c4.com/git:')
0 files changed, 0 insertions, 0 deletions
