diff --git a/hw/vfio/container.c b/hw/vfio/container.c index 4c2816b574..dda8d2ab1f 100644 --- a/hw/vfio/container.c +++ b/hw/vfio/container.c @@ -86,8 +86,10 @@ int vfio_container_dma_map(VFIOContainer *bcontainer, unsigned long start = vaddr - qemu_ram_get_host_addr(rb); unsigned long offset = qemu_ram_get_fd_offset(rb); - return vioc->dma_map_file(bcontainer, iova, size, mfd, start + offset, - readonly); + if (!vioc->dma_map_file(bcontainer, iova, size, mfd, start + offset, + readonly)) { + return 0; + } } g_assert(vioc->dma_map); return vioc->dma_map(bcontainer, iova, size, vaddr, readonly, mr);