summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Miller <davem@davemloft.net>2008-08-01 01:11:22 -0700
committerIngo Molnar <mingo@elte.hu>2008-08-01 10:46:43 +0200
commite0fdace10e75dac67d906213b780ff1b1a4cc360 (patch)
treeca0ab78da383bfe44512bc33a1431d1a9dc4537f
parent419ca3f13532793b81aff09f80c60af3eacbb43d (diff)
downloadlinux-stable-e0fdace10e75dac67d906213b780ff1b1a4cc360.tar.gz
linux-stable-e0fdace10e75dac67d906213b780ff1b1a4cc360.tar.bz2
linux-stable-e0fdace10e75dac67d906213b780ff1b1a4cc360.zip
debug_locks: set oops_in_progress if we will log messages.
Otherwise lock debugging messages on runqueue locks can deadlock the system due to the wakeups performed by printk(). Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--lib/debug_locks.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/debug_locks.c b/lib/debug_locks.c
index 0ef01d14727c..0218b4693dd8 100644
--- a/lib/debug_locks.c
+++ b/lib/debug_locks.c
@@ -8,6 +8,7 @@
*
* Copyright (C) 2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
*/
+#include <linux/kernel.h>
#include <linux/rwsem.h>
#include <linux/mutex.h>
#include <linux/module.h>
@@ -37,6 +38,7 @@ int debug_locks_off(void)
{
if (xchg(&debug_locks, 0)) {
if (!debug_locks_silent) {
+ oops_in_progress = 1;
console_verbose();
return 1;
}