Prev: [077/156] wl1251: fix potential crash
Next: [039/156] ALSA: hda: Use LPIB and 6stack-dig for eMachines T5212
From: Greg KH on 30 Mar 2010 19:50 2.6.33-stable review patch. If anyone has any objections, please let us know. ------------------ From: Trond Myklebust <Trond.Myklebust(a)netapp.com> commit d812e575822a2b7ab1a7cadae2571505ec6ec2bd upstream. We should not attempt to free the page if __GFP_FS is not set. Otherwise we can deadlock as per http://bugzilla.kernel.org/show_bug.cgi?id=15578 Signed-off-by: Trond Myklebust <Trond.Myklebust(a)netapp.com> Signed-off-by: Greg Kroah-Hartman <gregkh(a)suse.de> --- fs/nfs/file.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -486,7 +486,8 @@ static int nfs_release_page(struct page { dfprintk(PAGECACHE, "NFS: release_page(%p)\n", page); - if (gfp & __GFP_WAIT) + /* Only do I/O if gfp is a superset of GFP_KERNEL */ + if ((gfp & GFP_KERNEL) == GFP_KERNEL) nfs_wb_page(page->mapping->host, page); /* If PagePrivate() is set, then the page is not freeable */ if (PagePrivate(page)) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |