help with kernel oops

Stanislav V. Voronyi (stas@esc.kharkov.com)
Mon, 18 Oct 1999 18:36:47 +0300


Please point me to possible reason of this oops-es:

ksymoops 0.7c on i586 2.2.12. Options used
-v /usr/src/linux/vmlinux (specified)
-k /proc/ksyms (specified)
-l /proc/modules (specified)
-o /lib/modules/2.2.12/ (specified)
-m /boot/System.map (specified)

Warning (compare_ksyms_lsmod): module com90xx is in lsmod but not in ksyms, probably no symbols exported
Unable to handle kernel paging request at virtual address 45c614c4
current->tss.cr3 = 015af000, %cr3 = 015af000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c01390d4>]
EFLAGS: 00010246
eax: 00000593 ebx: 00000000 ecx: 00000013 edx: c1173800
esi: c3fda200 edi: 00000580 ebp: c29d8770 esp: c23f1ef8
ds: 0018 es: 0018 ss: 0018
Process relaynews (pid: 5783, process nr: 41, stackpage=c23f1000)
Stack: 000081a4 c1a06ff0 c3385d60 fffffff4 00000593 c1a06ff0 00000000 c23f1f28
c3dcc000 c3dbada0 000002cd c3a96f00 c3e8d0e0 c013b24b c1a06ff0 000081a4
c23f1f58 00000000 c1e12e80 000000c2 c3385d60 c23f1f58 00000003 c2aac7a0
Call Trace: [<c013b24b>] [<c012a34b>] [<c0122f10>] [<c0123142>] [<c0108804>]
Code: 00 83 c4 14 c6 45 11 00 8d 45 30 ba 18 19 c0 85 c0 75 21 51

>>EIP; c01390d4 <ext2_new_inode+30c/62c> <=====
Trace; c013b24b <ext2_create+27/178>
Trace; c012a34b <open_namei+163/2fc>
Trace; c0122f10 <filp_open+44/f4>
Trace; c0123142 <sys_open+36/94>
Trace; c0108804 <system_call+34/40>
Code; c01390d4 <ext2_new_inode+30c/62c>
00000000 <_EIP>:
Code; c01390d4 <ext2_new_inode+30c/62c> <=====
0: 00 83 c4 14 c6 addb %al,0x45c614c4(%ebx) <=====
Code; c01390d9 <ext2_new_inode+311/62c>
5: 45
Code; c01390da <ext2_new_inode+312/62c>
6: 11 00 adcl %eax,(%eax)
Code; c01390dc <ext2_new_inode+314/62c>
8: 8d 45 30 leal 0x30(%ebp),%eax
Code; c01390df <ext2_new_inode+317/62c>
b: ba 18 19 c0 85 movl $0x85c01918,%edx
Code; c01390e4 <ext2_new_inode+31c/62c>
10: c0 (bad)
Code; c01390e5 <ext2_new_inode+31d/62c>
11: 75 21 jne 34 <_EIP+0x34> c0139108 <ext2_new_inode+340/62c>
Code; c01390e7 <ext2_new_inode+31f/62c>
13: 51 pushl %ecx

but when I disassemble kernel I found absolutely different code in this function:

c01390d4: b9 01 00 00 00 movl $0x1,%ecx
c01390d9: 8b 54 24 34 movl 0x34(%esp,1),%edx
c01390dd: 0f ab 4a 18 btsl %ecx,0x18(%edx)
c01390e1: 19 c0 sbbl %eax,%eax
c01390e3: 85 c0 testl %eax,%eax
c01390e5: 75 21 jne c0139108 <ext2_new_inode+0x340>

Any ideas why kernel code was broken ?

SY, Stanislav Voronyi.

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