X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fenable_events.c;h=48fa614bdc10750a7a2d9ae3639fdbfa741bbf6f;hb=1f0a845dc223e765b4f42fd5064ff1da6a0c203e;hp=62f99a1fcfc760e659a3ab1c3a0e775fc79dccec;hpb=dcabc1905756b2999886313ec33705f7571a3fb9;p=lttng-tools.git diff --git a/src/bin/lttng/commands/enable_events.c b/src/bin/lttng/commands/enable_events.c index 62f99a1fc..48fa614bd 100644 --- a/src/bin/lttng/commands/enable_events.c +++ b/src/bin/lttng/commands/enable_events.c @@ -468,7 +468,7 @@ static int parse_userspace_probe_opts(struct lttng_event *ev, char *opt) break; default: ret = CMD_ERROR; - goto end_string; + goto end_free_path; } switch (ev->type) { @@ -965,6 +965,30 @@ static int enable_events(char *session_name) } } + /* + * Adding a filter to a probe, function or userspace-probe would be + * denied by the kernel tracer as it's not supported at the moment. We + * do an early check here to warn the user. + */ + if (opt_filter && opt_kernel) { + switch (opt_event_type) { + case LTTNG_EVENT_ALL: + case LTTNG_EVENT_TRACEPOINT: + case LTTNG_EVENT_SYSCALL: + break; + case LTTNG_EVENT_PROBE: + case LTTNG_EVENT_USERSPACE_PROBE: + case LTTNG_EVENT_FUNCTION: + ERR("Filter expressions are not supported for %s events", + get_event_type_str(opt_event_type)); + ret = CMD_ERROR; + goto error; + default: + ret = CMD_UNDEFINED; + goto error; + } + } + channel_name = opt_channel_name; handle = lttng_create_handle(session_name, &dom);