Patch from Hugh Dickins 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; } _