1.3.100 Oops, kerneld/isofs module ?

Gerd Knorr (kraxel@cs.tu-berlin.de)
Sun, 12 May 1996 11:36:05 +0200 (MET DST)


Hi !

Got this oops today. I changed the CD, and while mounting the new one, I
got this:

May 12 10:21:26 felix kernel: hdc : tray open or drive not ready
May 12 10:21:32 felix last message repeated 2 times
May 12 10:21:33 felix kernel: hdc: media changed
May 12 10:21:33 felix kernel: VFS: Disk change detected on device 16:00
May 12 10:21:33 felix kernel: Unable to handle kernel paging request at virtual address c184b5a4
May 12 10:21:33 felix kernel: current->tss.cr3 = 0056a000, Dr3 = 0056a000
May 12 10:21:33 felix kernel: *pde = 0009e067
May 12 10:21:33 felix kernel: *pte = 00000000
May 12 10:21:33 felix kernel: Oops: 0000
May 12 10:21:33 felix kernel: CPU: 0
May 12 10:21:33 felix kernel: EIP: 0010:[get_fs_type+45/176]
May 12 10:21:33 felix kernel: EFLAGS: 00010206
May 12 10:21:33 felix kernel: eax: 00188665 ebx: 00194088 ecx: 00016770 edx: 0184b5a4
May 12 10:21:33 felix kernel: esi: 00188694 edi: 0184b5a4 ebp: 0184b5a4 esp: 0043eee0
May 12 10:21:33 felix kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
May 12 10:21:33 felix kernel: Process mount (pid: 218, process nr: 25, stackpage=0043e000)
May 12 10:21:33 felix kernel: Stack: 00000000 00001600 0000000f 08051600 00129166 0184b5a4 00191600 00001600
May 12 10:21:33 felix kernel: 0000000f 08053fe8 00129693 00001600 0184b5a4 0000000f 003a4000 00000000
May 12 10:21:33 felix kernel: 00195180 00001600 08059000 c0ed000f 005f1ad4 00129c3a 00001600 08059000
May 12 10:21:33 felix kernel: Call Trace: [read_super+70/256] [<0184b5a4>] [do_mount+227/336] [<0184b5a4>] [sys_mount+778/848] [<0184b5a4>] [<0184b5a4>]
May 12 10:21:33 felix kernel: [system_call+89/160]
May 12 10:21:33 felix kernel: Code: ae 75 08 84 c0 75 f8 31 c0 eb 05 19 c0 83 c8 01 85 c0 74 07

Dump of assembler code from 0x804944c to 0x8049460:
0x804944c <force_to_data>: scasb %es:(%edi),%al
0x804944d <oops+1>: jne 0x8049457 <oops+11>
0x804944f <oops+3>: testb %al,%al
0x8049451 <oops+5>: jne 0x804944b <environ+3>
0x8049453 <oops+7>: xorl %eax,%eax
0x8049455 <oops+9>: jmp 0x804945c <oops+16>
0x8049457 <oops+11>: sbbl %eax,%eax
0x8049459 <oops+13>: orl $0x1,%eax
0x804945c <oops+16>: testl %eax,%eax
0x804945e <oops+18>: je 0x8049467 <__CTOR_END__+3>
End of assembler dump.

The EDI Register referes to 0184b5a4. When insmod'ing the isofs module,
it gets loaded into this area. I assume the following happend:

- entered 'mount' command
- the drive closed the tray
- while the drive logged in the cdrom, kerneld removed the isofs-module
(5 sec are enouth)
- cdrom signaled 'ready', kernel tried to mount the CD ==> Oops

Gerd

--
Gerd Knorr <kraxel@cs.tu-berlin.de> | http://wwwwbs.cs.tu-berlin.de/~kraxel/