On Thu, Jun 05, 2025 at 12:16:48PM -0300, Jason Gunthorpe wrote: > On Wed, Jun 04, 2025 at 09:11:07PM -0700, Nicolin Chen wrote: > > > I found the entire ictx would be locked by iommufd_access_create(), > > then the release fop couldn't even get invoked to destroy objects. > > Yes, that makes sense.. > > It looks to me like you can safely leave ictx as NULL instead of > adding a flag? That would be nicer than leaving a unrefcounted > pointer floating around.. Hmm, there are a few iommufd_get_object calls using access->ictx in iommufd_access_attach() and iommufd_access_destroy(). We could have a set of internal access APIs to leave access->ictx as NULL, as an internal caller has an ictx to pass in. It's going to be a larger change though.. Thanks Nicolin