Re: [RFA][PATCH 5/5] tracepoint: Warn and notify if tracepoints are not loaded due to module taint

From: Mathieu Desnoyers
Date: Thu Feb 27 2014 - 11:33:56 EST


----- Original Message -----
> From: "Steven Rostedt" <rostedt@xxxxxxxxxxx>
> To: linux-kernel@xxxxxxxxxxxxxxx
> Cc: "Ingo Molnar" <mingo@xxxxxxxxxx>, "Andrew Morton" <akpm@xxxxxxxxxxxxxxxxxxxx>, "Peter Zijlstra"
> <peterz@xxxxxxxxxxxxx>, "Frederic Weisbecker" <fweisbec@xxxxxxxxx>, "Mathieu Desnoyers"
> <mathieu.desnoyers@xxxxxxxxxxxx>, stable@xxxxxxxxxxxxxxx, "Mathieu Desnoyers" <mathieu.desnoyers@xxxxxxxxxx>
> Sent: Thursday, February 27, 2014 10:46:21 AM
> Subject: [RFA][PATCH 5/5] tracepoint: Warn and notify if tracepoints are not loaded due to module taint
>
> [ Request for Ack ]
>
> From: "Steven Rostedt (Red Hat)" <rostedt@xxxxxxxxxxx>
>
> If a module is loaded that is tainted with anything but OOT or CRAP, then
> it will not create the tracepoint infrastructure for the module. The user
> needs
> to be warned when this happens instead of exiting silently.
>
> Fixes: 97e1c18e8d17 "tracing: Kernel Tracepoints"
> Cc: stable@xxxxxxxxxxxxxxx
> Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
> ---
> kernel/tracepoint.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
> index 63630ae..a65af20 100644
> --- a/kernel/tracepoint.c
> +++ b/kernel/tracepoint.c
> @@ -649,8 +649,12 @@ 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 (trace_module_has_bad_taint(mod))
> + if (trace_module_has_bad_taint(mod)) {
> + pr_err("Module '%s' is tainted, disabling tracepoints\n",

Hrm, I wonder if this message could confuse users into thinking that because
of this error, tracepoints are disabled across the entire kernel (rather than
within this module).

I'd recommend the following message instead:

pr_err("Module '%s' is tainted, ignoring its tracepoints\n",

Thoughts ?

Thanks,

Mathieu

> + mod->name);
> return 0;
> + }
> +
> mutex_lock(&tracepoints_mutex);
> tp_mod = kmalloc(sizeof(struct tp_module), GFP_KERNEL);
> if (!tp_mod) {
> --
> 1.8.5.3
>
>
>

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
--
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/