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 <kirill.shutemov@xxxxxxxxxxxxxxx> > Fixes: 1b028f784e8c ("x86/mm: Introduce mmap_compat_base() for 32-bit mmap()") > Cc: stable <stable@xxxxxxxxxxxxxxx> [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.