mirror of https://gitee.com/openkylin/qemu.git
virtio-gpu: fix unmap in error path
We land here in case not everything we've asked for could be mapped. So unmap only the bytes which have actually been mapped. Also we didn't access anything, so acces_len can be 0. Reported-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Li Qiang <liq3ea@gmail.com> Message-id: 20190628072357.31782-1-kraxel@redhat.com
This commit is contained in:
parent
506179e421
commit
a7f85e03b9
|
@ -1048,9 +1048,9 @@ static int virtio_gpu_load(QEMUFile *f, void *opaque, size_t size,
|
|||
if (res->iov[i].iov_base) {
|
||||
dma_memory_unmap(VIRTIO_DEVICE(g)->dma_as,
|
||||
res->iov[i].iov_base,
|
||||
res->iov[i].iov_len,
|
||||
len,
|
||||
DMA_DIRECTION_TO_DEVICE,
|
||||
res->iov[i].iov_len);
|
||||
0);
|
||||
}
|
||||
/* ...and the mappings for previous loop iterations */
|
||||
res->iov_cnt = i;
|
||||
|
|
Loading…
Reference in New Issue