[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-4.2 v10 10/15] virtio-iommu: Implement probe
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PATCH for-4.2 v10 10/15] virtio-iommu: Implement probe request |
Date: |
Mon, 19 Aug 2019 20:08:15 +0800 |
User-agent: |
Mutt/1.11.4 (2019-03-13) |
On Tue, Jul 30, 2019 at 07:21:32PM +0200, Eric Auger wrote:
[...]
> +/* Fill the properties[] buffer with properties of type @type */
> +static int virtio_iommu_fill_property(int type,
> + viommu_property_buffer *bufstate)
> +{
> + int ret = -ENOSPC;
> +
> + if (bufstate->filled + sizeof(struct virtio_iommu_probe_property)
> + >= VIOMMU_PROBE_SIZE) {
> + /* no space left for the header */
> + bufstate->error = true;
> + goto out;
> + }
> +
> + switch (type) {
> + case VIRTIO_IOMMU_PROBE_T_NONE:
> + ret = virtio_iommu_fill_none_prop(bufstate);
> + break;
> + case VIRTIO_IOMMU_PROBE_T_RESV_MEM:
> + {
> + viommu_endpoint *ep = bufstate->endpoint;
> +
> + g_tree_foreach(ep->reserved_regions,
> + virtio_iommu_fill_resv_mem_prop,
> + bufstate);
> + if (!bufstate->error) {
> + ret = 0;
> + }
> + break;
> + }
> + default:
> + ret = -ENOENT;
> + break;
> + }
> +out:
> + if (ret) {
> + error_report("%s property of type=%d could not be filled (%d),"
> + " remaining size = 0x%lx",
> + __func__, type, ret, bufstate->filled);
Nit: If this can really be triggered then we might still change it to
error_report_once()? If it's not (which it seems to), maybe assert
directly?
Other than that it looks good to me:
Reviewed-by: Peter Xu <address@hidden>
Regards,
--
Peter Xu
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH for-4.2 v10 10/15] virtio-iommu: Implement probe request,
Peter Xu <=