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

From: Andrew Morton
Date: Wed Dec 21 2011 - 15:28:48 EST


On Wed, 21 Dec 2011 11:05:48 -0600
Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> 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?


--
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/