]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iommu/amd: Allocate the page table root using GFP_KERNEL
authorJason Gunthorpe <jgg@nvidia.com>
Fri, 30 Aug 2024 00:06:11 +0000 (21:06 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Oct 2024 14:32:40 +0000 (16:32 +0200)
[ Upstream commit b0a6c883bcd42eeb0850135e529b34b64d57673c ]

Domain allocation is always done under a sleepable context, the v1 path
and other drivers use GFP_KERNEL already. Fix the v2 path to also use
GFP_KERNEL.

Fixes: 0d571dcbe7c6 ("iommu/amd: Allocate page table using numa locality info")
Reviewed-by: Vasant Hegde <vasant.hegde@amd.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/2-v2-831cdc4d00f3+1a315-amd_iopgtbl_jgg@nvidia.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iommu/amd/io_pgtable_v2.c

index 78ac37c5ccc1e0ac59cbfede831ff80fc7addddb..acfe79b3262930897ba7540c1ea92f9547069dd5 100644 (file)
@@ -362,7 +362,7 @@ static struct io_pgtable *v2_alloc_pgtable(struct io_pgtable_cfg *cfg, void *coo
        struct protection_domain *pdom = (struct protection_domain *)cookie;
        int ias = IOMMU_IN_ADDR_BIT_SIZE;
 
-       pgtable->pgd = iommu_alloc_page_node(pdom->nid, GFP_ATOMIC);
+       pgtable->pgd = iommu_alloc_page_node(pdom->nid, GFP_KERNEL);
        if (!pgtable->pgd)
                return NULL;