tracing: Do not create "enable" or "filter" files for ftrace event subsystem
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 5 Feb 2021 23:04:39 +0000 (18:04 -0500)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 5 Feb 2021 23:04:39 +0000 (18:04 -0500)
The ftrace event subsystem is only created for showing the format files of
events created by the ftrace tracers, and are not trace events. The ftrace
subsystem currently has both the "enable" and "filter" files that in other
subsystems are used to enable/disable all events within the subsystem or set
a filter for all the subsystem events.

As ftrace subsystem events do not use enable or filter operations, these
files are useless in the ftrace subsystem. Remove them.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace_events.c

index 20ccce3e4ffb963f56dd7cd8f1d5af3ac2266938..c1e90611fe22a3f71fabf8664b702b826e98ab75 100644 (file)
@@ -2097,16 +2097,20 @@ event_subsystem_dir(struct trace_array *tr, const char *name,
        dir->subsystem = system;
        file->system = dir;
 
-       entry = tracefs_create_file("filter", 0644, dir->entry, dir,
-                                   &ftrace_subsystem_filter_fops);
-       if (!entry) {
-               kfree(system->filter);
-               system->filter = NULL;
-               pr_warn("Could not create tracefs '%s/filter' entry\n", name);
-       }
+       /* the ftrace system is special, do not create enable or filter files */
+       if (strcmp(name, "ftrace") != 0) {
+
+               entry = tracefs_create_file("filter", 0644, dir->entry, dir,
+                                           &ftrace_subsystem_filter_fops);
+               if (!entry) {
+                       kfree(system->filter);
+                       system->filter = NULL;
+                       pr_warn("Could not create tracefs '%s/filter' entry\n", name);
+               }
 
-       trace_create_file("enable", 0644, dir->entry, dir,
-                         &ftrace_system_enable_fops);
+               trace_create_file("enable", 0644, dir->entry, dir,
+                                 &ftrace_system_enable_fops);
+       }
 
        list_add(&dir->list, &tr->systems);