|
@@ -213,8 +213,14 @@ unsigned long get_taint(void)
|
|
|
|
|
|
void add_taint(unsigned flag)
|
|
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
|
|
|
|
+ */
|
|
|
|
+ if (__debug_locks_off())
|
|
|
|
+ printk(KERN_WARNING "Disabling lockdep due to kernel taint\n");
|
|
|
|
+
|
|
set_bit(flag, &tainted_mask);
|
|
set_bit(flag, &tainted_mask);
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(add_taint);
|
|
EXPORT_SYMBOL(add_taint);
|