diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-03-09 02:17:32 -0500 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-03-09 02:17:32 -0500 |
| commit | ce67eef6a112bb283c6db39f9195800f31f5599a (patch) | |
| tree | 34f2e7fbd0b9838abba482dbb1a7db09e6fbb53c /kernel/lockdep.c | |
| parent | 776943fd6f104a6e8457dc95a17282e69e963666 (diff) | |
| parent | 57d54889cd00db2752994b389ba714138652e60c (diff) | |
Merge commit 'v2.6.34-rc1' into for-linus
Diffstat (limited to 'kernel/lockdep.c')
| -rw-r--r-- | kernel/lockdep.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/kernel/lockdep.c b/kernel/lockdep.c index 5feaddcdbe49..0c30d0455de1 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c | |||
| @@ -2147,7 +2147,7 @@ check_usage_backwards(struct task_struct *curr, struct held_lock *this, | |||
| 2147 | return ret; | 2147 | return ret; |
| 2148 | 2148 | ||
| 2149 | return print_irq_inversion_bug(curr, &root, target_entry, | 2149 | return print_irq_inversion_bug(curr, &root, target_entry, |
| 2150 | this, 1, irqclass); | 2150 | this, 0, irqclass); |
| 2151 | } | 2151 | } |
| 2152 | 2152 | ||
| 2153 | void print_irqtrace_events(struct task_struct *curr) | 2153 | void print_irqtrace_events(struct task_struct *curr) |
| @@ -3809,3 +3809,21 @@ void lockdep_sys_exit(void) | |||
| 3809 | lockdep_print_held_locks(curr); | 3809 | lockdep_print_held_locks(curr); |
| 3810 | } | 3810 | } |
| 3811 | } | 3811 | } |
| 3812 | |||
| 3813 | void lockdep_rcu_dereference(const char *file, const int line) | ||
| 3814 | { | ||
| 3815 | struct task_struct *curr = current; | ||
| 3816 | |||
| 3817 | if (!debug_locks_off()) | ||
| 3818 | return; | ||
| 3819 | printk("\n===================================================\n"); | ||
| 3820 | printk( "[ INFO: suspicious rcu_dereference_check() usage. ]\n"); | ||
| 3821 | printk( "---------------------------------------------------\n"); | ||
| 3822 | printk("%s:%d invoked rcu_dereference_check() without protection!\n", | ||
| 3823 | file, line); | ||
| 3824 | printk("\nother info that might help us debug this:\n\n"); | ||
| 3825 | lockdep_print_held_locks(curr); | ||
| 3826 | printk("\nstack backtrace:\n"); | ||
| 3827 | dump_stack(); | ||
| 3828 | } | ||
| 3829 | EXPORT_SYMBOL_GPL(lockdep_rcu_dereference); | ||
