aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorSteven Rostedt <rostedt@goodmis.org>2024-12-19 15:12:01 -0500
committerSteven Rostedt (Google) <rostedt@goodmis.org>2024-12-26 10:38:36 -0500
commitcad1d5bd2cb9921189749b5d796026c768f56236 (patch)
treeecfd95aff79968473f0209fdc58f615053cbc2c3
parenttracing: Return -EINVAL if a boot tracer tries to enable the mmiotracer at boot (diff)
downloadwireguard-linux-cad1d5bd2cb9921189749b5d796026c768f56236.tar.xz
wireguard-linux-cad1d5bd2cb9921189749b5d796026c768f56236.zip
tracing: Have event_enable_write() just return error on error
The event_enable_write() function is inconsistent in how it returns errors. Sometimes it updates the ppos parameter and sometimes it doesn't. Simplify the code to just return an error or the count if there isn't an error. Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/20241219201345.025284170@goodmis.org Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
-rw-r--r--kernel/trace/trace_events.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 1545cc8b49d0..f4eff49faef6 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -1549,18 +1549,18 @@ event_enable_write(struct file *filp, const char __user *ubuf, size_t cnt,
switch (val) {
case 0:
case 1:
- ret = -ENODEV;
mutex_lock(&event_mutex);
file = event_file_file(filp);
if (likely(file)) {
ret = tracing_update_buffers(file->tr);
- if (ret < 0) {
- mutex_unlock(&event_mutex);
- return ret;
- }
- ret = ftrace_event_enable_disable(file, val);
+ if (ret >= 0)
+ ret = ftrace_event_enable_disable(file, val);
+ } else {
+ ret = -ENODEV;
}
mutex_unlock(&event_mutex);
+ if (ret < 0)
+ return ret;
break;
default:
@@ -1569,7 +1569,7 @@ event_enable_write(struct file *filp, const char __user *ubuf, size_t cnt,
*ppos += cnt;
- return ret ? ret : cnt;
+ return cnt;
}
static ssize_t