On Tue, Oct 29, 2024 at 11:54:36AM -0300, Jason Gunthorpe wrote: > On Fri, Oct 25, 2024 at 04:49:44PM -0700, Nicolin Chen wrote: > > +void iommufd_viommu_destroy(struct iommufd_object *obj) > > +{ > > + struct iommufd_viommu *viommu = > > + container_of(obj, struct iommufd_viommu, obj); > > + > > + if (viommu->ops && viommu->ops->free) > > + viommu->ops->free(viommu); > > Ops can't be null and free can't be null, that would mean there is a > memory leak. Actually, it is just named wrong, it should be called destroy like this op, it doesn't free any memory.. Jason