@@ -2286,6 +2286,7 @@ event_subsystem_dir(struct trace_array *tr, const char *name,
22862286{
22872287 struct event_subsystem * system , * iter ;
22882288 struct trace_subsystem_dir * dir ;
2289+ struct eventfs_file * ef ;
22892290 int res ;
22902291
22912292 /* First see if we did not already create this dir */
@@ -2318,13 +2319,14 @@ event_subsystem_dir(struct trace_array *tr, const char *name,
23182319 } else
23192320 __get_system (system );
23202321
2321- dir -> ef = eventfs_add_subsystem_dir (name , parent );
2322- if (IS_ERR (dir -> ef )) {
2322+ ef = eventfs_add_subsystem_dir (name , parent );
2323+ if (IS_ERR (ef )) {
23232324 pr_warn ("Failed to create system directory %s\n" , name );
23242325 __put_system (system );
23252326 goto out_free ;
23262327 }
23272328
2329+ dir -> ef = ef ;
23282330 dir -> tr = tr ;
23292331 dir -> ref_count = 1 ;
23302332 dir -> nr_events = 1 ;
@@ -2404,6 +2406,7 @@ event_create_dir(struct dentry *parent, struct trace_event_file *file)
24042406 struct trace_event_call * call = file -> event_call ;
24052407 struct eventfs_file * ef_subsystem = NULL ;
24062408 struct trace_array * tr = file -> tr ;
2409+ struct eventfs_file * ef ;
24072410 const char * name ;
24082411 int ret ;
24092412
@@ -2420,12 +2423,14 @@ event_create_dir(struct dentry *parent, struct trace_event_file *file)
24202423 return - ENOMEM ;
24212424
24222425 name = trace_event_name (call );
2423- file -> ef = eventfs_add_dir (name , ef_subsystem );
2424- if (IS_ERR (file -> ef )) {
2426+ ef = eventfs_add_dir (name , ef_subsystem );
2427+ if (IS_ERR (ef )) {
24252428 pr_warn ("Could not create tracefs '%s' directory\n" , name );
24262429 return -1 ;
24272430 }
24282431
2432+ file -> ef = ef ;
2433+
24292434 if (call -> class -> reg && !(call -> flags & TRACE_EVENT_FL_IGNORE_ENABLE ))
24302435 eventfs_add_file ("enable" , TRACE_MODE_WRITE , file -> ef , file ,
24312436 & ftrace_enable_fops );
0 commit comments