When a trigger is configured on an event with trace-cmd "-R" option there is a check in create_event() if the trigger file exist, using the stat() call. It returns 0 if the file exists or -1 in case of an error. The check of the stat()'s return code is for positive number, which is always false and errors are never detected. Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@xxxxxxxxx> --- tracecmd/trace-record.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c index c8c853f8..ec3bcae9 100644 --- a/tracecmd/trace-record.c +++ b/tracecmd/trace-record.c @@ -2707,7 +2707,7 @@ create_event(struct buffer_instance *instance, char *path, struct event_list *ol if (ret < 0) die("Failed to allocate trigger path for %s", path); ret = stat(p, &st); - if (ret > 0) + if (ret < 0) die("trigger specified but not supported by this kernel"); event->trigger_file = p; } -- 2.25.1