[patch 1/6] mm: debug check for the fault vs invalidate race

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Linux Memory Management <linux-mm@...>, Andrew Morton <akpm@...>
Cc: Linux Kernel <linux-kernel@...>, Nick Piggin <npiggin@...>, Benjamin Herrenschmidt <benh@...>
Date: Wednesday, February 21, 2007 - 12:49 am

Add a bugcheck for Andrea's pagefault vs invalidate race. This is triggerable
for both linear and nonlinear pages with a userspace test harness (using
direct IO and truncate, respectively).

Signed-off-by: Nick Piggin <npiggin@suse.de>

 mm/filemap.c |    2 ++
 1 file changed, 2 insertions(+)

Index: linux-2.6/mm/filemap.c
===================================================================
--- linux-2.6.orig/mm/filemap.c
+++ linux-2.6/mm/filemap.c
@@ -120,6 +120,8 @@ void __remove_from_page_cache(struct pag
 	page->mapping = NULL;
 	mapping->nrpages--;
 	__dec_zone_page_state(page, NR_FILE_PAGES);
+
+	BUG_ON(page_mapped(page));
 }
 
 void remove_from_page_cache(struct page *page)
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch 0/6] fault vs truncate/invalidate race fix, Nick Piggin, (Wed Feb 21, 12:49 am)
Re: [patch 0/6] fault vs truncate/invalidate race fix, Dave Airlie, (Tue Feb 27, 12:36 am)
Re: [patch 0/6] fault vs truncate/invalidate race fix, Andrew Morton, (Tue Feb 27, 1:32 am)
Re: [patch 0/6] fault vs truncate/invalidate race fix, Nick Piggin, (Tue Feb 27, 4:50 am)
Re: [patch 0/6] fault vs truncate/invalidate race fix, Dave Airlie, (Tue Feb 27, 2:26 am)
Re: [patch 0/6] fault vs truncate/invalidate race fix, Benjamin Herrenschmidt, (Tue Feb 27, 2:54 am)
Re: [patch 0/6] fault vs truncate/invalidate race fix, Dave Airlie, (Sun Mar 18, 7:13 pm)
Re: [patch 4/6] mm: merge populate and nopage into fault (fi..., Benjamin Herrenschmidt, (Wed Mar 7, 6:05 am)
Re: [patch 4/6] mm: merge populate and nopage into fault (fi..., Benjamin Herrenschmidt, (Wed Mar 7, 6:46 am)
[rfc][patch 7/6] mm: merge page_mkwrite, Nick Piggin, (Wed Mar 7, 6:30 am)
[RFC][PATCH] mm: fix page_mkclean() vs non-linear vmas, Peter Zijlstra, (Wed Mar 7, 12:58 pm)
[patch 6/6] mm: remove legacy cruft, Nick Piggin, (Wed Feb 21, 12:50 am)
[patch 5/6] mm: merge nopfn into fault, Nick Piggin, (Wed Feb 21, 12:50 am)
Re: [patch 5/6] mm: merge nopfn into fault, Nick Piggin, (Wed Feb 21, 1:13 am)
[patch 2/6] mm: simplify filemap_nopage, Nick Piggin, (Wed Feb 21, 12:49 am)
[patch 1/6] mm: debug check for the fault vs invalidate race, Nick Piggin, (Wed Feb 21, 12:49 am)