aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLi Zhe <lizhe.67@bytedance.com>2022-06-27 11:51:09 +0800
committerAlex Williamson <alex.williamson@redhat.com>2022-06-30 11:02:40 -0600
commitffed0518d871482e26c5826c0875bea6775446da (patch)
tree5c701aa645b723ceedf716665fd954b82494776e
parentvfio: de-extern-ify function prototypes (diff)
downloadlinux-dev-ffed0518d871482e26c5826c0875bea6775446da.tar.xz
linux-dev-ffed0518d871482e26c5826c0875bea6775446da.zip
vfio: remove useless judgement
In function vfio_dma_do_unmap(), we currently prevent process to unmap vfio dma region whose mm_struct is different from the vfio_dma->task. In our virtual machine scenario which is using kvm and qemu, this judgement stops us from liveupgrading our qemu, which uses fork() && exec() to load the new binary but the new process cannot do the VFIO_IOMMU_UNMAP_DMA action during vm exit because of this judgement. This judgement is added in commit 8f0d5bb95f76 ("vfio iommu type1: Add task structure to vfio_dma") for the security reason. But it seems that no other task who has no family relationship with old and new process can get the same vfio_dma struct here for the reason of resource isolation. So this patch delete it. Signed-off-by: Li Zhe <lizhe.67@bytedance.com> Reviewed-by: Jason Gunthorpe <jgg@ziepe.ca> Link: https://lore.kernel.org/r/20220627035109.73745-1-lizhe.67@bytedance.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
-rw-r--r--drivers/vfio/vfio_iommu_type1.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
index c13b9290e357..a8ff00dad834 100644
--- a/drivers/vfio/vfio_iommu_type1.c
+++ b/drivers/vfio/vfio_iommu_type1.c
@@ -1377,12 +1377,6 @@ again:
if (!iommu->v2 && iova > dma->iova)
break;
- /*
- * Task with same address space who mapped this iova range is
- * allowed to unmap the iova range.
- */
- if (dma->task->mm != current->mm)
- break;
if (invalidate_vaddr) {
if (dma->vaddr_invalid) {