cgroup: switch to proc_create()
Li Zefan [Tue, 29 Apr 2008 08:00:08 +0000 (01:00 -0700)]
There is a race between create_proc_entry() and the assignment of file ops.
proc_create() is invented to fix it.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Paul Menage <menage@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

kernel/cgroup.c

index 97ab04c..436e26f 100644 (file)
@@ -2545,7 +2545,6 @@ int __init cgroup_init(void)
 {
        int err;
        int i;
-       struct proc_dir_entry *entry;
 
        err = bdi_init(&cgroup_backing_dev_info);
        if (err)
@@ -2561,9 +2560,7 @@ int __init cgroup_init(void)
        if (err < 0)
                goto out;
 
-       entry = create_proc_entry("cgroups", 0, NULL);
-       if (entry)
-               entry->proc_fops = &proc_cgroupstats_operations;
+       proc_create("cgroups", 0, NULL, &proc_cgroupstats_operations);
 
 out:
        if (err)