Skip to content

Commit

Permalink
lockdep, bug: Exclude TAINT_FIRMWARE_WORKAROUND from disabling lockdep
Browse files Browse the repository at this point in the history
It's unlikely that TAINT_FIRMWARE_WORKAROUND causes false
lockdep messages, so do not disable lockdep in that case.
We still want to keep lockdep disabled in the
TAINT_OOT_MODULE case:

  - bin-only modules can cause various instabilities in
    their and in unrelated kernel code

  - they are impossible to debug for kernel developers

  - they also typically do not have the copyright license
    permission to link to the GPL-ed lockdep code.

Suggested-by: Ben Hutchings <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
  • Loading branch information
Peter Zijlstra authored and Ingo Molnar committed Dec 6, 2011
1 parent 7119a34 commit df754e6
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions kernel/panic.c
Original file line number Diff line number Diff line change
Expand Up @@ -240,8 +240,16 @@ void add_taint(unsigned flag)
* 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 lock debugging due to kernel taint\n");
switch (flag) {
case TAINT_CRAP:
case TAINT_WARN:
case TAINT_FIRMWARE_WORKAROUND:
break;

default:
if (__debug_locks_off())
printk(KERN_WARNING "Disabling lock debugging due to kernel taint\n");
}

set_bit(flag, &tainted_mask);
}
Expand Down

0 comments on commit df754e6

Please sign in to comment.