--- a/mm/madvise.c~mm-madvise-use-vma_lookup-instead-of-find_vma +++ a/mm/madvise.c @@ -849,8 +849,8 @@ static long madvise_populate(struct vm_a * our VMA might have been split. */ if (!vma || start >= vma->vm_end) { - vma = find_vma(mm, start); - if (!vma || start < vma->vm_start) + vma = vma_lookup(mm, start); + if (!vma) return -ENOMEM; }