Re: [PATCH 12/14] iommufd: Add IOMMU_HWPT_ALLOC

Jason Gunthorpe
2023-03-06T20:31:13Z

On Sun, Mar 05, 2023 at 05:42:56PM -0800, Nicolin Chen wrote:
> On Fri, Feb 24, 2023 at 08:27:57PM -0400, Jason Gunthorpe wrote:
>
> > +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;
> > +
> > + idev = iommufd_get_device(ucmd, cmd->dev_id);
> > + if (IS_ERR(idev))
> > + return PTR_ERR(idev);
> > +
> > + ioas = iommufd_get_ioas(ucmd, cmd->pt_id);
> > + if (IS_ERR(ioas)) {
> > + rc = PTR_ERR(idev);
>
> PTR_ERR(ioas)
>
> > + goto out_put_idev;
> > + }
> > +
> > + mutex_lock(&ioas->mutex);
> > + hwpt = iommufd_hw_pagetable_alloc(ucmd->ictx, ioas, idev, false);
> > + mutex_unlock(&ioas->mutex);
> > + if (IS_ERR(hwpt)) {
> > + rc = PTR_ERR(idev);
>
> PTR_ERR(hwpt)

Oops, yep

Thanks,
Jason