> From: Jason Gunthorpe <jgg@xxxxxxxxxx> > Sent: Thursday, March 2, 2023 3:30 AM > > A HWPT is permanently associated with an IOAS when it is created, remove > the strange situation where a refcount != 0 HWPT can have been > disconnected from the IOAS by putting all the IOAS related destruction in > the object destroy function. > > Initializing a HWPT is two stages, we have to allocate it, attach it to a > device and then populate the domain. Once the domain is populated it is > fully linked to the IOAS. > > Arrange things so that all the error unwinds flow through the > iommufd_hw_pagetable_destroy() and allow it to handle all cases. > > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>