]> Pileus Git - ~andy/linux/blobdiff - net/ipv4/ip_fragment.c
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
[~andy/linux] / net / ipv4 / ip_fragment.c
index 29b4b0972e44d4556369ea52988266ae0cb31c07..a2e92f9709db8459bd573e82c6842b6d9ea1d715 100644 (file)
@@ -713,9 +713,20 @@ static int ipv4_frags_init_net(struct net *net)
        return ip4_frags_ctl_register(net);
 }
 
+static void ipv4_frags_exit_net(struct net *net)
+{
+       ip4_frags_ctl_unregister(net);
+       inet_frags_exit_net(&net->ipv4.frags, &ip4_frags);
+}
+
+static struct pernet_operations ip4_frags_ops = {
+       .init = ipv4_frags_init_net,
+       .exit = ipv4_frags_exit_net,
+};
+
 void __init ipfrag_init(void)
 {
-       ipv4_frags_init_net(&init_net);
+       register_pernet_subsys(&ip4_frags_ops);
        ip4_frags.hashfn = ip4_hashfn;
        ip4_frags.constructor = ip4_frag_init;
        ip4_frags.destructor = ip4_frag_free;