Return -ENOENT error if there is no target synthetic event.
This notices an operation failure to user as below;

  # echo 'wakeup_latency u64 lat; pid_t pid;' > synthetic_events
  # echo '!wakeup' >> synthetic_events
  sh: write error: No such file or directory

Fixes: 4b147936fa50 ('tracing: Add support for 'synthetic' events')
Signed-off-by: Masami Hiramatsu <[email protected]>
Cc: [email protected]
Cc: Tom Zanussi <[email protected]>
Cc: Steven Rostedt <[email protected]>
---
 kernel/trace/trace_events_hist.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
index d239004aaf29..eb908ef2ecec 100644
--- a/kernel/trace/trace_events_hist.c
+++ b/kernel/trace/trace_events_hist.c
@@ -1063,8 +1063,10 @@ static int create_synth_event(int argc, char **argv)
                event = NULL;
                ret = -EEXIST;
                goto out;
-       } else if (delete_event)
+       } else if (delete_event) {
+               ret = -ENOENT;
                goto out;
+       }
 
        if (argc < 2) {
                ret = -EINVAL;

Reply via email to