lkml.org 
[lkml]   [2014]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [RFC][PATCH] tracing: Warn and notify if tracepoints are not loaded due to module taint
----- Original Message -----
> From: "Steven Rostedt" <rostedt@goodmis.org>
> To: "LKML" <linux-kernel@vger.kernel.org>
> Cc: "Ingo Molnar" <mingo@kernel.org>, "Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>, "Rusty Russell"
> <rusty@rustcorp.com.au>, "Frederic Weisbecker" <fweisbec@gmail.com>, "Andrew Morton" <akpm@linux-foundation.org>,
> "Peter Zijlstra" <peterz@infradead.org>
> Sent: Tuesday, February 25, 2014 7:15:05 PM
> Subject: [RFC][PATCH] tracing: Warn and notify if tracepoints are not loaded due to module taint
>
> [ Posting this as an RFC, but I plan on pushing it as soon as I finish
> testing it ]
>
> If a module is loaded that is tainted with anything but OOT or CRAP, then
> it will not create the traceoint infrastructure for the module. There should

traceoint -> tracepoint

> be a big warning when this happens instead of exiting silently.
>
> Fixes: 97e1c18e8d17 "tracing: Kernel Tracepoints"
> Cc: stable@vger.kernel.org
> Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
> ---
> kernel/tracepoint.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
> index 29f2654..413bc06 100644
> --- a/kernel/tracepoint.c
> +++ b/kernel/tracepoint.c
> @@ -641,7 +641,8 @@ static int tracepoint_module_coming(struct module *mod)
> * module headers (for forced load), to make sure we don't cause a crash.
> * Staging and out-of-tree GPL modules are fine.
> */
> - 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"))

Perhaps ever clearer with:

"Module \"%s\" is tainted, disabling tracepoints", mod->name

?

Other than that, looks good to me!

Thanks,

Mathieu
> return 0;
> mutex_lock(&tracepoints_mutex);
> tp_mod = kmalloc(sizeof(struct tp_module), GFP_KERNEL);
> --
> 1.8.5.3
>
>

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com


\
 
 \ /
  Last update: 2014-02-26 02:21    [W:0.058 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site