From: Daniel Lezcano <daniel.lezcano@free.fr>
To: nicolas.dichtel@dev.6wind.com
Cc: David Miller <davem@davemloft.net>,
netdev@vger.kernel.org, containers@lists.osdl.org
Subject: Re: [PATCH] netns: remove useless synchronize_net()
Date: Tue, 10 Feb 2009 17:40:36 +0100 [thread overview]
Message-ID: <4991AE04.7020307@free.fr> (raw)
In-Reply-To: <49919FD4.3000008@dev.6wind.com>
Nicolas Dichtel wrote:
> Le 06.02.2009 23:10, David Miller a écrit :
>> From: Nicolas Dichtel <nicolas.dichtel@dev.6wind.com>
>> Date: Fri, 06 Feb 2009 14:50:53 +0100
>>
>>> If namespace is destroyed after this function, then cleanup_net()
>>> will ensure that nobody is looking at it
>>
>> Maybe, but you better get some opinions from the people who wrote
>> and maintain the network namespace code before I can consider
>> your change seriously.
>>
>> None of them responded to your patch posting, probably because
>> you failed to CC: any of them.
> Sorry, I forget to cc them, now it's done.
> The thread can be found here:
> http://marc.info/?l=linux-netdev&m=123382930115535&w=2
>
> So, I'm waiting for maintainers's opinions.
We can move one network device from one namespace to another namespace,
and that do not necessarily implies the network namespace will die and
call cleanup_net.
Without synchronize_net, it would be possible to have netif_receive_skb
and dev_change_net_namespace to be executed concurrently, no ?
Wouldn't the execution of one of this function be problematic if we are
in the delivery of a packet to the upper protocol in the big
rcu_read_lock section of netif_receive_skb ?
dev_shutdown(dev);
/* Notify protocols, that we are about to destroy
this device. They should clean all the things.
*/
call_netdevice_notifiers(NETDEV_UNREGISTER, dev);
/*
* Flush the unicast and multicast chains
*/
dev_addr_discard(dev);
netdev_unregister_kobject(dev);
/* Actually switch the network namespace */
dev_net_set(dev, net);
Thanks
-- Daniel
next prev parent reply other threads:[~2009-02-10 16:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <498ABDA2.5040603@dev.6wind.com>
[not found] ` <20090205.234520.149982266.davem@davemloft.net>
[not found] ` <498C403D.9040500@dev.6wind.com>
[not found] ` <20090206.141026.85510254.davem@davemloft.net>
2009-02-10 15:40 ` [PATCH] netns: remove useless synchronize_net() Nicolas Dichtel
2009-02-10 16:40 ` Daniel Lezcano [this message]
2009-02-10 16:48 ` Nicolas Dichtel
2009-02-10 17:13 ` Daniel Lezcano
2009-02-11 7:51 ` Eric W. Biederman
2009-02-11 15:49 ` Daniel Lezcano
2009-02-11 23:03 ` Eric W. Biederman
2009-02-12 15:11 ` Daniel Lezcano
[not found] ` <49943C17.5080509-GANU6spQydw@public.gmane.org>
2009-02-15 16:13 ` Daniel Lezcano
[not found] ` <49983F0D.2090905-GANU6spQydw@public.gmane.org>
2009-02-16 13:46 ` Nicolas Dichtel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4991AE04.7020307@free.fr \
--to=daniel.lezcano@free.fr \
--cc=containers@lists.osdl.org \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=nicolas.dichtel@dev.6wind.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.