I can't understand why br_handle_frame() starts like this:
void br_handle_frame(struct sk_buff *skb)
{
struct net_bridge *br;
unsigned char *dest;
struct net_bridge_port *p;
dest = skb->mac.ethernet->h_dest;
p = skb->dev->br_port;
if (p == NULL)
goto err_nolock;
br = p->br;
read_lock(&br->lock);
if (skb->dev->br_port == NULL)
goto err;
Is there a reason for the last if? skb->dev->br_port was just
dereferenced two lines earlier; if it was NULL we would have oopsed
already. Or am I missing something?
--
Jason Lunz Reflex Security
[EMAIL PROTECTED] http://www.reflexsecurity.com/
_______________________________________________
Bridge mailing list
[EMAIL PROTECTED]
http://www.math.leidenuniv.nl/mailman/listinfo/bridge