aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/panic.c
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2009-04-10 21:17:18 -0400
committerIngo Molnar <mingo@elte.hu>2009-04-12 10:10:52 -0400
commit574bbe782057fdf0490dc7dec906a2dc26363e20 (patch)
treeb322a752f4feb603fe2b2669fad682a79e7479c3 /kernel/panic.c
parent9eeba6138cefc0435695463ddadb0d95e0a6bcd2 (diff)
lockdep: continue lock debugging despite some taints
Impact: broaden lockdep checks 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 those who experience a warning but are focused on another things that require lockdep. The v2 of this patch simply don't disable anymore lockdep in case of TAINT_CRAP and TAINT_WARN events. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: LTP <ltp-list@lists.sourceforge.net> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Greg KH <gregkh@suse.de> LKML-Reference: <1239412638-6739-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/panic.c')
-rw-r--r--kernel/panic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/panic.c b/kernel/panic.c
index 940ca14f6dbf..934fb377f4b3 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -217,8 +217,10 @@ void add_taint(unsigned flag)
217 * Can't trust the integrity of the kernel anymore. 217 * Can't trust the integrity of the kernel anymore.
218 * We don't call directly debug_locks_off() because the issue 218 * We don't call directly debug_locks_off() because the issue
219 * is not necessarily serious enough to set oops_in_progress to 1 219 * is not necessarily serious enough to set oops_in_progress to 1
220 * Also we want to keep up lockdep for staging development and
221 * post-warning case.
220 */ 222 */
221 if (__debug_locks_off()) 223 if (flag != TAINT_CRAP && flag != TAINT_WARN && __debug_locks_off())
222 printk(KERN_WARNING "Disabling lockdep due to kernel taint\n"); 224 printk(KERN_WARNING "Disabling lockdep due to kernel taint\n");
223 225
224 set_bit(flag, &tainted_mask); 226 set_bit(flag, &tainted_mask);