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/lockdep_proc.c | |
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/lockdep_proc.c')
-rw-r--r-- | kernel/lockdep_proc.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/kernel/lockdep_proc.c b/kernel/lockdep_proc.c index 8a135bd163c2..dc5d29648d85 100644 --- a/kernel/lockdep_proc.c +++ b/kernel/lockdep_proc.c | |||
@@ -660,20 +660,12 @@ static const struct file_operations proc_lock_stat_operations = { | |||
660 | 660 | ||
661 | static int __init lockdep_proc_init(void) | 661 | static int __init lockdep_proc_init(void) |
662 | { | 662 | { |
663 | struct proc_dir_entry *entry; | 663 | proc_create("lockdep", S_IRUSR, NULL, &proc_lockdep_operations); |
664 | 664 | proc_create("lockdep_stats", S_IRUSR, NULL, | |
665 | entry = create_proc_entry("lockdep", S_IRUSR, NULL); | 665 | &proc_lockdep_stats_operations); |
666 | if (entry) | ||
667 | entry->proc_fops = &proc_lockdep_operations; | ||
668 | |||
669 | entry = create_proc_entry("lockdep_stats", S_IRUSR, NULL); | ||
670 | if (entry) | ||
671 | entry->proc_fops = &proc_lockdep_stats_operations; | ||
672 | 666 | ||
673 | #ifdef CONFIG_LOCK_STAT | 667 | #ifdef CONFIG_LOCK_STAT |
674 | entry = create_proc_entry("lock_stat", S_IRUSR, NULL); | 668 | proc_create("lock_stat", S_IRUSR, NULL, &proc_lock_stat_operations); |
675 | if (entry) | ||
676 | entry->proc_fops = &proc_lock_stat_operations; | ||
677 | #endif | 669 | #endif |
678 | 670 | ||
679 | return 0; | 671 | return 0; |