]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
vfio/type1: Add conditional rescheduling after iommu map failed
authorXiang Zheng <zhengxiang9@huawei.com>
Mon, 27 Jul 2020 19:43:37 +0000 (13:43 -0600)
committerAlex Williamson <alex.williamson@redhat.com>
Mon, 27 Jul 2020 19:43:37 +0000 (13:43 -0600)
Commit c5e6688752c2 ("vfio/type1: Add conditional rescheduling")
missed a "cond_resched()" in vfio_iommu_map if iommu map failed.

This is a very tiny optimization and the case can hardly happen.

Signed-off-by: Xiang Zheng <zhengxiang9@huawei.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/vfio_iommu_type1.c

index 5e556ac9102a51f6aa0bf55e09b60c88556af4ba..48fb9cc4a40a259ab9aee3fd5f1bca6ebc748b42 100644 (file)
@@ -1225,8 +1225,10 @@ static int vfio_iommu_map(struct vfio_iommu *iommu, dma_addr_t iova,
        return 0;
 
 unwind:
-       list_for_each_entry_continue_reverse(d, &iommu->domain_list, next)
+       list_for_each_entry_continue_reverse(d, &iommu->domain_list, next) {
                iommu_unmap(d->domain, iova, npage << PAGE_SHIFT);
+               cond_resched();
+       }
 
        return ret;
 }