diff options
author | Wan Jiabing <wanjiabing@vivo.com> | 2022-05-17 10:34:41 +0800 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2022-05-17 13:07:09 -0600 |
commit | 6b17ca8e5e7a7b10689867dff5e22d7da368ba76 (patch) | |
tree | 27035e28069c94b251a59ea55fd5fb3019ec7ac4 /virt | |
parent | 1c05bb947f6464756174830b778aabf8f9d6ed0e (diff) | |
download | linux-6b17ca8e5e7a7b10689867dff5e22d7da368ba76.tar.gz linux-6b17ca8e5e7a7b10689867dff5e22d7da368ba76.tar.bz2 linux-6b17ca8e5e7a7b10689867dff5e22d7da368ba76.zip |
kvm/vfio: Fix potential deadlock problem in vfio
Fix following coccicheck warning:
./virt/kvm/vfio.c:258:1-7: preceding lock on line 236
If kvm_vfio_file_iommu_group() failed, code would goto err_fdput with
mutex_lock acquired and then return ret. It might cause potential
deadlock. Move mutex_unlock bellow err_fdput tag to fix it.
Fixes: d55d9e7a45721 ("kvm/vfio: Store the struct file in the kvm_vfio_group")
Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20220517023441.4258-1-wanjiabing@vivo.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'virt')
-rw-r--r-- | virt/kvm/vfio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/virt/kvm/vfio.c b/virt/kvm/vfio.c index 8f9f7fffb96a..ce1b01d02c51 100644 --- a/virt/kvm/vfio.c +++ b/virt/kvm/vfio.c @@ -252,8 +252,8 @@ static int kvm_vfio_group_set_spapr_tce(struct kvm_device *dev, break; } - mutex_unlock(&kv->lock); err_fdput: + mutex_unlock(&kv->lock); fdput(f); return ret; } |