summaryrefslogtreecommitdiffstats
path: root/virt/kvm
diff options
context:
space:
mode:
authorWan Jiabing <wanjiabing@vivo.com>2022-05-17 10:34:41 +0800
committerAlex Williamson <alex.williamson@redhat.com>2022-05-17 13:07:09 -0600
commit6b17ca8e5e7a7b10689867dff5e22d7da368ba76 (patch)
tree27035e28069c94b251a59ea55fd5fb3019ec7ac4 /virt/kvm
parent1c05bb947f6464756174830b778aabf8f9d6ed0e (diff)
downloadlinux-stable-6b17ca8e5e7a7b10689867dff5e22d7da368ba76.tar.gz
linux-stable-6b17ca8e5e7a7b10689867dff5e22d7da368ba76.tar.bz2
linux-stable-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/kvm')
-rw-r--r--virt/kvm/vfio.c2
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;
}