On Tue, Oct 04, 2022 at 02:07:02PM +0200, Niklas Schnelle wrote: > Since commit fa7e9ecc5e1c ("iommu/s390: Tolerate repeat attach_dev > calls") we can end up with duplicates in the list of devices attached to > a domain. This is inefficient and confusing since only one domain can > actually be in control of the IOMMU translations for a device. Fix this > by detaching the device from the previous domain, if any, on attach. > Add a WARN_ON() in case we still have attached devices on freeing the > domain. While here remove the re-attach on failure dance as it was > determined to be unlikely to help and may confuse debug and recovery. > > Fixes: fa7e9ecc5e1c ("iommu/s390: Tolerate repeat attach_dev calls") > Signed-off-by: Niklas Schnelle <schnelle@xxxxxxxxxxxxx> > --- > v3 -> v4: > - Drop s390_domain from __s390_iommu_detach_device() (Jason) > - WARN_ON() mismatched domain in s390_iommu_detach_device() (Jason) > - Use __s390_iommu_detach_device() in s390_iommu_release_device() (Jason) Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx> Jason