]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iommu/amd: Pass gfp flags to iommu_map_page() in amd_iommu_map()
authorJoerg Roedel <jroedel@suse.de>
Fri, 18 Oct 2019 09:00:33 +0000 (11:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Feb 2023 11:50:42 +0000 (12:50 +0100)
commit 3057fb9377eb5e73386dd0d8804bf72bdd23e391 upstream.

A recent commit added a gfp parameter to amd_iommu_map() to make it
callable from atomic context, but forgot to pass it down to
iommu_map_page() and left GFP_KERNEL there. This caused
sleep-while-atomic warnings and needs to be fixed.

Reported-by: Qian Cai <cai@lca.pw>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: 781ca2de89ba ("iommu: Add gfp parameter to iommu_ops::map")
Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iommu/amd_iommu.c

index 5e269f3dca3dd9bdd77d7d8b85346921e9c20e03..b79309928d786866204650aa96b4a13c788aa41d 100644 (file)
@@ -3114,7 +3114,7 @@ static int amd_iommu_map(struct iommu_domain *dom, unsigned long iova,
                prot |= IOMMU_PROT_IW;
 
        mutex_lock(&domain->api_lock);
-       ret = iommu_map_page(domain, iova, paddr, page_size, prot, GFP_KERNEL);
+       ret = iommu_map_page(domain, iova, paddr, page_size, prot, gfp);
        mutex_unlock(&domain->api_lock);
 
        domain_flush_np_cache(domain, iova, page_size);