lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 0475/1039] iommu: Extend mutex lock scope in iommu_probe_device()
    Date
    From: Lu Baolu <baolu.lu@linux.intel.com>

    [ Upstream commit 556f99ac886635e8da15528995f06d1d7028cfca ]

    Extend the scope of holding group->mutex so that it can cover the default
    domain check/attachment and direct mappings of reserved regions.

    Cc: Ashish Mhetre <amhetre@nvidia.com>
    Fixes: 211ff31b3d33b ("iommu: Fix race condition during default domain allocation")
    Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
    Link: https://lore.kernel.org/r/20211108061349.1985579-1-baolu.lu@linux.intel.com
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/iommu/iommu.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
    index dd7863e453a5f..8b86406b71627 100644
    --- a/drivers/iommu/iommu.c
    +++ b/drivers/iommu/iommu.c
    @@ -288,11 +288,11 @@ int iommu_probe_device(struct device *dev)
    */
    mutex_lock(&group->mutex);
    iommu_alloc_default_domain(group, dev);
    - mutex_unlock(&group->mutex);

    if (group->default_domain) {
    ret = __iommu_attach_device(group->default_domain, dev);
    if (ret) {
    + mutex_unlock(&group->mutex);
    iommu_group_put(group);
    goto err_release;
    }
    @@ -300,6 +300,7 @@ int iommu_probe_device(struct device *dev)

    iommu_create_device_direct_mappings(group, dev);

    + mutex_unlock(&group->mutex);
    iommu_group_put(group);

    if (ops->probe_finalize)
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-01-25 01:13    [W:4.056 / U:24.216 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site