vhost-vdpa: fix vhost_vdpa_map() on error condition
authorSi-Wei Liu <si-wei.liu@oracle.com>
Sat, 3 Oct 2020 05:02:09 +0000 (01:02 -0400)
committerMichael S. Tsirkin <mst@redhat.com>
Sun, 4 Oct 2020 07:47:02 +0000 (03:47 -0400)
vhost_vdpa_map() should remove the iotlb entry just added
if the corresponding mapping fails to set up properly.

Fixes: 4c8cf31885f6 ("vhost: introduce vDPA-based backend")
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
Link: https://lore.kernel.org/r/1601701330-16837-2-git-send-email-si-wei.liu@oracle.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vhost/vdpa.c

index 9a48439..02ff537 100644 (file)
@@ -565,6 +565,9 @@ static int vhost_vdpa_map(struct vhost_vdpa *v,
                              perm_to_iommu_flags(perm));
        }
 
+       if (r)
+               vhost_iotlb_del_range(dev->iotlb, iova, iova + size - 1);
+
        return r;
 }