[ 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
be a big warning when this happens instead of exiting silently.

Fixes: 97e1c18e8d17 "tracing: Kernel Tracepoints"
Cc: sta...@vger.kernel.org
Cc: Mathieu Desnoyers <mathieu.desnoy...@polymtl.ca>
Signed-off-by: Steven Rostedt <rost...@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"))
                return 0;
        mutex_lock(&tracepoints_mutex);
        tp_mod = kmalloc(sizeof(struct tp_module), GFP_KERNEL);
-- 
1.8.5.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to