[Bridge] rcu_dereference() error in coldfire arch

overet at securitydate.it overet at securitydate.it
Thu Sep 1 06:53:48 PDT 2005


Hi,
i'm trying to develop an embedded system with ColdFire architecture (similar 
at m68k) and i have some problems. 

The bridge module is loaded properly in the kernel. When an ARP packet is 
sent to the port of the bridge there are 2 situations: 

 - If destination MAC address is FF:FF:FF:FF:FF:FF the packet is forwarded.
 - If destination MAC address is not a broadcast address the packet is 
droped. 

Then, if i send an ICMP packet whit static ARP entries on the two hosts the 
packet are droped. 


So, i look in the source tree to search the bug and i can see that in the 
handle_bridge() function in net/core/dev.c at this point:
 ---------------------------------------------------------------------
       if ((*pskb)->pkt_type == PACKET_LOOPBACK ||
           (port = rcu_dereference((*pskb)->dev->br_port)) == NULL)
               return 0;
 ---------------------------------------------------------------------
the condition if () succeded whit port == NULL (but it shouldn't) and the 
packet are droped. 

How can i do to resolv this problem in m68k compliant architecture? 

Best regards,
oveRet 




More information about the Bridge mailing list