Lockdep is disabled after any kernel taints. This might be convenient to ignore bad locking issues which sources come from outside the kernel tree. Nevertheless, it might be a frustrating experience for the staging developers or anyone who might develop a kernel that happens to be tainted.
Just provide an option to let one choose to continue lock-debugging after any taint. Signed-off-by: Frederic Weisbecker <[email protected]> diff --git a/kernel/panic.c b/kernel/panic.c index 9e7420a..eadc0b5 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -213,6 +213,7 @@ unsigned long get_taint(void) void add_taint(unsigned flag) { +#ifndef CONFIG_LOCKDEP_IGNORE_TAINT /* * Can't trust the integrity of the kernel anymore. * We don't call directly debug_locks_off() because the issue @@ -220,6 +221,7 @@ void add_taint(unsigned flag) */ if (xchg(&debug_locks, 0)) printk(KERN_WARNING "Disabling lockdep due to kernel taint\n"); +#endif set_bit(flag, &tainted_mask); } diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index c6e854f..599888b 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -436,6 +436,20 @@ config PROVE_LOCKING For more details, see Documentation/lockdep-design.txt. +config LOCKDEP_IGNORE_TAINT + bool "Lock debugging: continue despite taints" + depends on LOCKDEP + default n + help + If your kernel becomes tainted because of a warning, + a staging or proprietary module loaded, etc... lockdep + will be disabled by default. Select this option if you + want lockdep to continue running despite a taint. If + you are working on a staging driver, experiencing + warnings but focusing on something else, or whatever + reason that makes you developing on a kernel that is + tainted, you might want to say Y here. + config LOCKDEP bool depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT -- 1.6.1 ------------------------------------------------------------------------------ This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
