Subject: Re: [v2, 1/2] powerpc/hugetlb: Handle mmap_min_addr correctly in get_unmapped_area callback

From: Michael Ellerman <[email-masked]>
Date: Thu, 28 Feb 2019 20:21:09 +1100 (AEDT)

On Tue, 2019-02-26 at 04:39:34 UTC, "Aneesh Kumar K.V" wrote:
> 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: 484837601d4d ("powerpc/mm: Add radix support for hugetlb")
> Reviewed-by: Laurent Dufour <[email-masked]>
> Signed-off-by: Aneesh Kumar K.V <[email-masked]>

Series applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/5330367fa300742a97e20e953b1f77f4

cheers