[PATCH 2/2] cgroup: switch to proc_create() - Kernel
This is a discussion on [PATCH 2/2] cgroup: switch to proc_create() - Kernel ; 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
---
kernel/cgroup.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 8d833b6..8d45126 100644
...
-
[PATCH 2/2] cgroup: switch to proc_create()
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
---
kernel/cgroup.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 8d833b6..8d45126 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -2489,7 +2489,6 @@ int __init cgroup_init(void)
{
int err;
int i;
- struct proc_dir_entry *entry;
err = bdi_init(&cgroup_backing_dev_info);
if (err)
@@ -2505,9 +2504,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)
--
1.5.4.rc3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
-
Re: [PATCH 2/2] cgroup: switch to proc_create()
On Mon, Mar 10, 2008 at 12:30 AM, Li Zefan wrote:
> 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
Acked-by: Paul Menage
Doesn't seem to be a serious race since there's nothing in userspace
at this point to read the file. But replacing four lines with one is
generally a good thing.
Paul
> ---
> kernel/cgroup.c | 5 +----
> 1 files changed, 1 insertions(+), 4 deletions(-)
>
> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
> index 8d833b6..8d45126 100644
> --- a/kernel/cgroup.c
> +++ b/kernel/cgroup.c
> @@ -2489,7 +2489,6 @@ int __init cgroup_init(void)
> {
> int err;
> int i;
> - struct proc_dir_entry *entry;
>
> err = bdi_init(&cgroup_backing_dev_info);
> if (err)
> @@ -2505,9 +2504,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)
> --
> 1.5.4.rc3
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
-
Re: [PATCH 2/2] cgroup: switch to proc_create()
Paul Menage wrote:
> On Mon, Mar 10, 2008 at 12:30 AM, Li Zefan wrote:
>> 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
>
> Acked-by: Paul Menage
>
> Doesn't seem to be a serious race since there's nothing in userspace
> at this point to read the file. But replacing four lines with one is
> generally a good thing.
>
Yes I know, it's a slight race in case of modular code, but the aim is
to replace all the use of create_proc_entry() with proc_create(). 
> Paul
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/