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

Frederic Weisbecker
2009-04-10T13:39:06Z

On Fri, Apr 10, 2009 at 02:15:15PM +0200, Ingo Molnar wrote:
>
> * 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

Ok, but this is not only about staging. It's also about TAINT_WARN.
Just imagine that you report a warning to a maintainer, and while
you are waiting for it to be fixed, you can't use lockdep for your
own needs.

Hm?

Frederic.