]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/ipv6/reassembly.c
Merge remote-tracking branch 'ipsec/master'
[karo-tx-linux.git] / net / ipv6 / reassembly.c
index f1159bb76e0a54fb55a3e8e382a6cb80c7a929f9..44e21a03cfc3fff395903d36e8e01a7a3e395afa 100644 (file)
@@ -706,13 +706,19 @@ static void ip6_frags_sysctl_unregister(void)
 
 static int __net_init ipv6_frags_init_net(struct net *net)
 {
+       int res;
+
        net->ipv6.frags.high_thresh = IPV6_FRAG_HIGH_THRESH;
        net->ipv6.frags.low_thresh = IPV6_FRAG_LOW_THRESH;
        net->ipv6.frags.timeout = IPV6_FRAG_TIMEOUT;
 
-       inet_frags_init_net(&net->ipv6.frags);
-
-       return ip6_frags_ns_sysctl_register(net);
+       res = inet_frags_init_net(&net->ipv6.frags);
+       if (res)
+               return res;
+       res = ip6_frags_ns_sysctl_register(net);
+       if (res)
+               inet_frags_uninit_net(&net->ipv6.frags);
+       return res;
 }
 
 static void __net_exit ipv6_frags_exit_net(struct net *net)