original_kernel/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
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
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
dump_linuxpagetables.h
dump_sr.c
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
init_32.c
init_64.c
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
mmu_context_book3s64.c
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
numa.c
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
slice.c
subpage-prot.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
tlb-radix.c
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
tlb_nohash_low.S
vphn.c
vphn.h