Kernel BUG at fs/direct-io.c:923

Issue: Kernel BUG at fs/direct-io.c:923. Example traceback:

        ----------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at fs/direct-io.c:923
invalid opcode: 0000 [1] SMP
last sysfs file: /block/ram0/dev
CPU 8
...
Pid: 3252, comm: lvs Tainted: G      2.6.18-238.5.1.el5 #1
RIP: 0010:[]  [] /
 __blockdev_direct_IO+0x6bf/0xa82
RSP: 0018:ffff81018dc85ce8  EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 000000000000000c
RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff810417544380
RBP: ffff810421d3c400 R08: 0000000000000000 R09: ffff810421d3c488
R10: ffff8100090001e0 R11: 0000000000000007 R12: ffff81010695f4b0
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS:  00002ba09692d460(0000) GS:ffff81010eb319c0(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 000000001f23f008 CR3: 00000001c4151000 CR4: 00000000000006e0
Process lvs (pid: 3252, threadinfo ffff81018dc84000, task ffff8102637ea080)
Stack:  000000021b6ee000 ffff81018dc85ef8 ffff810417544470 0000000c00000000
 000000021b6ef000 0000000000000000 ffff81018dc85ef8 ffff810421d3c488
 0000000000000001 0000000000492fd9 0000000000000000 000000000000000c
Call Trace:
 [] blkdev_direct_IO+0x32/0x37
 [] blkdev_get_blocks+0x0/0x96
 [] __generic_file_aio_read+0xb8/0x198
 [] generic_file_read+0xac/0xc5
 [] autoremove_wake_function+0x0/0x2e
 [] block_ioctl+0x1b/0x1f
 [] do_ioctl+0x21/0x6b
 [] audit_syscall_entry+0x1a4/0x1cf
 [] vfs_read+0xcb/0x171
 [] sys_read+0x45/0x6e
 [] tracesys+0xd5/0xe0


Code: 0f 0b 68 b5 ac 2b 80 c2 9b 03 48 8b 54 24 38 4c 8b 85 80 00
RIP  [] __blockdev_direct_IO+0x6bf/0xa82
 RSP 
        

Environment:

  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 5
    • 5.6 x86_64 (2.6.18-238.5.1.el5)
    • 5.8 x86_64 (2.6.18-308.11.1.el5 )
  • LVM

Resolution: Fixed in kernel-2.6.18-308.20.1.el5 (see RHSA-2012-1540) or later.

Workaround

Root Cause:

A race condition in the directIO functions of the kernel where the value of a data structure changes unexpectedly, leading to a kernel crash.


Back to top...

 

+ Recent posts