linux/arch/powerpc/mm
Alexey Kardashevskiy 7a3a4d7638 powerpc/mm_iommu: Allow pinning large regions
When called with vmas_arg==NULL, get_user_pages_longterm() allocates
an array of nr_pages*8 which can easily get greater that the max order,
for example, registering memory for a 256GB guest does this and fails
in __alloc_pages_nodemask().

This adds a loop over chunks of entries to fit the max order limit.

Fixes: 678e174c4c ("powerpc/mm/iommu: allow migration of cma allocated pages during mm_iommu_do_alloc", 2019-03-05)
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-04-17 21:36:51 +10:00
..
ptdump powerpc/mm: Check secondary hash page table 2019-03-02 14:43:05 +11:00
8xx_mmu.c powerpc/8xx: don't disable large TLBs with CONFIG_STRICT_KERNEL_RWX 2019-02-23 21:04:32 +11:00
40x_mmu.c powerpc/mm/32: add base address to mmu_mapin_ram() 2019-02-23 21:04:31 +11:00
44x_mmu.c powerpc/mm/32: add base address to mmu_mapin_ram() 2019-02-23 21:04:31 +11:00
copro_fault.c mm: convert return type of handle_mm_fault() caller to vm_fault_t 2018-08-17 16:20:28 -07:00
dma-noncoherent.c powerpc/dma: use the generic direct mapping bypass 2019-02-18 22:41:04 +11:00
drmem.c powerpc/mm/drmem: Fix unexpected flag value in ibm,dynamic-memory-v2 2018-02-23 16:45:51 +11:00
fault.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
fsl_booke_mmu.c powerpc/mm/32: add base address to mmu_mapin_ram() 2019-02-23 21:04:31 +11:00
hash64_4k.c powerpc/mm/hash: Remove the superfluous bitwise operation when find hpte group 2018-07-24 22:03:17 +10:00
hash64_64k.c powerpc/mm/hash: Remove the superfluous bitwise operation when find hpte group 2018-07-24 22:03:17 +10:00
hash_low_32.S powerpc/6xx: fix setup and use of SPRN_SPRG_PGDIR for hash32 2019-03-19 00:30:19 +11:00
hash_native_64.c powerpc/64s/hash: Do not use PPC_INVALIDATE_ERAT on CPUs before POWER9 2018-10-04 23:16:53 +10:00
hash_utils_64.c treewide: add checks for the return value of memblock_alloc*() 2019-03-12 10:04:02 -07:00
highmem.c powerpc/mm: remove warning about ‘type’ being set 2018-08-10 22:12:38 +10:00
hugepage-hash64.c arch/powerpc/mm/hash: validate the pte entries before handling the hash fault 2018-10-03 15:39:59 +10:00
hugetlbpage-book3e.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hugetlbpage-hash64.c powerpc updates for 5.1 2019-03-07 12:56:26 -08:00
hugetlbpage-radix.c powerpc updates for 5.1 2019-03-07 12:56:26 -08:00
hugetlbpage.c powerpc updates for 4.21 2018-12-27 10:43:24 -08:00
init_32.c powerpc/8xx: don't disable large TLBs with CONFIG_STRICT_KERNEL_RWX 2019-02-23 21:04:32 +11:00
init_64.c powerpc/mm: fix "section_base" set but not used 2019-03-02 14:43:05 +11:00
init-common.c powerpc/mm: remove unnecessary test in pgtable_cache_init() 2018-12-04 19:45:01 +11:00
Makefile powerpc/mm: Disable kcov for SLB routines 2019-03-12 14:06:12 +11:00
mem.c Merge branch 'topic/dma' into next 2019-02-21 23:15:10 +11:00
mmap.c exec: pass stack rlimit into mm layout functions 2018-04-11 10:28:37 -07:00
mmu_context_book3s64.c powerpc/mm: Move pte_fragment_alloc() to a common location 2018-12-04 19:45:01 +11:00
mmu_context_hash32.c powerpc: remove unnecessary inclusion of asm/tlbflush.h 2018-07-30 22:48:20 +10:00
mmu_context_iommu.c powerpc/mm_iommu: Allow pinning large regions 2019-04-17 21:36:51 +10:00
mmu_context_nohash.c treewide: add checks for the return value of memblock_alloc*() 2019-03-12 10:04:02 -07:00
mmu_context.c powerpc/mm: Extend pte_fragment functionality to PPC32 2018-12-04 19:45:01 +11:00
mmu_decl.h powerpc/8xx: don't disable large TLBs with CONFIG_STRICT_KERNEL_RWX 2019-02-23 21:04:32 +11:00
numa.c memblock: memblock_phys_alloc_try_nid(): don't panic 2019-03-12 10:04:01 -07:00
pgtable_32.c powerpc/mm/32s: Use BATs for STRICT_KERNEL_RWX 2019-02-23 21:04:32 +11:00
pgtable_64.c powerpc/mm: use pte helpers in generic code 2018-10-14 18:04:09 +11:00
pgtable-book3e.c treewide: add checks for the return value of memblock_alloc*() 2019-03-12 10:04:02 -07:00
pgtable-book3s64.c treewide: add checks for the return value of memblock_alloc*() 2019-03-12 10:04:02 -07:00
pgtable-frag.c mm: treewide: remove unused address argument from pte_alloc functions 2019-01-04 13:13:47 -08:00
pgtable-hash64.c powerpc: handover page flags with a pgprot_t parameter 2018-10-14 18:04:09 +11:00
pgtable-radix.c treewide: add checks for the return value of memblock_alloc*() 2019-03-12 10:04:02 -07:00
pgtable.c powerpc/mm: add exec protection on powerpc 603 2018-12-19 18:56:32 +11:00
pkeys.c powerpc/pkeys: Fix handling of pkey state across fork() 2018-12-21 14:46:50 +11:00
ppc_mmu_32.c treewide: add checks for the return value of memblock_alloc*() 2019-03-12 10:04:02 -07:00
slb.c powerpc/64s/hash: Fix assert_slb_presence() use of the slbfee. instruction 2019-02-22 00:10:14 +11:00
slice.c powerpc/mm/hash: Handle mmap_min_addr correctly in get_unmapped_area topdown search 2019-02-26 16:26:29 +11:00
subpage-prot.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
tlb_hash32.c powerpc/sparse: Fix plain integer as NULL pointer warning 2018-05-25 12:04:38 +10:00
tlb_hash64.c powerpc/mm: Add support for handling > 512TB address in SLB miss 2018-03-31 00:10:38 +11:00
tlb_low_64e.S powerpc/fsl: Flush the branch predictor at each kernel entry (64bit) 2018-12-20 22:59:03 +11:00
tlb_nohash_low.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
tlb_nohash.c powerpc: remove unnecessary unlikely() 2019-01-15 11:38:05 +11:00
tlb-radix.c powerpc updates for 4.20 2018-10-26 14:36:21 -07:00
vphn.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vphn.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00