diff --git a/[refs] b/[refs] index e47a9638718e..d9766a92f41c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 826267cf1e6c6899eda1325a19f1b1d15c558b20 +refs/heads/master: 5dbe0af47f8a8f968bac2991c3ec974c6e3eaabc diff --git a/trunk/mm/rmap.c b/trunk/mm/rmap.c index 3a39b518a653..ba58ca36fc90 100644 --- a/trunk/mm/rmap.c +++ b/trunk/mm/rmap.c @@ -1014,7 +1014,7 @@ void do_page_add_anon_rmap(struct page *page, return; VM_BUG_ON(!PageLocked(page)); - VM_BUG_ON(address < vma->vm_start || address >= vma->vm_end); + /* address might be in next vma when migration races vma_adjust */ if (first) __page_set_anon_rmap(page, vma, address, exclusive); else @@ -1709,7 +1709,7 @@ void hugepage_add_anon_rmap(struct page *page, BUG_ON(!PageLocked(page)); BUG_ON(!anon_vma); - BUG_ON(address < vma->vm_start || address >= vma->vm_end); + /* address might be in next vma when migration races vma_adjust */ first = atomic_inc_and_test(&page->_mapcount); if (first) __hugepage_set_anon_rmap(page, vma, address, 0);