[PATCH] mutex subsystem, more debugging code more mutex debugging: check for held locks during memory freeing, task exit, enable sysrq printouts, etc. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Arjan van de Ven <arjan@infradead.org>
diff --git a/kernel/exit.c b/kernel/exit.c index caceabf..309a46f 100644 --- a/kernel/exit.c +++ b/kernel/exit.c
@@ -29,6 +29,7 @@ #include <linux/syscalls.h> #include <linux/signal.h> #include <linux/cn_proc.h> +#include <linux/mutex.h> #include <asm/uaccess.h> #include <asm/unistd.h> @@ -869,6 +870,10 @@ mpol_free(tsk->mempolicy); tsk->mempolicy = NULL; #endif + /* + * If DEBUG_MUTEXES is on, make sure we are holding no locks: + */ + mutex_debug_check_no_locks_held(tsk); /* PF_DEAD causes final put_task_struct after we schedule. */ preempt_disable();
diff --git a/kernel/sched.c b/kernel/sched.c index 9273309..34a945b 100644 --- a/kernel/sched.c +++ b/kernel/sched.c
@@ -4386,6 +4386,7 @@ } while_each_thread(g, p); read_unlock(&tasklist_lock); + mutex_debug_show_all_locks(); } /**