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

Reply via email to