]> git.baikalelectronics.ru Git - kernel.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 58306c128cd6654bd53da3e3c5cff927c3726ba2 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: 5beea495f938 ("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);