Re: [PATCH] BRIDGE: Fix faulty check in br_stp_recalculate_bridge_id()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Stephen Hemminger <[email protected]>
Date: Wed, 21 Dec 2005 13:25:27 -0800

> On Wed, 21 Dec 2005 21:55:27 +0200
> [email protected] wrote:
> 
> > I did a compile with extra gcc warnings, and found a bug in
> > net/bridge/br_stp_if.c function br_stp_recalculate_bridge_id():
> > compare_ether_addr() returns 0 if match, positive if not, so
> > checking it for negative is wrong. 
> > 
> > Signed-of-by: Mika Kukkonen <[email protected]>
 ...
> > diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
> > index ac09b6a..08c52c2 100644
> > --- a/net/bridge/br_stp_if.c
> > +++ b/net/bridge/br_stp_if.c
> > @@ -158,7 +158,7 @@ void br_stp_recalculate_bridge_id(struct
> >  
> >  	list_for_each_entry(p, &br->port_list, list) {
> >  		if (addr == br_mac_zero ||
> > -		    compare_ether_addr(p->dev->dev_addr, addr) < 0)
> > +		    compare_ether_addr(p->dev->dev_addr, addr))
> >  			addr = p->dev->dev_addr;
> >  
> >  	}
> 
> Actually that compare_ether_addr needs to be replaced by memcmp again.
> Because for bridge id calc it wants the min() of all the device addresses.

I'll hold on this patch until that is worked out.

Thanks.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux