> From: Nicolin Chen <nicolinc@xxxxxxxxxx> > Sent: Monday, September 1, 2025 7:32 AM > > The iommu_deferred_attach() function invokes __iommu_attach_device() > while > not holding the group->mutex, like other __iommu_attach_device() callers. > > Though there is no pratical bug being triggered so far, it would be better > to apply the same locking to this __iommu_attach_device(), since the > IOMMU > drivers nowaday are more aware of the group->mutex -- some of them use > the > iommu_group_mutex_assert() function that could be potentially in the path > of an attach_dev callback function invoked by the __iommu_attach_device(). > > The iommu_deferred_attach() will soon need to verify a new flag stored in > the struct group_device. To iterate the gdev list, the group->mutex should > be held for this matter too. > > So, grab the mutex to guard __iommu_attach_device() like other callers. > > Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > Signed-off-by: Nicolin Chen <nicolinc@xxxxxxxxxx> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>