summaryrefslogtreecommitdiffstats
path: root/mm/memory.c
diff options
context:
space:
mode:
authorNick Piggin2007-05-17 07:11:21 +0200
committerLinus Torvalds2007-05-17 14:23:06 +0200
commitc97a9e10eaee328e6eea9f76acf7bacd7d48ef56 (patch)
treef14bf796d087e130452a2e2457c75eb1eca27483 /mm/memory.c
parentFix page allocation flags in grow_dev_page() (diff)
downloadkernel-qcow2-linux-c97a9e10eaee328e6eea9f76acf7bacd7d48ef56.tar.gz
kernel-qcow2-linux-c97a9e10eaee328e6eea9f76acf7bacd7d48ef56.tar.xz
kernel-qcow2-linux-c97a9e10eaee328e6eea9f76acf7bacd7d48ef56.zip
mm: more rmap checking
Re-introduce rmap verification patches that Hugh removed when he removed PG_map_lock. PG_map_lock actually isn't needed to synchronise access to anonymous pages, because PG_locked and PTL together already do. These checks were important in discovering and fixing a rare rmap corruption in SLES9. Signed-off-by: Nick Piggin <npiggin@suse.de> Cc: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memory.c')
-rw-r--r--mm/memory.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/memory.c b/mm/memory.c
index 1d647ab0ee72..cb94488ab96d 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -481,7 +481,7 @@ copy_one_pte(struct mm_struct *dst_mm, struct mm_struct *src_mm,
page = vm_normal_page(vma, addr, pte);
if (page) {
get_page(page);
- page_dup_rmap(page);
+ page_dup_rmap(page, vma, addr);
rss[!!PageAnon(page)]++;
}