[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87d22a4t8k.fsf@x220.int.ebiederm.org>
Date: Fri, 08 May 2015 17:08:59 -0500
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Cong Wang <cwang@...pensource.com>
Cc: Herbert Xu <herbert@...dor.apana.org.au>,
Ying Xue <ying.xue@...driver.com>,
netdev <netdev@...r.kernel.org>,
Pavel Emelyanov <xemul@...nvz.org>,
David Miller <davem@...emloft.net>,
Eric Dumazet <eric.dumazet@...il.com>, maxk@....qualcomm.com,
Stephen Hemminger <stephen@...workplumber.org>,
Thomas Graf <tgraf@...g.ch>,
Nicolas Dichtel <nicolas.dichtel@...nd.com>,
Tom Herbert <tom@...bertland.com>,
James Chapman <jchapman@...alix.com>,
Erik Hugne <erik.hugne@...csson.com>, jon.maloy@...csson.com,
Simon Horman <horms@...ge.net.au>
Subject: Re: [RFC PATCH net-next 00/11] netns: don't switch namespace while creating kernel sockets
Cong Wang <cwang@...pensource.com> writes:
> On Fri, May 8, 2015 at 1:27 PM, Cong Wang <cwang@...pensource.com> wrote:
>> On Fri, May 8, 2015 at 10:36 AM, Eric W. Biederman
>> <ebiederm@...ssion.com> wrote:
>>>
>>> It really is invalid for a network namespace init routine to grab the
>>> reference count of it's network namespace (thus making the network
>>> namespace unfreeable). So I am wondering if perhaps all we need to do
>>> is find a clean refactoring of the socket code so this case does not
>>> come up at all.
>>
>>
>> Good point!
>>
>> I _guess_ the reason is these kernel sockets have to exist longer than
>> netns' life-time, it could be due to on-flying skb's?
>>
>> On the other hand, we do create some fb_tunnel netdevice in netns init
>> too, but we don't take a refcnt there, probably because we wait
>> for netdevice refcnt goes to zero when unregistering.
>
> Answer myself, it looks like we don't need to hold the refcnt at all,
> since we create the socket at init and release it at uninit, so they
> should have the same life-time?
>
> The reason why user-space sockets need this refcnt is they
> could have longer life-time than the netns?
User space sockets by design keep the network namespace alive.
> This seems the right direction to solve this problem for me,
> I am going to try this way to see how far I can go. ;)
I will be interested to see what you come up with.
Eric
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists