lkml.org 
[lkml]   [1999]   [Sep]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Kernel crash in Linux 2.2.12
On Mon, Sep 27, 1999 at 03:08:09PM +0200, Andrea Arcangeli wrote:
> On Mon, 27 Sep 1999, Ram'on Garc'ia Fern'andez wrote:
>
> >actually an inline function. The faulting statement is:
> > unsigned char *tmp=skb->tail; (include/linux/skbuff.h:462)
>
> Unfortunately this make not much sense. skb seems to be set to 0x10. If so
> the previous eth_copy_and_sum would have sure Oopsed someway too.

Sorry, I made a mistake assigning the caller of skb_put. The actual source
line in tulip.c is 2423:

2422 #else
2423 skb_put(skb, pkt_len);
2424 #endif


For getting the source lines, I recompiled the driver with the same flags,
and with -g. I read the flags from the file .tulip.o.flags.


>
> Could you show me the assembler a bit before the tulip_rx + 515 (there
> should be a eth_copy_and_sum call if you have compiled with IP_ROUTER not
> set or a memcpy deferencing ebx before starting if IP_ROUTER was set).
>

Here it is. The output of objdump --dissassemble has been edited,
to put the actual symbols in external calls; unfortunately
objdump is not smart enough to lookup each address in the relocation
table itself. Symbol suffixes (_Rsmp_xxxxx) omitted for clarity.

3a7e: 50 pushl %eax
3a7f: 53 pushl %ebx
3a80: e8 fc ff ff ff call eth_copy_and_sum
3a85: 83 c4 10 addl $0x10,%esp
3a88: 8b 44 24 24 movl 0x24(%esp,1),%eax
3a8c: 03 83 84 00 00 00 addl 0x84(%ebx),%eax
3a92: 89 83 84 00 00 00 movl %eax,0x84(%ebx)
3a98: 8b 4c 24 24 movl 0x24(%esp,1),%ecx
3a9c: 01 4b 5c addl %ecx,0x5c(%ebx)
3a9f: 3b 83 88 00 00 00 cmpl 0x88(%ebx),%eax
3aa5: 76 0f jbe 3ab6 <tulip_rx+0x1e2>
3aa7: 68 b6 3a 00 00 pushl $0x3ab6
3aac: 51 pushl %ecx
3aad: 53 pushl %ebx
3aae: e8 fc ff ff ff call skb_over_panic
3ab3: 83 c4 0c addl $0xc,%esp
3ab6: ff 44 24 28 incl 0x28(%esp,1)
3aba: eb 77 jmp 3b33 <tulip_rx+0x25f>
3abc: 8d 04 ad 00 00 00 00 leal 0x0(,%ebp,4),%eax
3ac3: 8d 97 50 03 00 00 leal 0x350(%edi),%edx
3ac9: 8b 1c 10 movl (%eax,%edx,1),%ebx
3acc: c7 04 10 00 00 00 00 movl $0x0,(%eax,%edx,1)
3ad3: 8b 74 24 24 movl 0x24(%esp,1),%esi
Faulting address:
3ad7: 8b ab 84 00 00 00 movl 0x84(%ebx),%ebp
3add: 8d 04 2e leal (%esi,%ebp,1),%eax
3ae0: 89 83 84 00 00 00 movl %eax,0x84(%ebx)
3ae6: 01 73 5c addl %esi,0x5c(%ebx)
3ae9: 3b 83 88 00 00 00 cmpl 0x88(%ebx),%eax


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

\
 
 \ /
  Last update: 2005-03-22 13:54    [W:0.047 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site