From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andi Kleen Subject: Re: Kernel oops when accessing to mounted, but unplugged JFS Date: Sun, 21 Nov 2010 18:57:10 +0100 Message-ID: <87lj4mv9u1.fsf@basil.nowhere.org> References: <20101121122008.GE4024__36829.3162588545$1290342860$gmane$org@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org, jfs-discussion@lists.sourceforge.net, viro@zeniv.linux.org.uk, rjw@sisk.pl To: Alexander Kolesen Return-path: Received: from one.firstfloor.org ([213.235.205.2]:59188 "EHLO one.firstfloor.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755361Ab0KUR5Q (ORCPT ); Sun, 21 Nov 2010 12:57:16 -0500 In-Reply-To: <20101121122008.GE4024__36829.3162588545$1290342860$gmane$org@localhost> (Alexander Kolesen's message of "Sun, 21 Nov 2010 14:20:08 +0200") Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Alexander Kolesen writes: [Rafael, a new regression] > Hello. > I've built a kernel from > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git > (Date: Fri Nov 19 19:46:45 2010 -0800) > and got a kernel oops when tried to access to unplugged, > but mounted external usb storage formatted with JFS. Al seems to be the last person who touched it, maybe it's related to his changes, like this one. commit 152a08366671080f27b32e0c411ad620c5f88b57 Author: Al Viro Date: Sun Jul 25 00:46:55 2010 +0400 new helper: mount_bdev() ... and switch of the obvious get_sb_bdev() users to ->mount() Signed-off-by: Al Viro > > Steps to reproduce: > mkfs.jfs /dev/sdb1 (unpluggable USB hard drive) > mount /dev/sdb1 /mnt/drive > cd /mnt/drive > touch test > sync > ..unplug a drive > ls > > > Result: > BUG: unable to handle kernel NULL pointer dereference at > 0000000000000020 > IP: __mark_inode_dirty > > Then I got a kernel coredump. Here is a stack trace: > > (gdb) bt > #0 __mark_inode_dirty (inode=0xffff880078fc1490, flags=) at fs/fs-writeback.c:990 > #1 0xffffffff810e4990 in mark_inode_dirty_sync (mnt=0xffff88007862fd00, dentry=) at include/linux/fs.h:1687 > #2 touch_atime (mnt=0xffff88007862fd00, dentry=) at fs/inode.c:1505 > #3 0xffffffff810dfeb4 in file_accessed (file=0xffff88006afed600, filler=0xffffffff810dfcf8 , buf=0xffff88007762bf38) at include/linux/fs.h:1763 > #4 vfs_readdir (file=0xffff88006afed600, filler=0xffffffff810dfcf8 , buf=0xffff88007762bf38) at fs/readdir.c:41 > #5 0xffffffff810e001a in sys_getdents (fd=, dirent=0x1f61468, count=32768) at fs/readdir.c:214 > #6 0xffffffff810279ab in ?? () at arch/x86/kernel/entry_64.S:479 > #7 0x00007f8b23d1a4c5 in ?? () > #8 0x00000000000002bb in ?? () > #9 0x0000000000000000 in ?? () > > (gdb) p bdi > $1 = (struct backing_dev_info *) 0x0 > > (gdb) p inode->i_mapping->backing_dev_info > $15 = (struct backing_dev_info *) 0xffff880078878d48 > > (gdb) p inode->i_sb->s_bdi > $16 = (struct backing_dev_info *) 0x0 > > > I can't do git bisect because on n'th step my system became unbootable. > But 2.6.35 doesn't fall. > > > ------------------------------------------------------------------------------ > Beautiful is writing same markup. Internet Explorer 9 supports > standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. > Spend less time writing and rewriting code and more time creating great > experiences on the web. Be a part of the beta today > http://p.sf.net/sfu/msIE9-sfdev2dev -- ak@linux.intel.com -- Speaking for myself only.