mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [GIT PULL][PATCH] tracing: Don't display trigger file for events that can't be enabled
@ 2016-05-03 23:24 Steven Rostedt
  0 siblings, 0 replies; only message in thread
From: Steven Rostedt @ 2016-05-03 23:24 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: LKML, Ingo Molnar, Andrew Morton, Chunyu Hu


Linus,

Chunyu Hu noticed that if one writes into the trigger files within the
ftrace subsystem of events that it can cause an oops. This file is only
writable by root, but still is a bug that needs to be fixed.


Please pull the latest trace-fixes-v4.6-rc6 tree, which can be found at:


  git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
trace-fixes-v4.6-rc6

Tag SHA1: 125fdb6b0df754816c8afcdf7eecb85398253bdd
Head SHA1: 854145e0a8e9a05f7366d240e2f99d9c1ca6d6dd


Chunyu Hu (1):
      tracing: Don't display trigger file for events that can't be enabled

----
 kernel/trace/trace_events.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
---------------------------
commit 854145e0a8e9a05f7366d240e2f99d9c1ca6d6dd
Author: Chunyu Hu <chuhu@redhat.com>
Date:   Tue May 3 19:34:34 2016 +0800

    tracing: Don't display trigger file for events that can't be enabled
    
    Currently register functions for events will be called
    through the 'reg' field of event class directly without
    any check when seting up triggers.
    
    Triggers for events that don't support register through
    debug fs (events under events/ftrace are for trace-cmd to
    read event format, and most of them don't have a register
    function except events/ftrace/functionx) can't be enabled
    at all, and an oops will be hit when setting up trigger
    for those events, so just not creating them is an easy way
    to avoid the oops.
    
    Link: http://lkml.kernel.org/r/1462275274-3911-1-git-send-email-chuhu@redhat.com
    
    Cc: stable@vger.kernel.org # 3.14+
    Fixes: 85f2b08268c01 ("tracing: Add basic event trigger framework")
    Signed-off-by: Chunyu Hu <chuhu@redhat.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 05ddc0820771..6f965864cc02 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -2095,8 +2095,13 @@ event_create_dir(struct dentry *parent, struct trace_event_file *file)
 	trace_create_file("filter", 0644, file->dir, file,
 			  &ftrace_event_filter_fops);
 
-	trace_create_file("trigger", 0644, file->dir, file,
-			  &event_trigger_fops);
+	/*
+	 * Only event directories that can be enabled should have
+	 * triggers.
+	 */
+	if (!(call->flags & TRACE_EVENT_FL_IGNORE_ENABLE))
+		trace_create_file("trigger", 0644, file->dir, file,
+				  &event_trigger_fops);
 
 	trace_create_file("format", 0444, file->dir, call,
 			  &ftrace_event_format_fops);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-05-03 23:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-03 23:24 [GIT PULL][PATCH] tracing: Don't display trigger file for events that can't be enabled Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®