Re: [stable] [patch 07/19] invalidate_complete_page() race fix

From: Andrew Morton
Date: Tue Oct 10 2006 - 15:32:11 EST


On Tue, 10 Oct 2006 12:14:18 -0700
Greg KH <greg@xxxxxxxxx> wrote:

> On Tue, Oct 10, 2006 at 07:12:54PM +0100, Hugh Dickins wrote:
> > On Tue, 10 Oct 2006, Greg KH wrote:
> >
> > > -stable review patch. If anyone has any objections, please let us know.
> > >
> > > ------------------
> > > From: Andrew Morton <akpm@xxxxxxxx>
> > >
> > > If a CPU faults this page into pagetables after invalidate_mapping_pages()
> > > checked page_mapped(), invalidate_complete_page() will still proceed to remove
> > > the page from pagecache. This leaves the page-faulting process with a
> > > detached page. If it was MAP_SHARED then file data loss will ensue.
> > >
> > > Fix that up by checking the page's refcount after taking tree_lock.
> >
> > I may have lost the plot, but I think this patch has already proved
> > to cause problems for NFS in 2.6.18: not good to put it into 2.6.17
> > stable while it's awaiting refinement for 2.6.18 stable.
>
> Ok, I've dropped it now.
>

It needs invalidate_inode_pages2-ignore-page-refcounts.patch as well.

This patch (invalidate_complete_page() race fix) fixes a cramfs unmount
race and, iirc, a pagefault-vs-invalidate race which Nick was seeing.
So applying both patches would make 2.6.17 a better place, but we could live
without them.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/