diff options
author | Denis V. Lunev <den@openvz.org> | 2008-04-29 04:02:31 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-29 11:06:22 -0400 |
commit | c33fff0afbef4f0467c99e3f47ee7e98ae78c77e (patch) | |
tree | d6b5f8dc77aa21de95bbca76c6be6056026cc1d8 /kernel/time | |
parent | ac41cfd19bf77424519b962f8205ede51fceaac6 (diff) |
kernel: use non-racy method for proc entries creation
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/time')
-rw-r--r-- | kernel/time/timer_list.c | 5 | ||||
-rw-r--r-- | kernel/time/timer_stats.c | 5 |
2 files changed, 2 insertions, 8 deletions
diff --git a/kernel/time/timer_list.c b/kernel/time/timer_list.c index 67fe8fc21fb1..a40e20fd0001 100644 --- a/kernel/time/timer_list.c +++ b/kernel/time/timer_list.c | |||
@@ -278,12 +278,9 @@ static int __init init_timer_list_procfs(void) | |||
278 | { | 278 | { |
279 | struct proc_dir_entry *pe; | 279 | struct proc_dir_entry *pe; |
280 | 280 | ||
281 | pe = create_proc_entry("timer_list", 0644, NULL); | 281 | pe = proc_create("timer_list", 0644, NULL, &timer_list_fops); |
282 | if (!pe) | 282 | if (!pe) |
283 | return -ENOMEM; | 283 | return -ENOMEM; |
284 | |||
285 | pe->proc_fops = &timer_list_fops; | ||
286 | |||
287 | return 0; | 284 | return 0; |
288 | } | 285 | } |
289 | __initcall(init_timer_list_procfs); | 286 | __initcall(init_timer_list_procfs); |
diff --git a/kernel/time/timer_stats.c b/kernel/time/timer_stats.c index 417da8c5bc72..c994530d166d 100644 --- a/kernel/time/timer_stats.c +++ b/kernel/time/timer_stats.c | |||
@@ -415,12 +415,9 @@ static int __init init_tstats_procfs(void) | |||
415 | { | 415 | { |
416 | struct proc_dir_entry *pe; | 416 | struct proc_dir_entry *pe; |
417 | 417 | ||
418 | pe = create_proc_entry("timer_stats", 0644, NULL); | 418 | pe = proc_create("timer_stats", 0644, NULL, &tstats_fops); |
419 | if (!pe) | 419 | if (!pe) |
420 | return -ENOMEM; | 420 | return -ENOMEM; |
421 | |||
422 | pe->proc_fops = &tstats_fops; | ||
423 | |||
424 | return 0; | 421 | return 0; |
425 | } | 422 | } |
426 | __initcall(init_tstats_procfs); | 423 | __initcall(init_tstats_procfs); |