Messages in this thread |  | | Date | Tue, 7 May 1996 09:16:34 -0700 | From | Dan McLaughlin <> | Subject | 1.3.98 get_hash_table Oops |
| |
Howdy, Here's an oops on 1.3.98 that I've gotten. I've been getting oops's with the get_hash_table function off and on for a long time now. This is on a 486 portable with 24 megs of ram (could it be related to suspending the computer all the time?).
-Dan ----------------------------------------------------------------------------- Unable to handle kernel NULL pointer dereference at virtual address c00001b8 current->tss.cr3 = 00788000, @r3 = 00788000 *pde = 00102067 *pte = 00000027 Oops: 0000 CPU: 0 EIP: 0010:[get_hash_table+48/208] EFLAGS: 00010206 eax: 000001b8 ebx: 01730303 ecx: 00e336ac edx: 000027ac esi: 0009673d edi: 00000303 ebp: 0009643e esp: 0026ded0 ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018 Process rm (pid: 5221, process nr: 48, stackpage=0026d000) Stack: 0173bb18 00000000 0009643e 000000c6 00216dd0 00158b59 00000303 0009643e 00000400 00e38000 00e336ac 00000000 00000004 fffffff4 00000002 00000100 00000000 00000001 0009643d 005fac38 00159197 00e336ac 0000000c 00e33760 Call Trace: [trunc_indirect+281/752] [ext2_truncate+87/352] [ext2_put_inode+60/96] [ext2_put_inode+82/96] [iput+214/400] [ext2_unlink+491/512] [do_unlink+271/304] [sys_unlink+38/64] [system_call+89/160] Code: 39 28 75 2c 66 39 58 04 75 26 8b 4c 24 20 39 48 20 74 26 57 -----------------------------------------------------------------------------
Here's the dissasembled vmlinux
0x124aa0 <get_hash_table>: subl $0x4,%esp 0x124aa3 <get_hash_table+3>: pushl %ebp 0x124aa4 <get_hash_table+4>: pushl %edi 0x124aa5 <get_hash_table+5>: pushl %esi 0x124aa6 <get_hash_table+6>: pushl %ebx 0x124aa7 <get_hash_table+7>: movl 0x1c(%esp,1),%ebp 0x124aab <get_hash_table+11>: movw 0x18(%esp,1),%bx 0x124ab0 <get_hash_table+16>: movzwl %bx,%edi 0x124ab3 <get_hash_table+19>: movl %edi,%esi 0x124ab5 <get_hash_table+21>: xorl %ebp,%esi 0x124ab7 <get_hash_table+23>: nop 0x124ab8 <get_hash_table+24>: movl %esi,%eax 0x124aba <get_hash_table+26>: xorl %edx,%edx 0x124abc <get_hash_table+28>: divl 0x18f058,%eax 0x124ac2 <get_hash_table+34>: movl 0x19952c,%eax 0x124ac7 <get_hash_table+39>: movl (%eax,%edx,4),%eax 0x124aca <get_hash_table+42>: testl %eax,%eax 0x124acc <get_hash_table+44>: je 0x124b07 <get_hash_table+103> 0x124ace <get_hash_table+46>: leal (%esi),%esi 0x124ad0 <get_hash_table+48>: cmpl %ebp,(%eax) 0x124ad2 <get_hash_table+50>: jne 0x124b00 <get_hash_table+96> 0x124ad4 <get_hash_table+52>: cmpw %bx,0x4(%eax) 0x124ad8 <get_hash_table+56>: jne 0x124b00 <get_hash_table+96> 0x124ada <get_hash_table+58>: movl 0x20(%esp,1),%ecx 0x124ade <get_hash_table+62>: cmpl %ecx,0x20(%eax) 0x124ae1 <get_hash_table+65>: je 0x124b09 <get_hash_table+105> 0x124ae3 <get_hash_table+67>: pushl %edi 0x124ae4 <get_hash_table+68>: call 0x124450 <kdevname> 0x124ae9 <get_hash_table+73>: pushl %eax 0x124aea <get_hash_table+74>: pushl $0x18140f -----------------------------------------------------------------------------
Here's the disassembly of the Code section
<force_to_data>: cmpl %ebp,(%eax) <str+2>: jne 0x800147c <__DTOR_END__+12> <str+4>: cmpw %bx,0x4(%eax) <str+8>: jne 0x800147c <__DTOR_END__+12> <str+10>: movl 0x20(%esp,1),%ecx <str+14>: cmpl %ecx,0x20(%eax) <str+17>: je 0x8001485 <__DTOR_END__+21> <str+19>: pushl %edi <str+20>: addb %al,(%eax) -----------------------------------------------------------------------------
|  |