Re: [PATCH v2 10/22] iommufd/viommmu: Add IOMMUFD_CMD_VCMDQ_ALLOC ioctl

Nicolin Chen
2025-04-28T18:58:54Z

On Mon, Apr 28, 2025 at 09:32:04AM +0800, Baolu Lu wrote:
> On 4/26/25 13:58, Nicolin Chen wrote:
> > +int iommufd_vcmdq_alloc_ioctl(struct iommufd_ucmd *ucmd)
> > +{
> > + struct iommu_vcmdq_alloc *cmd = ucmd->cmd;
> > + struct iommufd_viommu *viommu;
> > + struct iommufd_vcmdq *vcmdq;
> > + struct page **pages;
> > + int max_npages, i;
> > + dma_addr_t end;
> > + int rc;
> > +
> > + if (cmd->flags || cmd->type == IOMMU_VCMDQ_TYPE_DEFAULT)
>
> I don't follow the check of 'cmd->type == IOMMU_VCMDQ_TYPE_DEFAULT'
> here. My understanding is that it states that "other values of type are
> not supported". If so, shouldn't it be,
>
> if (cmd->flags || cmd->type != IOMMU_VCMDQ_TYPE_DEFAULT)
>
> ?

No. Only other (new) types will be supported. We have this:
"* @IOMMU_VCMDQ_TYPE_DEFAULT: Reserved for future use"
which means driver should define a new type.

We have the same DEFAULT type in vIOMMU/vEVENTQ allocators by
the way.

Thanks
Nicolin