lkml.org 
[lkml]   [2014]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH] Fix: module signature vs tracepoints: add new TAINT_UNSIGNED_MODULE
On Wed, 26 Feb 2014 13:23:56 +1030
Rusty Russell <rusty@rustcorp.com.au> wrote:


> > The one that I replied to. I can't pull the module patch unless I get
> > an ack from Rusty.
>
> Ah, I applied it in my tree. Happy for you to take it though; here's
> the variant with an Acked-by from me instead of Signed-off-by if you
> want it:
>
> ===
> From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> Subject: Fix: module signature vs tracepoints: add new TAINT_UNSIGNED_MODULE
>
> Users have reported being unable to trace non-signed modules loaded
> within a kernel supporting module signature.
>
> This is caused by tracepoint.c:tracepoint_module_coming() refusing to
> take into account tracepoints sitting within force-loaded modules
> (TAINT_FORCED_MODULE). The reason for this check, in the first place, is
> that a force-loaded module may have a struct module incompatible with
> the layout expected by the kernel, and can thus cause a kernel crash
> upon forced load of that module on a kernel with CONFIG_TRACEPOINTS=y.
>
> Tracepoints, however, specifically accept TAINT_OOT_MODULE and
> TAINT_CRAP, since those modules do not lead to the "very likely system
> crash" issue cited above for force-loaded modules.
>
> With kernels having CONFIG_MODULE_SIG=y (signed modules), a non-signed
> module is tainted re-using the TAINT_FORCED_MODULE taint flag.
> Unfortunately, this means that Tracepoints treat that module as a
> force-loaded module, and thus silently refuse to consider any tracepoint
> within this module.
>
> Since an unsigned module does not fit within the "very likely system
> crash" category of tainting, add a new TAINT_UNSIGNED_MODULE taint flag
> to specifically address this taint behavior, and accept those modules
> within Tracepoints. This flag is assigned to the letter 'N', since all
> the more obvious ones (e.g. 'S') were already taken.
>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> Nacked-by: Ingo Molnar <mingo@kernel.org>
> CC: Steven Rostedt <rostedt@goodmis.org>
> CC: Thomas Gleixner <tglx@linutronix.de>
> CC: David Howells <dhowells@redhat.com>
> CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Acked-by: Rusty Russell <rusty@rustcorp.com.au>

There's another version of this as Mathieu pointed out. You can take
it. I hate to be the committer of a patch with Ingo's Nack ;-)

-- Steve


\
 
 \ /
  Last update: 2014-02-27 00:41    [W:1.742 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site