Re: [PATCH v2 1/9] tracing/boot: Fix a hist trigger dependency for boot time tracing

From: Steven Rostedt
Date: Fri Aug 06 2021 - 21:47:21 EST


On Fri, 6 Aug 2021 01:25:29 +0900
Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> Fixes a build error when CONFIG_HIST_TRIGGERS=n with boot-time
> tracing. Since the trigger_process_regex() is defined only
> when CONFIG_HIST_TRIGGERS=y, if it is disabled, the 'actions'
> event option also must be disabled.
>
> Fixes: 81a59555ff15 ("tracing/boot: Add per-event settings")
> Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> ---
> 0 files changed
>
> diff --git a/kernel/trace/trace_boot.c b/kernel/trace/trace_boot.c
> index 94ef2d099e32..e6dc9269ad75 100644
> --- a/kernel/trace/trace_boot.c
> +++ b/kernel/trace/trace_boot.c
> @@ -204,13 +204,14 @@ trace_boot_init_one_event(struct trace_array *tr, struct xbc_node *gnode,
> else if (apply_event_filter(file, buf) < 0)
> pr_err("Failed to apply filter: %s\n", buf);
> }
> -
> +#ifdef CONFIG_HIST_TRIGGERS

Hi Masamai,

Can we instead define trigger_process_regex() in trace.h to be:

static inline int trigger_process_regex(struct trace_event_file *file, char *buff)
{
return -1;
}

When this config is not set?

This makes the code a bit cleaner, and you get the "Failed to apply an
action" error as well.

-- Steve



> xbc_node_for_each_array_value(enode, "actions", anode, p) {
> if (strlcpy(buf, p, ARRAY_SIZE(buf)) >= ARRAY_SIZE(buf))
> pr_err("action string is too long: %s\n", p);
> else if (trigger_process_regex(file, buf) < 0)
> pr_err("Failed to apply an action: %s\n", buf);
> }
> +#endif
>
> if (xbc_node_find_value(enode, "enable", NULL)) {
> if (trace_event_enable_disable(file, 1, 0) < 0)