[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1239312460-13396-2-git-send-email-fweisbec@gmail.com>
Date: Thu, 9 Apr 2009 23:27:40 +0200
From: Frederic Weisbecker <fweisbec@...il.com>
To: Ingo Molnar <mingo@...e.hu>
Cc: LKML <linux-kernel@...r.kernel.org>,
Frederic Weisbecker <fweisbec@...il.com>,
LTP <ltp-list@...ts.sourceforge.net>,
Peter Zijlstra <peterz@...radead.org>
Subject: [PATCH 2/2] lockdep: choose to continue lock debugging despite taint
Lockdep is disabled after any kernel taints. This might be convenient
to ignore bad locking issues which sources come from outside the kernel
tree. Nevertheless, it might be a frustrating experience for the
staging developers or anyone who might develop a kernel that happens
to be tainted.
Just provide an option to let one choose to continue lock-debugging
after any taint.
Signed-off-by: Frederic Weisbecker <fweisbec@...il.com>
diff --git a/kernel/panic.c b/kernel/panic.c
index 9e7420a..eadc0b5 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -213,6 +213,7 @@ unsigned long get_taint(void)
void add_taint(unsigned flag)
{
+#ifndef CONFIG_LOCKDEP_IGNORE_TAINT
/*
* Can't trust the integrity of the kernel anymore.
* We don't call directly debug_locks_off() because the issue
@@ -220,6 +221,7 @@ void add_taint(unsigned flag)
*/
if (xchg(&debug_locks, 0))
printk(KERN_WARNING "Disabling lockdep due to kernel taint\n");
+#endif
set_bit(flag, &tainted_mask);
}
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index c6e854f..599888b 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -436,6 +436,20 @@ config PROVE_LOCKING
For more details, see Documentation/lockdep-design.txt.
+config LOCKDEP_IGNORE_TAINT
+ bool "Lock debugging: continue despite taints"
+ depends on LOCKDEP
+ default n
+ help
+ If your kernel becomes tainted because of a warning,
+ a staging or proprietary module loaded, etc... lockdep
+ will be disabled by default. Select this option if you
+ want lockdep to continue running despite a taint. If
+ you are working on a staging driver, experiencing
+ warnings but focusing on something else, or whatever
+ reason that makes you developing on a kernel that is
+ tainted, you might want to say Y here.
+
config LOCKDEP
bool
depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
--
1.6.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists