diff options
Diffstat (limited to 'kernel/lockdep.c')
-rw-r--r-- | kernel/lockdep.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/kernel/lockdep.c b/kernel/lockdep.c index 1f3186b37fd5..e16c45b9ee77 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c | |||
@@ -4090,7 +4090,7 @@ void debug_check_no_locks_freed(const void *mem_from, unsigned long mem_len) | |||
4090 | } | 4090 | } |
4091 | EXPORT_SYMBOL_GPL(debug_check_no_locks_freed); | 4091 | EXPORT_SYMBOL_GPL(debug_check_no_locks_freed); |
4092 | 4092 | ||
4093 | static void print_held_locks_bug(struct task_struct *curr) | 4093 | static void print_held_locks_bug(void) |
4094 | { | 4094 | { |
4095 | if (!debug_locks_off()) | 4095 | if (!debug_locks_off()) |
4096 | return; | 4096 | return; |
@@ -4099,22 +4099,21 @@ static void print_held_locks_bug(struct task_struct *curr) | |||
4099 | 4099 | ||
4100 | printk("\n"); | 4100 | printk("\n"); |
4101 | printk("=====================================\n"); | 4101 | printk("=====================================\n"); |
4102 | printk("[ BUG: lock held at task exit time! ]\n"); | 4102 | printk("[ BUG: %s/%d still has locks held! ]\n", |
4103 | current->comm, task_pid_nr(current)); | ||
4103 | print_kernel_ident(); | 4104 | print_kernel_ident(); |
4104 | printk("-------------------------------------\n"); | 4105 | printk("-------------------------------------\n"); |
4105 | printk("%s/%d is exiting with locks still held!\n", | 4106 | lockdep_print_held_locks(current); |
4106 | curr->comm, task_pid_nr(curr)); | ||
4107 | lockdep_print_held_locks(curr); | ||
4108 | |||
4109 | printk("\nstack backtrace:\n"); | 4107 | printk("\nstack backtrace:\n"); |
4110 | dump_stack(); | 4108 | dump_stack(); |
4111 | } | 4109 | } |
4112 | 4110 | ||
4113 | void debug_check_no_locks_held(struct task_struct *task) | 4111 | void debug_check_no_locks_held(void) |
4114 | { | 4112 | { |
4115 | if (unlikely(task->lockdep_depth > 0)) | 4113 | if (unlikely(current->lockdep_depth > 0)) |
4116 | print_held_locks_bug(task); | 4114 | print_held_locks_bug(); |
4117 | } | 4115 | } |
4116 | EXPORT_SYMBOL_GPL(debug_check_no_locks_held); | ||
4118 | 4117 | ||
4119 | void debug_show_all_locks(void) | 4118 | void debug_show_all_locks(void) |
4120 | { | 4119 | { |