diff --git a/hw/vfio/common.c b/hw/vfio/common.c index 42c4790003..f3ba9b9007 100644 --- a/hw/vfio/common.c +++ b/hw/vfio/common.c @@ -352,11 +352,10 @@ static void vfio_iommu_map_notify(IOMMUNotifier *n, IOMMUTLBEntry *iotlb) rcu_read_lock(); - if (!vfio_get_vaddr(iotlb, &vaddr, &read_only)) { - goto out; - } - if ((iotlb->perm & IOMMU_RW) != IOMMU_NONE) { + if (!vfio_get_vaddr(iotlb, &vaddr, &read_only)) { + goto out; + } /* * vaddr is only valid until rcu_read_unlock(). But after * vfio_dma_map has set up the mapping the pages will be