[SCTP]: Use proc_create() to setup ->proc_fops first
Wang Chen [Thu, 28 Feb 2008 22:13:16 +0000 (14:13 -0800)]
Use proc_create() to make sure that ->proc_fops be setup before gluing
PDE to main tree.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

net/sctp/objcnt.c
net/sctp/proc.c

index 14e294e..cfeb07e 100644 (file)
@@ -132,12 +132,11 @@ void sctp_dbg_objcnt_init(void)
 {
        struct proc_dir_entry *ent;
 
-       ent = create_proc_entry("sctp_dbg_objcnt", 0, proc_net_sctp);
+       ent = proc_create("sctp_dbg_objcnt", 0,
+                         proc_net_sctp, &sctp_objcnt_ops);
        if (!ent)
                printk(KERN_WARNING
                        "sctp_dbg_objcnt: Unable to create /proc entry.\n");
-       else
-               ent->proc_fops = &sctp_objcnt_ops;
 }
 
 /* Cleanup the objcount entry in the proc filesystem.  */
index 69bb5a6..9e214da 100644 (file)
@@ -108,12 +108,10 @@ int __init sctp_snmp_proc_init(void)
 {
        struct proc_dir_entry *p;
 
-       p = create_proc_entry("snmp", S_IRUGO, proc_net_sctp);
+       p = proc_create("snmp", S_IRUGO, proc_net_sctp, &sctp_snmp_seq_fops);
        if (!p)
                return -ENOMEM;
 
-       p->proc_fops = &sctp_snmp_seq_fops;
-
        return 0;
 }