2.1.90-3 network oops

Tim Waugh (tim@cyberelk.demon.co.uk)
Tue, 17 Mar 1998 00:52:27 +0000 (GMT)


Just got this:

Unable to handle kernel NULL pointer dereference at virtual address 00000004
current->tss.cr3 = 01a85000, %cr3 = 01a85000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c017542b>]
EFLAGS: 00010013
eax: 00000000 ebx: c0ef6840 ecx: 00000282 edx: c04c95d0
esi: c0ef6890 edi: 00000000 ebp: c0c98820 esp: c1a99f58
ds: 0018 es: 0018 ss: 0018
Process diald (pid: 120, process nr: 16, stackpage=c1a99000)
Stack: c0c3c770 c0c3c6e4 c014f197 c0c3c770 00000000 c0c3c6e4 c014f593 c0c3c770
c0de7960 c0122bea c0c3c6e4 c0de7960 c0de7960 00000000 00000002 bffffcb0
c0122c67 c0de7960 c0de7960 c0de7960 00000007 c0122cf7 c0de7960 c1a93120
Call Trace: [<c014f197>] [<c014f593>] [<c0122bea>] [<c0122c67>] [<c0122cf7>] [<c010993a>]
Code: 89 70 04 89 43 50 c7 02 00 00 00 00 c7 42 04 00 00 00 00 c7

c014f178 T sock_release
c014f55c t sock_close
c0122bc8 T __fput
c0122c18 T close_fp
c0122c9c T sys_close
c0109900 T system_call
c01753a8 t packet_release

I think it comes from here:

extern __inline__ struct sk_buff *__skb_dequeue(struct sk_buff_head *list)
{
struct sk_buff *next, *prev, *result;

prev = (struct sk_buff *) list;
next = prev->next;
result = NULL;
if (next != prev) {
result = next;
next = next->next;
list->qlen--;
next->prev = prev; /* <<--- next is NULL? */
prev->next = next;
result->next = NULL;
result->prev = NULL;
result->list = NULL;
}
return result;
}

At least, this is what the object file looks like:

71f: 8b 43 50 movl 0x50(%ebx),%eax
722: 31 d2 xorl %edx,%edx
724: 39 f0 cmpl %esi,%eax
726: 74 21 je 749 <packet_release+0x9d>
728: 89 c2 movl %eax,%edx
72a: 8b 02 movl (%edx),%eax
72c: ff 4b 58 decl 0x58(%ebx)
72f: 89 70 04 movl %esi,0x4(%eax)
732: 89 43 50 movl %eax,0x50(%ebx)
735: c7 02 00 00 00 movl $0x0,(%edx)
73a: 00
73b: c7 42 04 00 00 movl $0x0,0x4(%edx)
740: 00 00
742: c7 42 08 00 00 movl $0x0,0x8(%edx)
747: 00 00

Does this make any sense to anyone?

Tim.
*/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu