aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/af_inet6.c
diff options
context:
space:
mode:
authorDaniel Lezcano <dlezcano@fr.ibm.com>2008-03-26 16:52:32 -0700
committerDavid S. Miller <davem@davemloft.net>2008-03-26 16:52:32 -0700
commit6ab57e7e7fa316552d0f94eaebf1def1d49f18da (patch)
tree5e0f5d2d9d302758a6c3bebd91ff0c11b110f5a1 /net/ipv6/af_inet6.c
parent[IPV6]: Fix potential net leak and oops in ipv6 routing code. (diff)
downloadlinux-dev-6ab57e7e7fa316552d0f94eaebf1def1d49f18da.tar.xz
linux-dev-6ab57e7e7fa316552d0f94eaebf1def1d49f18da.zip
[NETNS][IPV6] anycast - handle several network namespace
Make use of the network namespace information to have this protocol to handle several network namespace. Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com> Signed-off-by: Benjamin Thery <benjamin.thery@bull.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/af_inet6.c')
-rw-r--r--net/ipv6/af_inet6.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index 12f04e9d3e88..1731b0abf7f5 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -862,11 +862,16 @@ static int inet6_net_init(struct net *net)
err = tcp6_proc_init(net);
if (err)
goto proc_tcp6_fail;
+ err = ac6_proc_init(net);
+ if (err)
+ goto proc_ac6_fail;
out:
#endif
return err;
#ifdef CONFIG_PROC_FS
+proc_ac6_fail:
+ tcp6_proc_exit(net);
proc_tcp6_fail:
udp6_proc_exit(net);
goto out;
@@ -878,6 +883,7 @@ static void inet6_net_exit(struct net *net)
#ifdef CONFIG_PROC_FS
udp6_proc_exit(net);
tcp6_proc_exit(net);
+ ac6_proc_exit(net);
#endif
}
@@ -965,9 +971,6 @@ static int __init inet6_init(void)
goto proc_udplite6_fail;
if (ipv6_misc_proc_init())
goto proc_misc6_fail;
-
- if (ac6_proc_init())
- goto proc_anycast6_fail;
if (if6_proc_init())
goto proc_if6_fail;
#endif
@@ -1039,8 +1042,6 @@ ip6_route_fail:
#ifdef CONFIG_PROC_FS
if6_proc_exit();
proc_if6_fail:
- ac6_proc_exit();
-proc_anycast6_fail:
ipv6_misc_proc_exit();
proc_misc6_fail:
udplite6_proc_exit();
@@ -1101,7 +1102,6 @@ static void __exit inet6_exit(void)
/* Cleanup code parts. */
if6_proc_exit();
- ac6_proc_exit();
ipv6_misc_proc_exit();
udplite6_proc_exit();
raw6_proc_exit();