summaryrefslogtreecommitdiff
path: root/kernel/panic.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-04-17 16:18:22 +0200
committerIngo Molnar <mingo@elte.hu>2009-04-17 16:18:28 +0200
commit5043124e660fcc3ddefe4239ddfa017bf13f5081 (patch)
tree06875cdb942afe460dbac33acf3e8223c805a35d /kernel/panic.c
parent77857dc07247ed5fa700a197c96ef842d8dbebdf (diff)
parent9f76208c33984ab777eace5d07a4e36e88703e02 (diff)
Merge branch 'linus' into x86/apic
Merge reason: new intr-remap patches depend on the s2ram iommu fixes from upstream Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/panic.c')
-rw-r--r--kernel/panic.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/kernel/panic.c b/kernel/panic.c
index 3fd8c5bf8b39..934fb377f4b3 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -213,8 +213,16 @@ unsigned long get_taint(void)
void add_taint(unsigned flag)
{
- /* can't trust the integrity of the kernel anymore: */
- debug_locks = 0;
+ /*
+ * Can't trust the integrity of the kernel anymore.
+ * We don't call directly debug_locks_off() because the issue
+ * is not necessarily serious enough to set oops_in_progress to 1
+ * Also we want to keep up lockdep for staging development and
+ * post-warning case.
+ */
+ if (flag != TAINT_CRAP && flag != TAINT_WARN && __debug_locks_off())
+ printk(KERN_WARNING "Disabling lockdep due to kernel taint\n");
+
set_bit(flag, &tainted_mask);
}
EXPORT_SYMBOL(add_taint);