Messages in this thread | | | Date | Tue, 15 Feb 2000 01:11:51 -0800 | From | "B. D. Elliott" <> | Subject | Loop device broken in 2.3.45 |
| |
The following oops happens when trying to "losetup" a regular file:
Feb 14 03:45:08 phx kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000008 Feb 14 03:45:08 phx kernel: c0196073 Feb 14 03:45:08 phx kernel: *pde = 00000000 Feb 14 03:45:08 phx kernel: Oops: 0000 Feb 14 03:45:08 phx kernel: CPU: 0 Feb 14 03:45:08 phx kernel: EIP: 0010:[<c0196073>] Feb 14 03:45:08 phx kernel: EFLAGS: 00010246 Feb 14 03:45:08 phx kernel: eax: 00000000 ebx: c1126800 ecx: c023a1e8 edx: c2fc0ea0 Feb 14 03:45:08 phx kernel: esi: c2fc0de0 edi: c3dd95a0 ebp: 00000000 esp: c2e6df54 Feb 14 03:45:08 phx kernel: ds: 0018 es: 0018 ss: 0018 Feb 14 03:45:08 phx kernel: Process losetup (pid: 205, stackpage=c2e6d000) Feb 14 03:45:08 phx kernel: Stack: 00000003 c3e0d440 00004c00 ffffffe7 c2fc0de0 0700c648 c0196653 c1126800 Feb 14 03:45:08 phx kernel: 00000700 00000003 c2fc0d20 00000003 c0130638 c3e0d440 c2fc0d20 00004c00 Feb 14 03:45:08 phx kernel: 00000003 c0135f97 c3e0d440 c2fc0d20 00004c00 00000003 c2e6c000 bffffe86 Feb 14 03:45:08 phx kernel: Call Trace: [<c0196653>] [<c0130638>] [<c0135f97>] [<c0109554>] Feb 14 03:45:08 phx kernel: Code: 8b 40 08 8b 80 8c 00 00 00 8b 40 0c 83 78 04 00 75 0b bd ea
>>EIP; c0196073 <loop_set_fd+197/24c> <===== Trace; c0196653 <lo_ioctl+ab/140> Trace; c0130638 <blkdev_ioctl+28/38> Trace; c0135f97 <sys_ioctl+16f/198> Trace; c0109554 <system_call+34/40> Code; c0196073 <loop_set_fd+197/24c> 00000000 <_EIP>: Code; c0196073 <loop_set_fd+197/24c> <===== 0: 8b 40 08 mov 0x8(%eax),%eax <===== Code; c0196076 <loop_set_fd+19a/24c> 3: 8b 80 8c 00 00 00 mov 0x8c(%eax),%eax Code; c019607c <loop_set_fd+1a0/24c> 9: 8b 40 0c mov 0xc(%eax),%eax Code; c019607f <loop_set_fd+1a3/24c> c: 83 78 04 00 cmpl $0x0,0x4(%eax) Code; c0196083 <loop_set_fd+1a7/24c> 10: 75 0b jne 1d <_EIP+0x1d> c0196090 <loop_set_fd+1b4/24c> Code; c0196085 <loop_set_fd+1a9/24c> 12: bd ea 00 00 00 mov $0xea,%ebp
The problem here is that lo_dentry is used before it has been set up.
Unfortunately, setting this up before the big if...else leads to a worse problem. Running fsck against the loop device hangs, and eventually everything hangs, even a second Alt-SysRq-Sync.
-- B. D. Elliott bde@nwlink.com (Seattle)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |