linux/arch/powerpc
Aneesh Kumar K.V 5330367fa3 powerpc/hugetlb: Handle mmap_min_addr correctly in get_unmapped_area callback
After we ALIGN up the address we need to make sure we didn't overflow
and resulted in zero address. In that case, we need to make sure that
the returned address is greater than mmap_min_addr.

This fixes selftest va_128TBswitch --run-hugetlb reporting failures when
run as non root user for

mmap(-1, MAP_HUGETLB)

The bug is that a non-root user requesting address -1 will be given address 0
which will then fail, whereas they should have been given something else that
would have succeeded.

We also avoid the first mmap(-1, MAP_HUGETLB) returning NULL address as mmap address
with this change. So we think this is not a security issue, because it only affects
whether we choose an address below mmap_min_addr, not whether we
actually allow that address to be mapped. ie. there are existing capability
checks to prevent a user mapping below mmap_min_addr and those will still be
honoured even without this fix.

Fixes: 484837601d ("powerpc/mm: Add radix support for hugetlb")
Reviewed-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-02-26 16:26:28 +11:00
..
boot powerpc/dts: Standardize DTS status assignments from "ok" to "okay" 2019-02-22 00:10:15 +11:00
configs powerpc/configs: Add PPC4xx_OCM to ppc40x_defconfig 2018-12-30 14:00:47 +11:00
crypto powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
include powerpc: sstep: Add support for maddhd, maddhdu, maddld instructions 2019-02-26 00:05:16 +11:00
kernel powerpc: clean stack pointers naming 2019-02-23 22:31:40 +11:00
kvm powerpc: Avoid circular header inclusion in mmu-hash.h 2019-02-23 22:31:39 +11:00
lib powerpc sstep: Add support for modsd, modud instructions 2019-02-26 00:05:20 +11:00
math-emu powerpc: math-emu: remove unneeded header search paths 2019-01-14 20:39:27 +11:00
mm powerpc/hugetlb: Handle mmap_min_addr correctly in get_unmapped_area callback 2019-02-26 16:26:28 +11:00
net powerpc: Activate CONFIG_THREAD_INFO_IN_TASK 2019-02-23 22:31:40 +11:00
oprofile Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
perf Merge branch 'fixes' into next 2019-02-19 19:56:26 +11:00
platforms powerpc/wii: remove wii_mmu_mapin_mem2() 2019-02-23 21:04:32 +11:00
purgatory powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
sysdev powerpc/32: Remove CURRENT_THREAD_INFO and rename TI_CPU 2019-02-23 22:31:40 +11:00
tools powerpc/tools/checkpatch: Ignore DT_SPLIT_BINDING_PATCH 2018-12-04 19:45:01 +11:00
xmon powerpc: Only use task_struct 'cpu' field on SMP 2019-02-23 22:31:39 +11:00
Kbuild powerpc: Add -Werror at arch/powerpc level 2018-10-19 00:56:17 +11:00
Kconfig powerpc: Activate CONFIG_THREAD_INFO_IN_TASK 2019-02-23 22:31:40 +11:00
Kconfig.debug powerpc: Move page table dump files in a dedicated subdirectory 2019-02-22 22:29:22 +11:00
Makefile powerpc/32: Remove CURRENT_THREAD_INFO and rename TI_CPU 2019-02-23 22:31:40 +11:00
Makefile.postlink