Andrew, The following is a series of changes to remove the do_brk_munmap() optimization that Hugh flagged as an issue. Please apply patch 1 to (mm/mmap: change do_brk_flags() to expand existing VMA and add do_brk_munmap()) and the last two should replace patches in the v11 set. 2/3 should replace 28/69 3/3 should replace 29/69 The end result should look like this: static int do_brk_munmap(struct ma_state *mas, struct vm_area_struct *vma, unsigned long newbrk, unsigned long oldbrk, struct list_head *uf) { struct mm_struct *mm = vma->vm_mm; int ret; arch_unmap(mm, newbrk, oldbrk); ret = do_mas_align_munmap(mas, vma, mm, newbrk, oldbrk, uf, true); validate_mm_mt(mm); return ret; } Thanks, Liam