Subject: Re: [Patch net-next] vxlan: do real refcnt for vn_sock

From: Cong Wang <[email-masked]>
Date: Fri, 31 May 2013 12:12:11 +0800

On Thu, 2013-05-30 at 20:56 -0700, Stephen Hemminger wrote:
> On Fri, 31 May 2013 10:55:45 +0800
> Cong Wang <[email-masked]> wrote:
> 
> > On Wed, 2013-05-29 at 16:39 +0800, Cong Wang wrote:
> > > On Tue, 2013-05-28 at 21:41 -0700, Stephen Hemminger wrote:
> > > > Why not just fix the requirement to drop rtnl when calling igmp.
> > > > The code comes out cleaner and safer as well.
> > > 
> > > Besides you forget to lock the socket before calling _ip_mc_join_group()
> > > (and also the order is very important too), your patch doesn't fix the
> > > problem I met. The full backtrace is below:
> > > 
> > 
> > Hi, Stephen,
> > 
> > Do you think my patch is an easier solution? It at least fixes the
> > crash, while your patch doesn't. :)
> > 
> > 
> 
> No. your patch doesn't fix the real problem.
> The real fix is more complex because of how socket locking interacts with RTNL.

Yeah, I am thinking if we could replace the RTNL lock with a spinlock in
IPv4 multicast, as IPv6 multicast uses its own spin lock too. I don't
see any reason why inet->mc_list has to be protected by RTNL.

> 
> 
> I have been busy with health stuff, so the going is slow.

No problem, take care!