diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-13 14:30:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-13 14:30:26 -0400 |
commit | bf20753c0cdf842c5c65af688c2cefd1eafa7630 (patch) | |
tree | 8431fb73349b928d93ce02e24c1c993562fa1f95 /kernel | |
parent | 01599fca6758d2cd133e78f87426fc851c9ea725 (diff) | |
parent | 574bbe782057fdf0490dc7dec906a2dc26363e20 (diff) |
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
lockdep: continue lock debugging despite some taints
lockdep: warn about lockdep disabling after kernel taint
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/panic.c | 12 |
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) | |||
213 | 213 | ||
214 | void add_taint(unsigned flag) | 214 | void add_taint(unsigned flag) |
215 | { | 215 | { |
216 | /* can't trust the integrity of the kernel anymore: */ | 216 | /* |
217 | debug_locks = 0; | 217 | * Can't trust the integrity of the kernel anymore. |
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 | ||
220 | * Also we want to keep up lockdep for staging development and | ||
221 | * post-warning case. | ||
222 | */ | ||
223 | if (flag != TAINT_CRAP && flag != TAINT_WARN && __debug_locks_off()) | ||
224 | printk(KERN_WARNING "Disabling lockdep due to kernel taint\n"); | ||
225 | |||
218 | set_bit(flag, &tainted_mask); | 226 | set_bit(flag, &tainted_mask); |
219 | } | 227 | } |
220 | EXPORT_SYMBOL(add_taint); | 228 | EXPORT_SYMBOL(add_taint); |