The patch titled Subject: mm: refuse wrapped vm_brk requests has been added to the -mm tree. Its filename is mm-refuse-wrapped-vm_brk-requests.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/mm-refuse-wrapped-vm_brk-requests.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/mm-refuse-wrapped-vm_brk-requests.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Kees Cook <keescook@xxxxxxxxxxxx> Subject: mm: refuse wrapped vm_brk requests The vm_brk() alignment calculations should refuse to overflow. The ELF loader depending on this, but it has been fixed now. No other unsafe callers have been found. Link: http://lkml.kernel.org/r/1468014494-25291-3-git-send-email-keescook@xxxxxxxxxxxx Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Reported-by: Hector Marco-Gisbert <hecmargi@xxxxxx> Cc: Ismael Ripoll Ripoll <iripoll@xxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/mmap.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff -puN mm/mmap.c~mm-refuse-wrapped-vm_brk-requests mm/mmap.c --- a/mm/mmap.c~mm-refuse-wrapped-vm_brk-requests +++ a/mm/mmap.c @@ -2643,16 +2643,18 @@ static inline void verify_mm_writelocked * anonymous maps. eventually we may be able to do some * brk-specific accounting here. */ -static int do_brk(unsigned long addr, unsigned long len) +static int do_brk(unsigned long addr, unsigned long request) { struct mm_struct *mm = current->mm; struct vm_area_struct *vma, *prev; - unsigned long flags; + unsigned long flags, len; struct rb_node **rb_link, *rb_parent; pgoff_t pgoff = addr >> PAGE_SHIFT; int error; - len = PAGE_ALIGN(len); + len = PAGE_ALIGN(request); + if (len < request) + return -ENOMEM; if (!len) return 0; _ Patches currently in -mm which might be from keescook@xxxxxxxxxxxx are binfmt_elf-fix-calculations-for-bss-padding.patch mm-refuse-wrapped-vm_brk-requests.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html