linux/arch/powerpc/mm
Aneesh Kumar K.V 579b9239c1 powerpc/radix: Fix kernel crash with mremap()
With support for split pmd lock, we use pmd page pmd_huge_pte pointer
to store the deposited page table. In those config when we move page
tables we need to make sure we move the deposited page table to the
correct pmd page. Otherwise this can result in crash when we withdraw
of deposited page table because we can find the pmd_huge_pte NULL.

eg:

  __split_huge_pmd+0x1070/0x1940
  __split_huge_pmd+0xe34/0x1940 (unreliable)
  vma_adjust_trans_huge+0x110/0x1c0
  __vma_adjust+0x2b4/0x9b0
  __split_vma+0x1b8/0x280
  __do_munmap+0x13c/0x550
  sys_mremap+0x220/0x7e0
  system_call+0x5c/0x70

Fixes: 675d995297 ("powerpc/book3s64: Enable split pmd ptlock.")
Cc: stable@vger.kernel.org # v4.18+
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-31 20:10:15 +11:00
..
8xx_mmu.c powerpc/8xx: use modify_instruction_site() 2018-12-19 18:56:32 +11:00
40x_mmu.c
44x_mmu.c powerpc/44x: use patch_sites for TLB handlers patching 2018-12-19 18:56:32 +11:00
Makefile powerpc/mm: dump block address translation on book3s/32 2018-12-04 19:46:49 +11:00
copro_fault.c
dma-noncoherent.c powerpc/dma: split the two __dma_alloc_coherent implementations 2018-12-20 22:21:20 +11:00
drmem.c
dump_bats.c powerpc/mm: dump block address translation on book3s/32 2018-12-04 19:46:49 +11:00
dump_hashpagetable.c
dump_linuxpagetables-8xx.c
dump_linuxpagetables-book3s64.c
dump_linuxpagetables-generic.c powerpc/mm: add exec protection on powerpc 603 2018-12-19 18:56:32 +11:00
dump_linuxpagetables.c powerpc/mm: Fix linux page tables build with some configs 2018-11-27 11:03:36 +11:00
dump_linuxpagetables.h
dump_sr.c powerpc/mm: dump segment registers on book3s/32 2018-12-04 19:45:54 +11:00
fault.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
fsl_booke_mmu.c
hash64_4k.c
hash64_64k.c
hash_low_32.S powerpc/book3s/32: Use patch_site to patch hash functions 2018-12-19 18:56:32 +11:00
hash_native_64.c
hash_utils_64.c
highmem.c
hugepage-hash64.c
hugetlbpage-book3e.c
hugetlbpage-hash64.c
hugetlbpage-radix.c
hugetlbpage.c powerpc updates for 4.21 2018-12-27 10:43:24 -08:00
init-common.c powerpc/mm: remove unnecessary test in pgtable_cache_init() 2018-12-04 19:45:01 +11:00
init_32.c
init_64.c powerpc/mm: Fallback to RAM if the altmap is unusable 2018-12-09 21:33:21 +11:00
mem.c mm, memory_hotplug: add nid parameter to arch_remove_memory 2018-12-28 12:11:49 -08:00
mmap.c
mmu_context.c powerpc/mm: Extend pte_fragment functionality to PPC32 2018-12-04 19:45:01 +11: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
mmu_context_iommu.c powerpc/vfio/iommu/kvm: Do not pin device memory 2018-12-21 16:20:46 +11:00
mmu_context_nohash.c powerpc/mm: define an empty slice_init_new_context_exec() 2018-12-19 18:56:32 +11:00
mmu_decl.h powerpc: change CONFIG_6xx to CONFIG_PPC_BOOK3S_32 2018-11-26 22:33:37 +11:00
numa.c powerpc: Use device_type helpers to access the node type 2018-11-26 22:33:37 +11:00
pgtable-book3e.c
pgtable-book3s64.c powerpc/radix: Fix kernel crash with mremap() 2019-01-31 20:10:15 +11: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
pgtable-radix.c
pgtable.c powerpc/mm: add exec protection on powerpc 603 2018-12-19 18:56:32 +11:00
pgtable_32.c mm: treewide: remove unused address argument from pte_alloc functions 2019-01-04 13:13:47 -08:00
pgtable_64.c
pkeys.c powerpc/pkeys: Fix handling of pkey state across fork() 2018-12-21 14:46:50 +11:00
ppc_mmu_32.c powerpc/book3s/32: fix number of bats in p/v_block_mapped() 2018-12-19 18:56:32 +11:00
slb.c powerpc/mm/64s: Fix preempt warning in slb_allocate_kernel() 2018-11-12 13:22:10 +11:00
slice.c
subpage-prot.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
tlb-radix.c powerpc updates for 4.20 2018-10-26 14:36:21 -07:00
tlb_hash32.c
tlb_hash64.c
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.c powerpc/8xx: Enable 512k hugepage support with HW assistance 2018-12-04 19:45:01 +11:00
tlb_nohash_low.S
vphn.c
vphn.h