From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wu Fengguang Subject: [PATCH][BUGFIX] readahead: fix NULL filp dereference Date: Fri, 2 Apr 2010 15:27:50 +0800 Message-ID: <20100402072750.GA22952@localhost> References: <3d0408631003252040r70c54b2fm24d64b819c59c9c@mail.gmail.com> <20100326040114.GA20717@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "Yan, Zheng " , "linux-btrfs@vger.kernel.org" , "kirill@shutemov.name" , LKML , Jens Axboe To: Andrew Morton , stable@kernel.org Return-path: In-Reply-To: <20100326040114.GA20717@localhost> List-ID: 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: [] page_cache_sync_readahead+0x18/0x3e CC: Yan Zheng Reported-by: Kirill A. Shutemov Signed-off-by: Wu Fengguang --- 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. --- 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; }