Oops - 2.2.12 [fat]fat_clear_inode+20/2c (gcc 2.95)

Simon Huggins (huggie@earth.li)
Mon, 18 Oct 1999 15:47:42 +0100


Hi,

I tried to unmout my floppy (fat formatted) and 2.2.12 oops'd on me.

[root@skinner /mnt]# umount floppy

Then I got the oops message and umount segfaulted.
I can reproduce it at will unfortunately. I didn't notice for ages cos
I normally use zip disks (also fat formatted) which work fine.

This kernel was compiled with gcc 2.95 so I'm not looking for sympathy.

After it segfaulted I probed a bit and tried unmounting it again which
failed:

[huggie@skinner ~]$ ps alx|grep mount
100 0 2169 362 9 0 764 344 down_failed D ? 0:00 umount fl
(...snip...)
[root@skinner /home/huggie]# killall umount
[root@skinner /home/huggie]# ps alx|grep umount
100 0 2169 362 1 0 764 344 down_failed D ? 0:00 umount fl
[root@skinner /home/huggie]# rpm -qf `which umount`
util-linux-rhcn-2.9i-1
[root@skinner /home/huggie]# ps fax
(...snip...)
358 ? SW 0:00 (login)
362 ? S 0:00 \_ -bash
2169 ? D 0:00 \_ umount floppy/
[root@skinner /home/huggie]# kill -HUP 362
[root@skinner /home/huggie]# ps alx|grep umount
100 0 2169 1 0 0 764 344 down_failed D ? 0:00 umount fl

Anyway if anyone has any sudden inspiration please let me know...

/proc/modules:

floppy 46668 1 (autoclean)
sscape 5944 0 (autoclean)
ad1848 16592 0 (autoclean) [sscape]
mpu401 18992 0 (autoclean) [sscape]
ne 6320 1 (autoclean)
8390 6084 0 (autoclean) [ne]
nls_iso8859-1 2052 1 (autoclean)
nls_cp437 3580 1 (autoclean)
vfat 9276 1 (autoclean)
fat 30112 1 (autoclean) [vfat]
sound 58124 0 [sscape ad1848 mpu401]
soundcore 2564 6 [sound]
aic7xxx 103580 0
scsi_mod 38756 1 [aic7xxx]

/proc/mounts:

/dev/root / ext2 rw 0 0
/proc /proc proc rw 0 0
/dev/hda8 /home ext2 rw 0 0
/dev/hda10 /mnt/big1 ext2 rw 0 0
/dev/hda5 /tmp ext2 rw 0 0
/dev/hda9 /usr ext2 rw 0 0
/dev/hda6 /var ext2 rw 0 0
/dev/hda4 /mnt/c vfat rw 0 0
/dev/fd0 /mnt/floppy/ vfat rw 0 0

ksymoops 0.7 on i586 2.2.12. Options used
-V (specified)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.2.12/ (default)
-m /boot/System.map (specified)

Unable to handle kernel NULL pointer dereference at virtual address 00000004
current->tss.cr3 = 00aac000, %cr3 = 00aac000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c2849b50>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010286
eax: 00000000 ebx: c0866880 ecx: c0866880 edx: 00000000
esi: c0e33eec edi: 00000000 ebp: 00000000 esp: c0e33e4c
ds: 0018 es: 0018 ss: 0018
Process umount (pid: 1962, process nr: 56, stackpage=c0e33000)
Stack: c0109ded c010dfa3 00000008 c01dacd4 c01099f8 c0130d63 c0866880 c1efa228
c075c998 c0e33eec c0e8cff8 c11ef800 00000018 00000018 c0e33eec c0e33eec
c11ef83c c0130d94 c0866880 c0e33eec c11ef800 00000000 c0e33eec c0e33eec
Call Trace: [<c0109ded>] [<c010dfa3>] [<c01099f8>] [<c0130d63>] [<c0130d94>] [<c0130e84>] [<c0130e92>]
[<c2849c39>] [<c0128059>] [<c0131217>] [<c0128102>] [<c01280b2>] [<c0128221>] [<c0128242>] [<c0108b5d>]
[<c0108a24>]
Code: 89 50 04 89 02 5b 83 c4 18 c3 89 f6 83 ec 18 53 8b 5c 24 20

>>EIP; c2849b50 <[fat]fat_clear_inode+20/2c> <=====
Trace; c0109ded <do_IRQ+41/48>
Trace; c010dfa3 <do_page_fault+107/328>
Trace; c01099f8 <common_interrupt+18/20>
Trace; c0130d63 <clear_inode+6f/84>
Trace; c0130d94 <dispose_list+1c/58>
Trace; c0130e84 <invalidate_inodes+38/54>
Trace; c0130e92 <invalidate_inodes+46/54>
Trace; c2849c39 <[fat]fat_put_super+dd/f4>
Trace; c0128059 <do_umount+11d/164>
Trace; c0131217 <get_empty_inode+87/a4>
Trace; c0128102 <umount_dev+62/c0>
Trace; c01280b2 <umount_dev+12/c0>
Trace; c0128221 <sys_umount+c1/d0>
Trace; c0128242 <sys_oldumount+12/1c>
Trace; c0108b5d <error_code+2d/40>
Trace; c0108a24 <system_call+34/40>
Code; c2849b50 <[fat]fat_clear_inode+20/2c>
00000000 <_EIP>:
Code; c2849b50 <[fat]fat_clear_inode+20/2c> <=====
0: 89 50 04 movl %edx,0x4(%eax) <=====
Code; c2849b53 <[fat]fat_clear_inode+23/2c>
3: 89 02 movl %eax,(%edx)
Code; c2849b55 <[fat]fat_clear_inode+25/2c>
5: 5b popl %ebx
Code; c2849b56 <[fat]fat_clear_inode+26/2c>
6: 83 c4 18 addl $0x18,%esp
Code; c2849b59 <[fat]fat_clear_inode+29/2c>
9: c3 ret
Code; c2849b5a <[fat]fat_clear_inode+2a/2c>
a: 89 f6 movl %esi,%esi
Code; c2849b5c <[fat]fat_put_super+0/f4>
c: 83 ec 18 subl $0x18,%esp
Code; c2849b5f <[fat]fat_put_super+3/f4>
f: 53 pushl %ebx
Code; c2849b60 <[fat]fat_put_super+4/f4>
10: 8b 5c 24 20 movl 0x20(%esp,1),%ebx

--
Simon            [ huggie@earth.li ] *\  "What's that fragrance?" - Kryten.  \**
[ http://ds.dial.pipex.com/huggie/ ] **\                  "WD40." - Camille.  \*
**************** [ Huggietag 0.8.6 ] ***\                                      \

- 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/