ipv4: assign PDE->data before gluing PDE into /proc tree
Denis V. Lunev [Fri, 2 May 2008 11:10:08 +0000 (04:10 -0700)]
The check for PDE->data != NULL becomes useless after the replacement
of proc_net_fops_create with proc_create_data.

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

net/ipv4/tcp_ipv4.c
net/ipv4/udp.c

index 0e9bc12..cd601a8 100644 (file)
@@ -2214,9 +2214,6 @@ static int tcp_seq_open(struct inode *inode, struct file *file)
        struct tcp_iter_state *s;
        int err;
 
-       if (unlikely(afinfo == NULL))
-               return -EINVAL;
-
        err = seq_open_net(inode, file, &afinfo->seq_ops,
                          sizeof(struct tcp_iter_state));
        if (err < 0)
@@ -2241,10 +2238,9 @@ int tcp_proc_register(struct net *net, struct tcp_seq_afinfo *afinfo)
        afinfo->seq_ops.next            = tcp_seq_next;
        afinfo->seq_ops.stop            = tcp_seq_stop;
 
-       p = proc_net_fops_create(net, afinfo->name, S_IRUGO, &afinfo->seq_fops);
-       if (p)
-               p->data = afinfo;
-       else
+       p = proc_create_data(afinfo->name, S_IRUGO, net->proc_net,
+                            &afinfo->seq_fops, afinfo);
+       if (!p)
                rc = -ENOMEM;
        return rc;
 }
index 1f535e3..db1cb7c 100644 (file)
@@ -1605,10 +1605,9 @@ int udp_proc_register(struct net *net, struct udp_seq_afinfo *afinfo)
        afinfo->seq_ops.next            = udp_seq_next;
        afinfo->seq_ops.stop            = udp_seq_stop;
 
-       p = proc_net_fops_create(net, afinfo->name, S_IRUGO, &afinfo->seq_fops);
-       if (p)
-               p->data = afinfo;
-       else
+       p = proc_create_data(afinfo->name, S_IRUGO, net->proc_net,
+                            &afinfo->seq_fops, afinfo);
+       if (!p)
                rc = -ENOMEM;
        return rc;
 }