Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
[pandora-kernel.git] / kernel / panic.c
index 3fd8c5b..934fb37 100644 (file)
@@ -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);