diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> | 2019-01-23 11:51:38 +0530 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2019-01-31 20:10:15 +1100 |
commit | 579b9239c1f38665b21e8d0e6ee83ecc96dbd6bb (patch) | |
tree | f42a19c9877dcd2c0f2cc0204ec2b64b99587000 /fs/btrfs | |
parent | 7bea7ac0ca0121798f3618d16201ca4dc4e67a00 (diff) |
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: 675d995297d4 ("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>
Diffstat (limited to 'fs/btrfs')
0 files changed, 0 insertions, 0 deletions