Loading include/linux/lockdep.h +2 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,7 @@ extern void lockdep_info(void); extern void lockdep_reset(void); extern void lockdep_reset_lock(struct lockdep_map *lock); extern void lockdep_free_key_range(void *start, unsigned long size); extern void lockdep_sys_exit(void); extern void lockdep_off(void); extern void lockdep_on(void); Loading Loading @@ -317,6 +318,7 @@ static inline void lockdep_on(void) # define INIT_LOCKDEP # define lockdep_reset() do { debug_locks = 1; } while (0) # define lockdep_free_key_range(start, size) do { } while (0) # define lockdep_sys_exit() do { } while (0) /* * The class key takes no space if lockdep is disabled: */ Loading kernel/lockdep.c +16 −0 Original line number Diff line number Diff line Loading @@ -3199,3 +3199,19 @@ void debug_show_held_locks(struct task_struct *task) } EXPORT_SYMBOL_GPL(debug_show_held_locks); void lockdep_sys_exit(void) { struct task_struct *curr = current; if (unlikely(curr->lockdep_depth)) { if (!debug_locks_off()) return; printk("\n================================================\n"); printk( "[ BUG: lock held when returning to user space! ]\n"); printk( "------------------------------------------------\n"); printk("%s/%d is leaving the kernel with locks still held!\n", curr->comm, curr->pid); lockdep_print_held_locks(curr); } } Loading
include/linux/lockdep.h +2 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,7 @@ extern void lockdep_info(void); extern void lockdep_reset(void); extern void lockdep_reset_lock(struct lockdep_map *lock); extern void lockdep_free_key_range(void *start, unsigned long size); extern void lockdep_sys_exit(void); extern void lockdep_off(void); extern void lockdep_on(void); Loading Loading @@ -317,6 +318,7 @@ static inline void lockdep_on(void) # define INIT_LOCKDEP # define lockdep_reset() do { debug_locks = 1; } while (0) # define lockdep_free_key_range(start, size) do { } while (0) # define lockdep_sys_exit() do { } while (0) /* * The class key takes no space if lockdep is disabled: */ Loading
kernel/lockdep.c +16 −0 Original line number Diff line number Diff line Loading @@ -3199,3 +3199,19 @@ void debug_show_held_locks(struct task_struct *task) } EXPORT_SYMBOL_GPL(debug_show_held_locks); void lockdep_sys_exit(void) { struct task_struct *curr = current; if (unlikely(curr->lockdep_depth)) { if (!debug_locks_off()) return; printk("\n================================================\n"); printk( "[ BUG: lock held when returning to user space! ]\n"); printk( "------------------------------------------------\n"); printk("%s/%d is leaving the kernel with locks still held!\n", curr->comm, curr->pid); lockdep_print_held_locks(curr); } }