Re: [PATCH] module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree

Rusty Russell
2011-10-27T01:44:01Z

On Wed, 26 Oct 2011 09:08:34 -0400, Nick Bowler <nbowler@elliptictech.com> wrote:
> On 2011-10-25 22:54 +0200, Greg KH wrote:
> > On Tue, Oct 25, 2011 at 04:17:24PM -0400, Dave Jones wrote:
> > > On Tue, Oct 25, 2011 at 10:04:55PM +0200, Greg Kroah-Hartman wrote:
> > > > On Tue, Oct 25, 2011 at 12:51:42PM -0400, Nick Bowler wrote:
> > > > > This is not the case: lockdep works fine with staging modules.
> > > >
> > > > Yes, that was fixed a few kernel versions ago.
> > > >
> > > > Now you might want to update that fix for the TAINT_OOT_MODULE flag as
> > > > well, if you feel it is needed.
> > >
> > > I'm assuming you mean this patch ?
> > >
> > > commit 7816c45bf13255157c00fb8aca86cb64d825e878
> > > Author: Roland Vossen <rvossen@broadcom.com>
> > > Date: Thu Apr 7 11:20:58 2011 +0200
> > >
> > > modules: Enabled dynamic debugging for staging modules
> >
> > Hm, this is the patch I was thinking about yes. But as you point out:
> [...]
> > Perhaps the lockdep thing is totally different. I don't know about that
> > check.
>
> Lockdep is disabled (for the whole system) by add_taint itself. The
> relevant commit that fixes TAINT_CRAP appears to be this one (circa
> 2.6.30):
>
> commit 574bbe782057fdf0490dc7dec906a2dc26363e20
> Author: Frederic Weisbecker <fweisbec@gmail.com>
> Date: Sat Apr 11 03:17:18 2009 +0200
>
> lockdep: continue lock debugging despite some taints
>
> I didn't know about the dynamic debug problem. Is there more breakage
> that we haven't found yet? Remind me why we're trying to cripple out
> of tree module users?

Gah, people are overloading taint.

It doesn't mean "don't do stuff", it means "note the taint when
something goes wrong".

I think we need a "taint_string()" function, and instead of lockdep
disabling itself it should note the taint string in its reports.
Similarly for anything else (oops already does this).

Dynamic debugging should just crash like anything else if they force a
module load and get it wrong: it's the least of their problems.

If noone hugely objects, I'll create a patch series...

Thanks,
Rusty.