mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-07-25 21:37:45 +00:00
189ce92b4c
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
51 lines
1.9 KiB
Diff
51 lines
1.9 KiB
Diff
From 1c99223cf33c02c8f79d74bda8a0f4352bd4d7f6 Mon Sep 17 00:00:00 2001
|
|
From: Steven Rostedt <srostedt@redhat.com>
|
|
Date: Fri, 13 Jan 2012 21:40:59 -0500
|
|
Subject: [PATCH 112/129] tracepoints/module: Fix disabling tracepoints with
|
|
taint CRAP or OOT
|
|
|
|
commit c10076c4304083af15a41f6bc5e657e781c1f9a6 upstream.
|
|
|
|
Tracepoints are disabled for tainted modules, which is usually because the
|
|
module is either proprietary or was forced, and we don't want either of them
|
|
using kernel tracepoints.
|
|
|
|
But, a module can also be tainted by being in the staging directory or
|
|
compiled out of tree. Either is fine for use with tracepoints, no need
|
|
to punish them. I found this out when I noticed that my sample trace event
|
|
module, when done out of tree, stopped working.
|
|
|
|
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
|
|
Cc: Ben Hutchings <ben@decadent.org.uk>
|
|
Cc: Dave Jones <davej@redhat.com>
|
|
Cc: Greg Kroah-Hartman <gregkh@suse.de>
|
|
Cc: Rusty Russell <rusty@rustcorp.com.au>
|
|
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
---
|
|
kernel/tracepoint.c | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
|
|
index db110b8..f1539de 100644
|
|
--- a/kernel/tracepoint.c
|
|
+++ b/kernel/tracepoint.c
|
|
@@ -634,10 +634,11 @@ static int tracepoint_module_coming(struct module *mod)
|
|
int ret = 0;
|
|
|
|
/*
|
|
- * We skip modules that tain the kernel, especially those with different
|
|
- * module header (for forced load), to make sure we don't cause a crash.
|
|
+ * We skip modules that taint the kernel, especially those with different
|
|
+ * 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)
|
|
+ if (mod->taints & ~((1 << TAINT_OOT_MODULE) | (1 << TAINT_CRAP)))
|
|
return 0;
|
|
mutex_lock(&tracepoints_mutex);
|
|
tp_mod = kmalloc(sizeof(struct tp_module), GFP_KERNEL);
|
|
--
|
|
1.7.9.5
|
|
|