2008-04-22 18:58:24     DCPLB Fault in net/ipv4/

Document created by Aaronwu Employee on Aug 6, 2013
Version 1Show Document
  • View in full screen mode

2008-04-22 18:58:24     DCPLB Fault in net/ipv4/

Jarod Neuner (UNITED STATES)

Message: 54743    Context:

I am developing for a BF536 v0.2 target using ELF binaries on a custom board.  I have 2007R1 working perfectly, and was trying to move up to 2008R1.  For the most part, everything is functional, with one exception.



Whenever program execution enters IPv4 TCP kernel code, an exception is thrown and the system crashes.  Examples are attached in the file crash_examples.txt


I can't make much sense of it.  I look at the code in question, and I don't see what would be causing NULL pointer references.  I attached some of the disassembled code which may be relevant.  I also attached the .config used in my most recent build.


Current compiler options:

  bfin-uclinux-gcc -Wp,-MD,net/ipv4/.inet_connection_sock.o.d  -nostdinc -isystem /opt/uClinux/bfin-uclinux/lib/gcc/bfin-uclinux/4.1.2/include -D__KERNEL__ -Iinclude  -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -O2 -mno-fdpic -mcpu=bf536-0.2 -fomit-frame-pointer  -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign    -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(inet_connection_sock)"  -D"KBUILD_MODNAME=KBUILD_STR(inet_connection_sock)" -c -o net/ipv4/inet_connection_sock.o net/ipv4/inet_connection_sock.c


Suggestions?  Thanks in advance.








2008-04-22 23:04:04     Re: DCPLB Fault in net/ipv4/


Message: 54746    The disassembled code does not match with the crash message:




   7 Target : <0xffa007a4> { _trap + 0x0 }

     Source : <0x000f36ac> { _listening_get_next + 0x54 }

   8 Target : <0x000f369a> { _listening_get_next + 0x42 }

     Source : <0x000f3798> { _listening_get_next + 0x140 }




While I cannot find address 0xf3798 in the dumped file:


   f373c:       81 2f           JUMP.S 0xf363e <_listening_get_next+0x46>;

   f373e:       04 68           P4 = 0x0 (X);           /*              P4=0x0(  0) */

   f3740:       d6 2f           JUMP.S 0xf36ec <_listening_get_next+0xf4>;

   f3742:       00 60           R0 = 0x0 (X);           /*              R0=0x0(  0) */

   f3744:       e8 2f           JUMP.S 0xf3714 <_listening_get_next+0x11c>;



Disassembly of section .text_l1:


ffa00000 <_ret_from_fork>:

ffa00000:       a6 6f           SP += -0xc;             /* (-12) */


Please make sure the two matches, also please attach C code of listening_get_next() if possible.




2008-04-23 05:09:07     Re: DCPLB Fault in net/ipv4/

Manolo van Ee (NETHERLANDS)

Message: 54774   

This is probably solved here:



See also this thread:





2008-04-23 10:43:15     Re: DCPLB Fault in net/ipv4/

Jarod Neuner (UNITED STATES)

Message: 54786    Manolo was correct.  I just didn't know what I was looking for.