Skip to content

Commit

Permalink
[NETNS][IPV6] Move sysctl initialization later on in the IPv6 init se…
Browse files Browse the repository at this point in the history
…quence

This patch moves initialization of IPv6 sysctl stuff at the end of
IPv6 initialization.

This will be helpful for network namespaces where some sysctl entries
depend on per-namespace variables, that need to be allocated and
initialized before they are referenced by sysctl.

Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Benjamin Thery authored and David S. Miller committed Mar 5, 2008
1 parent 6b3d626 commit 94911fe
Showing 1 changed file with 14 additions and 13 deletions.
27 changes: 14 additions & 13 deletions net/ipv6/af_inet6.c
Original file line number Diff line number Diff line change
Expand Up @@ -934,12 +934,6 @@ static int __init inet6_init(void)
err = register_pernet_subsys(&inet6_net_ops);
if (err)
goto register_pernet_fail;

#ifdef CONFIG_SYSCTL
err = ipv6_sysctl_register();
if (err)
goto sysctl_fail;
#endif
err = icmpv6_init();
if (err)
goto icmp_fail;
Expand Down Expand Up @@ -1006,9 +1000,19 @@ static int __init inet6_init(void)
err = ipv6_packet_init();
if (err)
goto ipv6_packet_fail;

#ifdef CONFIG_SYSCTL
err = ipv6_sysctl_register();
if (err)
goto sysctl_fail;
#endif
out:
return err;

#ifdef CONFIG_SYSCTL
sysctl_fail:
ipv6_packet_cleanup();
#endif
ipv6_packet_fail:
tcpv6_exit();
tcpv6_fail:
Expand Down Expand Up @@ -1050,10 +1054,6 @@ static int __init inet6_init(void)
ndisc_fail:
icmpv6_cleanup();
icmp_fail:
#ifdef CONFIG_SYSCTL
ipv6_sysctl_unregister();
sysctl_fail:
#endif
unregister_pernet_subsys(&inet6_net_ops);
register_pernet_fail:
cleanup_ipv6_mibs();
Expand Down Expand Up @@ -1083,6 +1083,9 @@ static void __exit inet6_exit(void)
/* Disallow any further netlink messages */
rtnl_unregister_all(PF_INET6);

#ifdef CONFIG_SYSCTL
ipv6_sysctl_unregister();
#endif
udpv6_exit();
#ifdef CONFIG_IP_UDPLITE
udplitev6_exit();
Expand Down Expand Up @@ -1112,9 +1115,7 @@ static void __exit inet6_exit(void)
ndisc_cleanup();
icmpv6_cleanup();
rawv6_exit();
#ifdef CONFIG_SYSCTL
ipv6_sysctl_unregister();
#endif

unregister_pernet_subsys(&inet6_net_ops);
cleanup_ipv6_mibs();
proto_unregister(&rawv6_prot);
Expand Down

0 comments on commit 94911fe

Please sign in to comment.