On 4/29/25 02:58, Nicolin Chen wrote:
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.

Okay, thanks for the explanation.

The iommu driver's callback will return a failure if the type is not
supported. Then it's fine.

Thanks,
baolu

Reply via email to