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

Nicolin Chen nicolinc at nvidia.com
Mon Apr 28 11:58:27 PDT 2025


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



More information about the linux-arm-kernel mailing list