--- /dev/null
+From 854145e0a8e9a05f7366d240e2f99d9c1ca6d6dd Mon Sep 17 00:00:00 2001
+From: Chunyu Hu <chuhu@redhat.com>
+Date: Tue, 3 May 2016 19:34:34 +0800
+Subject: tracing: Don't display trigger file for events that can't be enabled
+
+From: Chunyu Hu <chuhu@redhat.com>
+
+commit 854145e0a8e9a05f7366d240e2f99d9c1ca6d6dd upstream.
+
+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
+
+Fixes: 85f2b08268c01 ("tracing: Add basic event trigger framework")
+Signed-off-by: Chunyu Hu <chuhu@redhat.com>
+Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/trace/trace_events.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+--- a/kernel/trace/trace_events.c
++++ b/kernel/trace/trace_events.c
+@@ -1546,8 +1546,13 @@ event_create_dir(struct dentry *parent,
+ 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);