aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@aristanetworks.com>2009-02-22 00:11:09 -0800
committerDavid S. Miller <davem@davemloft.net>2009-02-22 19:54:50 -0800
commitce16c5337ab0d165f95c88aa857207efd7c01139 (patch)
tree23f62e2361b43ac56eabe4f9f2e1ea11013fa740 /net/core/dev.c
parent6a1b3054d9fd98001a6631501caf1969138ee00d (diff)
downloadkernel_goldelico_gta04-ce16c5337ab0d165f95c88aa857207efd7c01139.zip
kernel_goldelico_gta04-ce16c5337ab0d165f95c88aa857207efd7c01139.tar.gz
kernel_goldelico_gta04-ce16c5337ab0d165f95c88aa857207efd7c01139.tar.bz2
netns: Remove net_alive
It turns out that net_alive is unnecessary, and the original problem that led to it being added was simply that the icmp code thought it was a network device and wound up being unable to handle packets while there were still packets in the network namespace. Now that icmp and tcp have been fixed to properly register themselves this problem is no longer present and we have a stronger guarantee that packets will not arrive in a network namespace then that provided by net_alive in netif_receive_skb. So remove net_alive allowing packet reception run a little faster. Additionally document the strong reason why network namespace cleanup is safe so that if something happens again someone else will have a chance of figuring it out. Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 88dc082..ac6ab12 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2254,12 +2254,6 @@ int netif_receive_skb(struct sk_buff *skb)
rcu_read_lock();
- /* Don't receive packets in an exiting network namespace */
- if (!net_alive(dev_net(skb->dev))) {
- kfree_skb(skb);
- goto out;
- }
-
#ifdef CONFIG_NET_CLS_ACT
if (skb->tc_verd & TC_NCLS) {
skb->tc_verd = CLR_TC_NCLS(skb->tc_verd);