X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=hw%2Fmisc%2Fvfio.c;h=675bbfc97ad5f3e7054440cf142f7f1ed440a5c5;hb=dfde4e6e1a868f60033ece0590b1f75e6c57fa16;hp=e2e957d6f6e4defec425db9c96fc974c9728df86;hpb=3ce10901ca8da9142dcdcde198fda1a4c290934c;p=mirror_qemu.git diff --git a/hw/misc/vfio.c b/hw/misc/vfio.c index e2e957d6f6..675bbfc97a 100644 --- a/hw/misc/vfio.c +++ b/hw/misc/vfio.c @@ -1969,6 +1969,7 @@ static void vfio_listener_region_add(MemoryListener *listener, DPRINTF("region_add %"HWADDR_PRIx" - %"HWADDR_PRIx" [%p]\n", iova, end - 1, vaddr); + memory_region_ref(section->mr); ret = vfio_dma_map(container, iova, end - iova, vaddr, section->readonly); if (ret) { error_report("vfio_dma_map(%p, 0x%"HWADDR_PRIx", " @@ -2010,6 +2011,7 @@ static void vfio_listener_region_del(MemoryListener *listener, iova, end - 1); ret = vfio_dma_unmap(container, iova, end - iova); + memory_region_unref(section->mr); if (ret) { error_report("vfio_dma_unmap(%p, 0x%"HWADDR_PRIx", " "0x%"HWADDR_PRIx") = %d (%m)",