> From: Nicolin Chen > Sent: Thursday, June 16, 2022 8:03 AM > > All devices in emulated_iommu_groups have pinned_page_dirty_scope > set, so the update_dirty_scope in the first list_for_each_entry > is always false. Clean it up, and move the "if update_dirty_scope" > part from the detach_group_done routine to the domain_list part. > > Rename the "detach_group_done" goto label accordingly. > > Suggested-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > Signed-off-by: Nicolin Chen <nicolinc@xxxxxxxxxx> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>, with one nit: > @@ -2469,7 +2467,7 @@ static void vfio_iommu_type1_detach_group(void > *iommu_data, > WARN_ON(iommu->notifier.head); > vfio_iommu_unmap_unpin_all(iommu); > } > - goto detach_group_done; > + goto out_unlock; ... > +out_unlock: > mutex_unlock(&iommu->lock); > } > I'd just replace the goto with a direct unlock and then return there. the readability is slightly better.