iommu/io-pgtable-arm: Fix pgtable allocation in selftest
authorJean-Philippe Brucker <jean-philippe.brucker@arm.com>
Mon, 18 Jun 2018 11:27:54 +0000 (12:27 +0100)
committerWill Deacon <will.deacon@arm.com>
Thu, 26 Jul 2018 10:34:58 +0000 (11:34 +0100)
Commit 4b123757eeaa ("iommu/io-pgtable-arm: Make allocations
NUMA-aware") added a NUMA hint to page table allocation, but the pgtable
selftest doesn't provide an SMMU device parameter. Since dev_to_node
doesn't accept a NULL argument, add a special case for selftest.

Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
drivers/iommu/io-pgtable-arm.c

index 010a254305dd48f60555f4895db7fe4ef9a82c71..88641b4560bc8e87117bdbf1d8b5b1d2117f8d30 100644 (file)
@@ -237,7 +237,8 @@ static void *__arm_lpae_alloc_pages(size_t size, gfp_t gfp,
        void *pages;
 
        VM_BUG_ON((gfp & __GFP_HIGHMEM));
-       p = alloc_pages_node(dev_to_node(dev), gfp | __GFP_ZERO, order);
+       p = alloc_pages_node(dev ? dev_to_node(dev) : NUMA_NO_NODE,
+                            gfp | __GFP_ZERO, order);
        if (!p)
                return NULL;