On Fri, Mar 10, 2023 at 02:08:15AM +0000, Tian, Kevin wrote: > External email: Use caution opening links or attachments > > > > From: Liu, Yi L <yi.l.liu@xxxxxxxxx> > > Sent: Wednesday, March 8, 2023 9:14 PM > > > > @@ -449,33 +450,18 @@ iommufd_access_create(struct iommufd_ctx *ictx, > > u32 ioas_id, > > access->data = data; > > access->ops = ops; > > > > - obj = iommufd_get_object(ictx, ioas_id, IOMMUFD_OBJ_IOAS); > > - if (IS_ERR(obj)) { > > - rc = PTR_ERR(obj); > > - goto out_abort; > > - } > > - access->ioas = container_of(obj, struct iommufd_ioas, obj); > > - iommufd_ref_to_users(obj); > > - > > if (ops->needs_pin_pages) > > access->iova_alignment = PAGE_SIZE; > > else > > access->iova_alignment = 1; > > - rc = iopt_add_access(&access->ioas->iopt, access); > > - if (rc) > > - goto out_put_ioas; > > > > /* The calling driver is a user until iommufd_access_destroy() */ > > refcount_inc(&access->obj.users); > > + mutex_init(&access->ioas_lock); > > access->ictx = ictx; > > iommufd_ctx_get(ictx); > > this refcnt get should be moved to the start given next patch > removes the reference in the caller side. I don't feel quite convincing to justify for moving it in this patch. Perhaps we should do that in the following patch, where it needs this? Or another individual patch moving this alone? Thanks Nic