On Fri, 27 Jan 2006 09:29:12 +1100 Herbert Xu <[EMAIL PROTECTED]> wrote:
> On Fri, Jan 27, 2006 at 07:33:24AM +1100, herbert wrote: > > > > > That breaks because of the race (found by Xen) where an interface > > > is being deleted from a bridge and the device is being removed. > > > > > > br_del_if > > > rmmod device > > > netlink event > > > br_device_event > > > ... > > > > Sorry, I don't get it. How does adding a barrier in del_nbp > > fix this bug? > > > > In fact, as far as I can see, you need to add a pair of > > rcu_read_lock/rcu_read_unlock in br_device_event to make it > > work. > > Actually, this race shouldn't exist anyway because both br_del_if > and br_device_event are meant to be called under the RTNL. So > what's going on here? Well, it was before I changed del_nbp to set dev->br_port to NULL. So what br_del_if would get called twice for same port. -- Stephen Hemminger <[EMAIL PROTECTED]> OSDL http://developer.osdl.org/~shemminger - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html