aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2007-10-15 12:55:33 -0700
committerDavid S. Miller <davem@davemloft.net>2007-10-15 12:55:33 -0700
commit9d6dda32c7570bbf189cf74fbc36338d0a94e999 (patch)
treeeac71d1bf5f7c07ebf4360fd9cd48d79cab402fd /drivers/net
parent4ae289444b968b4cefd776ada8da519ce10e56fa (diff)
downloadkernel_samsung_smdk4412-9d6dda32c7570bbf189cf74fbc36338d0a94e999.zip
kernel_samsung_smdk4412-9d6dda32c7570bbf189cf74fbc36338d0a94e999.tar.gz
kernel_samsung_smdk4412-9d6dda32c7570bbf189cf74fbc36338d0a94e999.tar.bz2
[NETNS]: Don't panic on creating the namespace's loopback
When the loopback device is failed to initialize inside the new namespaces, panic() is called. Do not do it when the namespace in question is not the init_net. Plus cleanup the error path a bit. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/loopback.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
index be25aa3..662b8d1 100644
--- a/drivers/net/loopback.c
+++ b/drivers/net/loopback.c
@@ -265,17 +265,16 @@ static __net_init int loopback_net_init(struct net *net)
if (err)
goto out_free_netdev;
- err = 0;
net->loopback_dev = dev;
+ return 0;
-out:
- if (err)
- panic("loopback: Failed to register netdevice: %d\n", err);
- return err;
out_free_netdev:
free_netdev(dev);
- goto out;
+out:
+ if (net == &init_net)
+ panic("loopback: Failed to register netdevice: %d\n", err);
+ return err;
}
static __net_exit void loopback_net_exit(struct net *net)