: Use proc_create() to setup ->proc_fops first
Subsystems (2)
PATCH 9/15 : Use proc_create() to setup ->proc_fops first
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree.
Signed-off-by Wang Chen <[email protected]>
--- net/core/pktgen.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-)
net/core/pktgen.c +4 -6
@@ -3570,14 +3570,14 @@ static int pktgen_add_device(struct pktgen_thread *t, const char *ifname)if (err) goto out1; - pkt_dev->entry =create_proc_entry (ifname,0600 , pg_proc_dir); + pkt_dev->entry =proc_create (ifname,0600 , + pg_proc_dir, &pktgen_if_fops);if (!pkt_dev->entry) {printk (KERN_ERR "pktgen: cannot create %s/%s procfs entry.\n" ,PG_PROC_DIR , ifname); err = -EINVAL ; goto out2; } - pkt_dev->entry->proc_fops = &pktgen_if_fops; pkt_dev->entry->data = pkt_dev;#ifdef CONFIG_XFRM pkt_dev->ipsmode =XFRM_MODE_TRANSPORT ;
@@ -3628,7 +3628,7 @@ static int __init pktgen_create_thread(int cpu)kthread_bind (p, cpu); t->tsk = p; - pe =create_proc_entry (t->tsk->comm,0600 , pg_proc_dir); + pe =proc_create (t->tsk->comm,0600 , pg_proc_dir, &pktgen_thread_fops);if (!pe) {printk (KERN_ERR "pktgen: cannot create %s/%s procfs entry.\n" ,PG_PROC_DIR , t->tsk->comm);
@@ -3638,7 +3638,6 @@ static int __init pktgen_create_thread(int cpu)return -EINVAL ; } - pe->proc_fops = &pktgen_thread_fops; pe->data = t;wake_up_process (p);
@@ -3709,7 +3708,7 @@ static int __init pg_init(void)return -ENODEV ; pg_proc_dir->owner =THIS_MODULE ; - pe =create_proc_entry (PGCTRL ,0600 , pg_proc_dir); + pe =proc_create (PGCTRL ,0600 , pg_proc_dir, &pktgen_fops);if (pe ==NULL ) {printk (KERN_ERR "pktgen: ERROR: cannot create %s " "procfs entry.\n" ,PGCTRL );
@@ -3717,7 +3716,6 @@ static int __init pg_init(void)return -EINVAL ; } - pe->proc_fops = &pktgen_fops; pe->data =NULL ;/* Register us to receive netdevice events */
Signature · 1 line
WCN
From: Wang Chen <[email protected]>
Date: Thu, 28 Feb 2008 18:57:18 +0800
Quoted 4 lines
Use
proc_create()to make sure that ->proc_fops be setup before gluing PDE to main tree.Signed-off-by Wang Chen <[email protected]>
Applied.
Quoted 7 lines
net/core/pktgen.c +2
-1@@ -3570,14 +3570,14 @@ static int pktgen_add_device(struct pktgen_thread *t, const char *ifname)if (err) goto out1; - pkt_dev->entry =create_proc_entry (ifname,0600 , pg_proc_dir); + pkt_dev->entry =proc_create (ifname,0600 , + pg_proc_dir, &pktgen_if_fops);
net/core/pktgen.c static int pktgen_add_device(struct pktgen_thread *t, const char *ifname) · line 3583
Quoted 10 lines
net/core/pktgen.c +0
-1if (!pkt_dev->entry) {printk (KERN_ERR "pktgen: cannot create %s/%s procfs entry.\n" ,PG_PROC_DIR , ifname); err = -EINVAL ; goto out2; } - pkt_dev->entry->proc_fops = &pktgen_if_fops; pkt_dev->entry->data = pkt_dev;#ifdef CONFIG_XFRM pkt_dev->ipsmode =XFRM_MODE_TRANSPORT ;
->data visibility issue
net/core/pktgen.c static int __init pktgen_create_thread(int cpu) · line 3643
Quoted 8 lines
net/core/pktgen.c +0
-1@@ -3638,7 +3638,6 @@ static int __init pktgen_create_thread(int cpu)return -EINVAL ; } - pe->proc_fops = &pktgen_thread_fops; pe->data = t;wake_up_process (p);
Likewise.
net/core/pktgen.c static int __init pg_init(void) · line 3721
Quoted 8 lines
net/core/pktgen.c +0
-1@@ -3717,7 +3716,6 @@ static int __init pg_init(void)return -EINVAL ; } - pe->proc_fops = &pktgen_fops; pe->data =NULL ;/* Register us to receive netdevice events */
Superfluous assignment to NULL, can be deleted.