netfilter: assign PDE->data before gluing PDE into /proc tree
Denis V. Lunev [Fri, 2 May 2008 11:11:52 +0000 (04:11 -0700)]
Replace proc_net_fops_create with proc_create_data.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>

net/netfilter/x_tables.c

index 11b22ab..5d75cd8 100644 (file)
@@ -936,25 +936,24 @@ int xt_proto_init(struct net *net, int af)
 #ifdef CONFIG_PROC_FS
        strlcpy(buf, xt_prefix[af], sizeof(buf));
        strlcat(buf, FORMAT_TABLES, sizeof(buf));
-       proc = proc_net_fops_create(net, buf, 0440, &xt_table_ops);
+       proc = proc_create_data(buf, 0440, net->proc_net, &xt_table_ops,
+                               (void *)(unsigned long)af);
        if (!proc)
                goto out;
-       proc->data = (void *)(unsigned long)af;
-
 
        strlcpy(buf, xt_prefix[af], sizeof(buf));
        strlcat(buf, FORMAT_MATCHES, sizeof(buf));
-       proc = proc_net_fops_create(net, buf, 0440, &xt_match_ops);
+       proc = proc_create_data(buf, 0440, net->proc_net, &xt_match_ops,
+                               (void *)(unsigned long)af);
        if (!proc)
                goto out_remove_tables;
-       proc->data = (void *)(unsigned long)af;
 
        strlcpy(buf, xt_prefix[af], sizeof(buf));
        strlcat(buf, FORMAT_TARGETS, sizeof(buf));
-       proc = proc_net_fops_create(net, buf, 0440, &xt_target_ops);
+       proc = proc_create_data(buf, 0440, net->proc_net, &xt_target_ops,
+                               (void *)(unsigned long)af);
        if (!proc)
                goto out_remove_matches;
-       proc->data = (void *)(unsigned long)af;
 #endif
 
        return 0;