mm/mmap.c: expand_downwards: don't require the gap if !vm_prev
authorOleg Nesterov <oleg@redhat.com>
Mon, 10 Jul 2017 22:49:54 +0000 (15:49 -0700)
committerYves-Alexis Perez <corsac@debian.org>
Wed, 21 Feb 2018 15:29:03 +0000 (15:29 +0000)
commit0a55594ef98a57dd8b46ba9a4f889aac1af6533c
treed152635bf7ce2b805fa655fd444cf5356c1b7945
parentcc1f9c4dee3cc7960aff4bf4730c572cbf7dce3c
mm/mmap.c: expand_downwards: don't require the gap if !vm_prev

expand_stack(vma) fails if address < stack_guard_gap even if there is no
vma->vm_prev.  I don't think this makes sense, and we didn't do this
before the recent commit 1be7107fbe18 ("mm: larger stack guard gap,
between vmas").

We do not need a gap in this case, any address is fine as long as
security_mmap_addr() doesn't object.

This also simplifies the code, we know that address >= prev->vm_end and
thus underflow is not possible.

Link: http://lkml.kernel.org/r/20170628175258.GA24881@redhat.com
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Larry Woodman <lwoodman@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name mm-mmap.c-expand_downwards-don-t-require-the-gap-if-.patch
mm/mmap.c