diff options
author | Rik van Riel <riel@redhat.com> | 2010-03-05 16:42:08 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-06 14:26:26 -0500 |
commit | 033a64b56aed798991de18d226085dfb1ccd858d (patch) | |
tree | edf27f0868d1b16e0d1e1e41876b668d4a2f215d /mm | |
parent | 5beb49305251e5669852ed541e8e2f2f7696c53e (diff) |
rmap: remove obsolete check from __page_check_anon_rmap()
When an anonymous page is inherited from a parent process, the
vma->anon_vma can differ from the page anon_vma. This can trip up
__page_check_anon_rmap, which is indirectly called from do_swap_page().
Remove that obsolete check to prevent an oops.
Signed-off-by: Rik van Riel <riel@redhat.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Larry Woodman <lwoodman@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/rmap.c | 3 |
1 files changed, 0 insertions, 3 deletions
@@ -754,9 +754,6 @@ static void __page_check_anon_rmap(struct page *page, | |||
754 | * are initially only visible via the pagetables, and the pte is locked | 754 | * are initially only visible via the pagetables, and the pte is locked |
755 | * over the call to page_add_new_anon_rmap. | 755 | * over the call to page_add_new_anon_rmap. |
756 | */ | 756 | */ |
757 | struct anon_vma *anon_vma = vma->anon_vma; | ||
758 | anon_vma = (void *) anon_vma + PAGE_MAPPING_ANON; | ||
759 | BUG_ON(page->mapping != (struct address_space *)anon_vma); | ||
760 | BUG_ON(page->index != linear_page_index(vma, address)); | 757 | BUG_ON(page->index != linear_page_index(vma, address)); |
761 | #endif | 758 | #endif |
762 | } | 759 | } |