Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff305ded authored by Steven Rostedt (Red Hat)'s avatar Steven Rostedt (Red Hat) Committed by Steven Rostedt
Browse files

tracing: Return error if register_ftrace_function_probe() fails for event_enable_func()



register_ftrace_function_probe() returns the number of functions
it registered, which can be zero, it can also return a negative number
if something went wrong. But event_enable_func() only checks for
the case that it didn't register anything, it needs to also check
for the case that something went wrong and return that error code
as well.

Added some comments about the code as well, to make it more
understandable.

Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent a5b85bd1
Loading
Loading
Loading
Loading
+9 −2
Original line number Original line Diff line number Diff line
@@ -2061,10 +2061,17 @@ event_enable_func(struct ftrace_hash *hash,
	if (ret < 0)
	if (ret < 0)
		goto out_put;
		goto out_put;
	ret = register_ftrace_function_probe(glob, ops, data);
	ret = register_ftrace_function_probe(glob, ops, data);
	/*
	 * The above returns on success the # of functions enabled,
	 * but if it didn't find any functions it returns zero.
	 * Consider no functions a failure too.
	 */
	if (!ret) {
	if (!ret) {
		ret = -ENOENT;
		ret = -ENOENT;
		goto out_disable;
		goto out_disable;
	} else
	} else if (ret < 0)
		goto out_disable;
	/* Just return zero, not the number of enabled functions */
	ret = 0;
	ret = 0;
 out:
 out:
	mutex_unlock(&event_mutex);
	mutex_unlock(&event_mutex);