Re: [RFC][PATCH] tracing: Warn and notify if tracepoints are not loaded due to module taint

From: Peter Zijlstra
Date: Wed Feb 26 2014 - 03:59:46 EST


On Tue, Feb 25, 2014 at 07:49:26PM -0500, Steven Rostedt wrote:
> > > - if (mod->taints & ~((1 << TAINT_OOT_MODULE) | (1 << TAINT_CRAP)))
> > > + if (WARN_ONCE(mod->taints & ~((1 << TAINT_OOT_MODULE) | (1 << TAINT_CRAP)),
> > > + "Module is tainted, disabling tracepoints"))

> I originally had that with a simple WARN() instead of WARN_ONCE(), but
> if you have that config which makes all modules not have sigs correct,
> it spits out tens of these warnings and can cause more panic in users
> than it deserves. I then switched it to WARN_ONCE(), and then thought,
> that if it does it only once for the first module, it wont print the
> warning again for the other affected modules. That means it may confuse
> the user if they see a module had that warning, but the module they are
> trying to trace isn't working either.
>
> I then figured it would be good to remove the module name and just
> state a general "Module is tainted, disabling tracepoints" and if the
> user notices that the module isn't working, and then looks at their
> dmesg, they'll see this message and just assume it was the module that
> wasn't working.
>
> Make sense?

How about instead of a WARN, you use a normal KERN_ERR printk(). There's
no point to the entire WARN state dump, that's needlessly verbose.

When you have a normal error print you can have as many as are required
and put the mod name back in.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/