Re: [Patch V2 0/2] iommu/arm-smmu: Fix races in iommu domain/group creation
From: Robin Murphy
Date: Mon Aug 02 2021 - 11:46:47 EST
On 2021-08-02 16:16, Will Deacon wrote:
On Fri, Jun 18, 2021 at 02:00:35AM +0530, Ashish Mhetre wrote:
Multiple iommu domains and iommu groups are getting created for the devices
sharing same SID. It is expected for devices sharing same SID to be in same
iommu group and same iommu domain.
This is leading to context faults when one device is accessing IOVA from
other device which shouldn't be the case for devices sharing same SID.
Fix this by protecting iommu domain and iommu group creation with mutexes.
Robin -- any chance you could take a look at these, please? You had some
comments on the first version which convinced me that they are needed,
but I couldn't tell whether you wanted to solve this a different way or not.
Sorry, I was lamenting that this came to light due to the
of_iommu_configure() flow being yucky, but that wasn't meant to imply
that there aren't - or couldn't be in future - better reasons for
iommu_probe_device() to be robust against concurrency anyway. I do think
these are legitimate fixes to make in their own right, even if the
current need might get swept back under the rug in future.
I would say, however, that the commit messages seem to focus too much on
the wrong details and aren't overly useful, and patch #2 is missing