Re: [PATCH v2] vfs: __read_cache_page should use gfp argument rather than GFP_KERNEL

Andrew Morton <akpm-de/[email protected]> Wed, 21 Dec 2011 12:28:43 -0800
Newsgroups org.kernel.vger.kernel-testers,org.kernel.vger.linux-kernel,org.kvack.linux-mm
Message-ID <[email protected]>
On Wed, 21 Dec 2011 11:05:48 -0600
Dave Kleikamp <[email protected]> wrote:

> [ updated to remove now-obsolete comment in read_cache_page_gfp()]
> 
> lockdep reports a deadlock in jfs because a special inode's rw semaphore
> is taken recursively. The mapping's gfp mask is GFP_NOFS, but is not used
> when __read_cache_page() calls add_to_page_cache_lru().

Well hang on, it's not just a lockdep splat.  The kernel actually will
deadlock if we reenter JFS via this GFP_KERNEL allocation attempt, yes?

Was that GFP_NOFS allocation recently added to JFS?  If not then we
should backport this deadlock fix into -stable, no?