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/