New: NULL pointer dereference in ext4_ext_remove_space on 3.5.1
https://bugzilla.kernel.org/show_bug.cgi?id=47611
Summary: NULL pointer dereference in ext4_ext_remove_space on
3.5.1
Product: File System
Version: 2.5
Kernel Version: 3.5.1
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: ext4
AssignedTo: [email protected]
ReportedBy: [email protected]
Regression: Yeshttps://lkml.org/lkml/2012/8/15/372
Date: Wed, 15 Aug 2012 21:33:29 +0300
From: Marti Raudsepp <[email protected]>
To: Kernel hackers <[email protected]>, ext4 hackers <[email protected]>
Subject: NULL pointer dereference in ext4_ext_remove_space on 3.5.1 Message-ID:
<CABRT9RAOhaxcYdCxMn5neJ9WT85r=h=7WgZ2dmLaOs-MMqDW9A@mail.gmail.com>
Hi list,
I was moving and deleting some files between two of my ext4 partitions when it suddenly crashed and dropped me into an kernel oops screen (below). I'm using ext4 on kernel 3.5.1 (Arch Linux). Both likely suspect file systems are stored on LVM2, mounted with data=writeback,errors=remount-ro,noatime
EXT4-fs (sda3): mounted filesystem with writeback data mode. Opts: (null) EXT4-fs (dm-1): mounted filesystem with writeback data mode. Opts:
errors=remount-ro
EXT4-fs (dm-0): mounted filesystem with writeback data mode. Opts:
errors=remount-ro
I can't be bothered to transcribe all those 64-bit pointer values, but here's the human-readable parts (screen shot links below):
BUG: unable to handle kernel NULL pointer dereference at 000...00028 IP: [...] ext4_ext_remove_space+0xaa4/0xef0 [ext4] PGD ... PUD ... PMD 0 Oops: 0000 [#1] PREEMPT SMP CPU 2 Modules linked in: [... bazillion modules ...]
Pid: 3687, comm: rm Tainted: G C 3.5.1-1-ARCH #1 System
manufacturer System Product Name/M3A76-CM
RIP: 0010:[...] [...] ext4_ext_remove_space [... CPU register dump ...] Process rm (pid: 3687, threadinfo ..., task ...) Call Trace: [...] ext4_ext_truncate+0x183/0x1c0 [ext] [...] ? ext4_mark_inode_dirty+0x7e/0x230 [ext4] [...] ext4_truncate+0x135/0x140 [ext4] [...] ext4_evict_inode+0x40f/0x4e0 [ext4] [...] evict+0xb8/0x1b0 [...] iput+0x105/0x210 [...] do_unlinkat+0x1b/0x50 [...] ? flip_close+0x66/0xa0 [...] sys_unlinkat+0x1b/0x50 [...] system_call_fastpath+0x16/0x1b Code: [...] RIP [...] ext4_ext_remove_space+0xaa4/0xef0 [ext4]
CR2: 000...00028
Taint flag C is caused by the staging r8712u driver (Realtek USB Wi-Fi adapter). But I wasn't even using it today, so I doubt that had anything to do with it.
Some "screen shots" taken with a webcam (warning: CSI "zoom & enhance" technology required)
http://ompldr.org/vZjQ3dw
http://ompldr.org/vZjQ3eg
http://ompldr.org/vZjQ4MA
http://ompldr.org/vZjQ3eQ
http://ompldr.org/vZjQ3eA
Regards,
Marti
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 47611] NULL pointer dereference in ext4_ext_remove_space on 3.5.1
https://bugzilla.kernel.org/show_bug.cgi?id=47611
Dan Carpenter <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |47401
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 47611] NULL pointer dereference in ext4_ext_remove_space on 3.5.1
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=47611
Dmitry Monakhov <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]
--- Comment #1 from Dmitry Monakhov <[email protected]> 2012-09-17 12:00:39 --- This patch should helps
http://patchwork.ozlabs.org/patch/183649/
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 47611] NULL pointer dereference in ext4_ext_remove_space on 3.5.1
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=47611
Theodore Tso <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |[email protected]
Resolution| |PATCH_ALREADY_AVAILABLE--- Comment #2 from Theodore Tso <[email protected]> 2012-09-17 12:07:17 --- Fixed by commit: 89a4e48f8479f: "ext4: fix kernel BUG on large-scale rm -rf commands", which appeared in Linus's tree as of 3.6-rc3, and which was backported to v3.5.3.
(Dmitry, looking at your patch, I'm guessing you haven't tried rebasing your
patch series to 3.6-rc3 or later? If you haven't, that would be much
appreciated.)
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 47611] NULL pointer dereference in ext4_ext_remove_space on 3.5.1
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=47611
--- Comment #3 from Dmitry Monakhov <[email protected]> 2012-09-17 12:28:07 --- (In reply to comment #2)
Quoted 7 lines
Fixed by commit:
89a4e48f8479f: "ext4: fix kernel BUG on large-scale rm -rf commands", which appeared in Linus's tree as of 3.6-rc3, and which was backported to v3.5.3.(Dmitry, looking at your patch, I'm guessing you haven't tried rebasing your
patch series to 3.6-rc3 or later? If you haven't, that would be much
appreciated.)
I've prepared patches against your git tree
http://git.kernel.org/?p=linux/kernel/git/tytso/ext4.git
And i can't find 3.6-rc3 tag here. Which git tree should i use when?
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 47611] NULL pointer dereference in ext4_ext_remove_space on 3.5.1
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=47611
--- Comment #4 from Theodore Tso <[email protected]> 2012-09-17 14:08:30 --- Oh, my bad. I hadn't pushed the master branch forward even though the patch had been sent to Linus and merged for 3.6-rc3.
The ext4 git tree has three branches of interest. Internally, I work off of
an ext4 patch queue which can be found here:git://repo.or.cz/ext4-patch-queue.git
or here: https://github.com/tytso/ext4-patch-queue.git
The base of the patch series is the "origin" branch on the ext4 git tree, and that is always a commit which is in Linus's mainline. The last "stable patch" (before the "stable-boundary" no-op patch in the ext4 patch queue) is what is generally on the "dev" branch, and that is what is synched-up with linux-next.
The "master" branch supposed to live on a commit somewhere between "origin" and "dev", and represents a commitment that everything at or before the "master"
branch pointer is a stable commit that I will not rewind or rebase. Commits
between "master" and "dev" are stable, and will probably not be rebased, but the commit description might change, or if a critical bug is found, a commit might require revision, or in rare cases, might get dropped.
So if you are doing developement using git, you're better off using the "master" branch, since that is a non-rewinding branch. If you are just using patch series or some kind of patch queue (i.e., stgit, guilt, quilt, etc.) then it should be fine to use the "dev" branch.
For example, at the moment the 64-bit resize patches are still not yet in master, although at this point they are pretty stable and will probably not
change. Everything before the "master" branch, however, is guaranteed to be
stable.
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 47611] NULL pointer dereference in ext4_ext_remove_space on 3.5.1
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=47611
[email protected] changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]
--- Comment #5 from [email protected] 2012-09-19 18:02:40 --- Does this bug affect 3.2.0?
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 47611] NULL pointer dereference in ext4_ext_remove_space on 3.5.1
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=47611
--- Comment #6 from Theodore Tso <[email protected]> 2012-09-19 18:06:37 --- No, it doesn't affect 3.2.0; this was a regression which was introduced in 3.5.0, and fixed by 3.5.3 (and in upstream by the time 3.6-rc3 was released).
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 47611] NULL pointer dereference in ext4_ext_remove_space on 3.5.1
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=47611
Mehmet Giritli <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]
--- Comment #7 from Mehmet Giritli <[email protected]> 2012-10-15 08:59:13 --- *** Bug 48711 has been marked as a duplicate of this bug. ***
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.