Re: [PATCH 2/2] lockdep: choose to continue lock debugging despite taint

Ingo Molnar
2009-04-10T12:21:48Z

* Frederic Weisbecker <fweisbec@gmail.com> wrote:

> 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.

Good point. Not having lockdep coverage for drivers/staging/ just
prolongs their transition - not good.

But instead of this:

> 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

I'd suggest to not do the debug_locks_off() call if TAINT_CRAP. I.e.
something like:

if (!(flag & TAINT_CRAP) && debug_locks_off())
printk(...);

will do the trick.

Ingo