[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y5CT4BBO9hsmjJfD@nvidia.com>
Date: Wed, 7 Dec 2022 09:23:44 -0400
From: Jason Gunthorpe <jgg@...dia.com>
To: Baolu Lu <baolu.lu@...ux.intel.com>
Cc: Niklas Schnelle <schnelle@...ux.ibm.com>,
Robin Murphy <robin.murphy@....com>,
Matthew Rosato <mjrosato@...ux.ibm.com>,
Gerd Bayer <gbayer@...ux.ibm.com>, iommu@...ts.linux.dev,
Joerg Roedel <joro@...tes.org>, Will Deacon <will@...nel.org>,
Wenjia Zhang <wenjia@...ux.ibm.com>,
Pierre Morel <pmorel@...ux.ibm.com>,
linux-s390@...r.kernel.org, borntraeger@...ux.ibm.com,
hca@...ux.ibm.com, gor@...ux.ibm.com,
gerald.schaefer@...ux.ibm.com, agordeev@...ux.ibm.com,
svens@...ux.ibm.com, linux-kernel@...r.kernel.org,
Julian Ruess <julianr@...ux.ibm.com>
Subject: Re: [PATCH v2 4/7] iommu: Let iommu.strict override
ops->def_domain_type
On Wed, Dec 07, 2022 at 09:18:19PM +0800, Baolu Lu wrote:
> > - /* Check if the device in the group still has a driver bound to it */
> > - device_lock(dev);
>
> With device_lock() removed, this probably races with the
> iommu_release_device() path? group->mutex seems insufficient to avoid
> the race. Perhaps I missed anything.
This path only deals with group, so there is no 'dev' and no race with
removal.
Later on we obtain the group mutex and then extract the first device
from the group list as a representative device of the group - eg to
perform iommu_domain allocation.
Under the group mutex devices on the device list cannot become
invalid.
It is the same reasoning we use in other places that iterate over the
group device list under lock.
Jason
Powered by blists - more mailing lists