Ext4 FS corruption leads to system panic in jbd2_journal_dirty_metadata()

Solution Verified - Updated -

Issue

System crash with the kernel stack trace

BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
IP: [<ffffffffa03d5868>] jbd2_journal_dirty_metadata+0x48/0x150 [jbd2]
PGD 9748577067 PUD 9a90da0067 PMD 0 
Oops: 0000 [#1] SMP 
last sysfs file: /sys/devices/pci0000:c0/0000:c0:03.0/0000:d5:00.1/host3/rport-3:0-7/target3:0:7/3:0:7:47/state
CPU 32 
...
RIP: 0010:[<ffffffffa03d5868>]  [<ffffffffa03d5868>] jbd2_journal_dirty_metadata+0x48/0x150 [jbd2]
RSP: 0018:ffff88975353bae8  EFLAGS: 00010246
RAX: ffff88feab11b5c0 RBX: ffff88950e50ddf8 RCX: ffff88991f280b58
RDX: 0000000000000000 RSI: ffff88991f280b58 RDI: ffff88950e50ddf8
RBP: ffff88975353bb08 R08: ffff8899ae5d2cf8 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
R13: ffff88991f280b58 R14: ffff88fec0907800 R15: ffff88950e50ddf8
FS:  00002b34005f7340(0000) GS:ffff880409800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000010 CR3: 00000097cc142000 CR4: 00000000001407e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Process K08_URLMonitor. (pid: 49704, threadinfo ffff889753538000, task ffff88feb5680040)
Stack:
  ffff88950e50ddf8 ffffffffa0437074 ffff88991f280b58 ffff88991f2818d0
 <d> ffff88975353bb48 ffffffffa0423d6b ffff889aa4b65880 0000003000000012
 <d> ffff88991f2818d0 ffff88991c751264 ffff88991c751258 0000000000000010
Call Trace:
  [<ffffffffa0423d6b>] __ext4_handle_dirty_metadata+0x7b/0x100 [ext4]
  [<ffffffffa041e8e4>] ext4_ext_dirty+0x24/0x40 [ext4]
  [<ffffffffa04231ab>] ext4_ext_remove_space+0x88b/0xdc0 [ext4]
  [<ffffffffa0423c8d>] ext4_ext_truncate+0x18d/0x1f0 [ext4]
  [<ffffffffa0402cc0>] ? ext4_delete_inode+0x0/0x2e0 [ext4]
  [<ffffffffa0401cd8>] ext4_truncate+0x4c8/0x6a0 [ext4]
  [<ffffffffa0423d6b>] ? __ext4_handle_dirty_metadata+0x7b/0x100 [ext4]
  [<ffffffffa03fc1ed>] ? ext4_mark_iloc_dirty+0x2ed/0x610 [ext4]
  [<ffffffffa03fdc93>] ? ext4_mark_inode_dirty+0x83/0x1d0 [ext4]
  [<ffffffffa03d53d5>] ? jbd2_journal_start+0xb5/0x100 [jbd2]
  [<ffffffffa0402cc0>] ? ext4_delete_inode+0x0/0x2e0 [ext4]
  [<ffffffffa0402cc0>] ? ext4_delete_inode+0x0/0x2e0 [ext4]
  [<ffffffffa0402dfb>] ext4_delete_inode+0x13b/0x2e0 [ext4]
  [<ffffffff811b812e>] generic_delete_inode+0xde/0x1d0
  [<ffffffff811b8285>] generic_drop_inode+0x65/0x80
  [<ffffffff811b70d2>] iput+0x62/0x70
  [<ffffffff811abaf9>] do_unlinkat+0x1a9/0x260
  [<ffffffff8119f9d6>] ? sys_newlstat+0x36/0x50
  [<ffffffff810ee467>] ? audit_syscall_entry+0x1d7/0x200
  [<ffffffff811abbc6>] sys_unlink+0x16/0x20
  [<ffffffff8100b0d2>] system_call_fastpath+0x16/0x1b

Environment

  • Red Hat Enterprise Linux 6
  • Kernel 2.6.32-642.13.1.el6.x86_64
  • corrupted ext4 filesystem

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content