Thread (22 messages) 22 messages, 3 authors, 2020-01-29

Re: [PATCH v3 02/12] tracing: Add trace_get/put_event_file()

From: Tom Zanussi <zanussi@kernel.org>
Date: 2020-01-29 19:05:10
Also in: lkml

On Wed, 2020-01-29 at 12:52 -0500, Steven Rostedt wrote:
On Fri, 24 Jan 2020 16:56:13 -0600
Tom Zanussi [off-list ref] wrote:
quoted
+/**
+ * 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.
OK, thanks,

Tom
-- Steve
quoted
+}
+EXPORT_SYMBOL_GPL(trace_put_event_file);
+
 #ifdef CONFIG_DYNAMIC_FTRACE
 
 /* Avoid typos */
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help