Messages in this thread | | | Date | Wed, 29 Jan 2020 12:52:55 -0500 | From | Steven Rostedt <> | Subject | Re: [PATCH v3 02/12] tracing: Add trace_get/put_event_file() |
| |
On Fri, 24 Jan 2020 16:56:13 -0600 Tom Zanussi <zanussi@kernel.org> wrote:
> +/** > + * trace_put_event_file - Release a file from trace_get_event_file() > + * @file: The trace event file > + * > + * If a file was retrieved using trace_get_event_file(), this should > + * be called when it's no longer needed. It will cancel the previous > + * trace_array_get() called by that function, and decrement the > + * event's module refcount. > + */ > +void trace_put_event_file(struct trace_event_file *file) > +{ > + trace_array_put(file->tr); > + > + mutex_lock(&event_mutex); > + module_put(file->event_call->mod); > + mutex_unlock(&event_mutex);
I believe the trace_array_put() needs to be at the end. Otherwise, I believe the file could be freed before the event_mutex is taken.
I'll swap it, as I'm trying to get this into the merge window.
-- Steve
> +} > +EXPORT_SYMBOL_GPL(trace_put_event_file); > + > #ifdef CONFIG_DYNAMIC_FTRACE > > /* Avoid typos */
| |