On Mon, Aug 14, 2017 at 06:57:19PM +0300, Kirill A. Shutemov wrote:
> In v4.12, during rework of infrastructure around mmap_base, disable-ASLR
> personality flag got accidentally broken.
> 
> Let's make it work again.
> 
> Signed-off-by: Kirill A. Shutemov <[email protected]>
> Fixes: 1b028f784e8c ("x86/mm: Introduce mmap_compat_base() for 32-bit mmap()")
> Cc: stable <[email protected]> [4.12+]
> ---
>  arch/x86/mm/mmap.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/x86/mm/mmap.c b/arch/x86/mm/mmap.c
> index 229d04a83f85..779bdbe5e424 100644
> --- a/arch/x86/mm/mmap.c
> +++ b/arch/x86/mm/mmap.c
> @@ -127,6 +127,8 @@ static unsigned long mmap_legacy_base(unsigned long rnd,
>  static void arch_pick_mmap_base(unsigned long *base, unsigned long 
> *legacy_base,
>               unsigned long random_factor, unsigned long task_size)
>  {
> +     if (!(current->flags & PF_RANDOMIZE))
> +             random_factor = 0;
>       *legacy_base = mmap_legacy_base(random_factor, task_size);
>       if (mmap_is_legacy())
>               *base = *legacy_base;

Didn't Oleg's patch does the same?

https://patchwork.kernel.org/patch/9832697/

for some reason it's not yet merged.

Reply via email to