Patch from Hugh Dickins <hugh@veritas.com>

It needs this in addition to Dave's patch from yesterday:



 mm/rmap.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN mm/rmap.c~objrmap-mapped-mem-fix-2 mm/rmap.c
--- 25/mm/rmap.c~objrmap-mapped-mem-fix-2	2003-02-28 04:52:35.000000000 -0800
+++ 25-akpm/mm/rmap.c	2003-02-28 04:52:35.000000000 -0800
@@ -349,7 +349,8 @@ void page_remove_rmap(struct page * page
 			BUG();
 		if (atomic_read(&page->pte.mapcount) == 0)
 			BUG();
-		atomic_dec(&page->pte.mapcount);
+		if (atomic_dec_and_test(&page->pte.mapcount))
+			dec_page_state(nr_mapped);
 		return;
 	}
 

_