Gerd Hoffmann <kra...@redhat.com> 于2019年6月28日周五 下午3:24写道:

> 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 <ler...@redhat.com>
> Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
>

It is reasonable, so

Reviewed-by: Li Qiang <liq...@gmail.com>

btw: Does it break something before this patch?
AFAICS, the 'len' is not used for the unmap, only the 'access_len' is used.

Thanks,
Li Qiang



> ---
>  hw/display/virtio-gpu.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
> index 2b0f66b1d68d..475a018c027c 100644
> --- a/hw/display/virtio-gpu.c
> +++ b/hw/display/virtio-gpu.c
> @@ -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;
> --
> 2.18.1
>
>
>

Reply via email to