Re: [PATCH][BUGFIX] readahead: fix NULL filp dereference

From: Kirill A. Shutemov
Date: Fri Apr 02 2010 - 08:18:35 EST


On Fri, Apr 2, 2010 at 10:27 AM, Wu Fengguang <fengguang.wu@xxxxxxxxx> wrote:
> The btrfs relocate_file_extent_cluster() calls us with NULL filp:
>
> Â[ 4005.426805] BUG: unable to handle kernel NULL pointer dereference at 00000021
> Â[ 4005.426818] IP: [<c109a130>] page_cache_sync_readahead+0x18/0x3e
>
> CC: Yan Zheng <yanzheng@xxxxxxxx>
> Reported-by: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx>
> Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx>
> ---
>
> Andrew and Greg:
>
> This is an obvious correct bug fix for .34 and .33-stable,
> so I'm resending it directly to you without Kirill's confirmation.

Sorry.

Tested-by: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx>

> --- sound-2.6.orig/mm/readahead.c    2010-03-26 11:51:57.000000000 +0800
> +++ sound-2.6/mm/readahead.c  Â2010-03-26 11:52:11.000000000 +0800
> @@ -502,7 +502,7 @@ void page_cache_sync_readahead(struct ad
> Â Â Â Â Â Â Â Âreturn;
>
> Â Â Â Â/* be dumb */
> - Â Â Â if (filp->f_mode & FMODE_RANDOM) {
> + Â Â Â if (filp && (filp->f_mode & FMODE_RANDOM)) {
> Â Â Â Â Â Â Â Âforce_page_cache_readahead(mapping, filp, offset, req_size);
> Â Â Â Â Â Â Â Âreturn;
> Â Â Â Â}
>
--
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/