summaryrefslogtreecommitdiff
path: root/arch/powerpc/mm/slice.c
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2017-11-10 04:27:37 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2017-11-13 23:34:47 +1100
commiteffc1b25088502fbd30305c79773de2d1f7470a6 (patch)
tree445876663d30bc964374a77c90422b2d456e0860 /arch/powerpc/mm/slice.c
parent6a72dc038b615229a1b285829d6c8378d15c2347 (diff)
powerpc/64s/hash: Fix fork() with 512TB process address space
Hash unconditionally resets the addr_limit to default (128TB) when the mm context is initialised. If a process has > 128TB mappings when it forks, the child will not get the 512TB addr_limit, so accesses to valid > 128TB mappings will fail in the child. Fix this by only resetting the addr_limit to default if it was 0. Non zero indicates it was duplicated from the parent (0 means exec()). Fixes: f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB") Cc: stable@vger.kernel.org # v4.12+ Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/mm/slice.c')
0 files changed, 0 insertions, 0 deletions