From: Jason Gunthorpe jgg@nvidia.com Sent: Saturday, February 25, 2023 8:28 AM
+int iommufd_hwpt_alloc(struct iommufd_ucmd *ucmd) +{
- struct iommu_hwpt_alloc *cmd = ucmd->cmd;
 - struct iommufd_hw_pagetable *hwpt;
 - struct iommufd_device *idev;
 - struct iommufd_ioas *ioas;
 - int rc;
 - if (cmd->flags)
 return -EOPNOTSUPP;
miss a check on the __reserved field.
+/**
- struct iommu_hwpt_alloc - ioctl(IOMMU_HWPT_ALLOC)
 
- @size: sizeof(struct iommu_hwpt_alloc)
 
- @flags: Must be 0
 
- @dev_id: The device to allocate this HWPT for
 
- @pt_id: The IOAS to connect this HWPT to
 
- @out_hwpt_id: The ID of the new HWPT
 
- @__reserved: Must be 0
 
- Explicitly allocate a hardware page table object. This is the same object
 
- type that is returned by iommufd_device_attach() and represents the
 
- underlying iommu driver's iommu_domain kernel object.
 
- A normal HWPT will be created with the mappings from the given IOAS.
 - */
 
'normal' is a confusing word in this context.