On Tue, Jan 24, 2017 at 07:04:15PM +0100, Paolo Bonzini wrote:
> @@ -689,18 +714,34 @@ void *virtqueue_pop(VirtQueue *vq, size_t sz)
>      }
>  
>      i = head;
> -    vring_desc_read(vdev, &desc, desc_pa, i);
> +
> +    len = max * sizeof(VRingDesc);
> +    vring_desc_ptr = address_space_map(vdev->dma_as, vq->vring.desc, &len, 
> false);
> +    if (len < max * sizeof(VRingDesc)) {
> +        virtio_error(vdev, "Cannot map descriptor ring");
> +        return NULL;

Missing address_space_unmap() if vring_desc_ptr is non-NULL.

Attachment: signature.asc
Description: PGP signature

Reply via email to