Re: [PATCH v6] tracing: Preserve repeated boot-time tracing parameters

From: Steven Rostedt

Date: Mon Mar 30 2026 - 12:37:00 EST


On Mon, 30 Mar 2026 10:43:22 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
> index 9928da636c9d..7754a8adb58a 100644
> --- a/kernel/trace/trace_events.c
> +++ b/kernel/trace/trace_events.c
> @@ -3677,20 +3677,24 @@ static struct boot_triggers {
> } bootup_triggers[MAX_BOOT_TRIGGERS];
>
> static char bootup_trigger_buf[COMMAND_LINE_SIZE];
> +static int boot_trigger_buf_len;
> static int nr_boot_triggers;
>
> static __init int setup_trace_triggers(char *str)
> {
> char *trigger;
> char *buf;
> + int len = boot_trigger_buf_len;
> int i;
>
> - strscpy(bootup_trigger_buf, str, COMMAND_LINE_SIZE);
> + strscpy(bootup_trigger_buf + len , str, COMMAND_LINE_SIZE - len);
> trace_set_ring_buffer_expanded(NULL);
> disable_tracing_selftest("running event triggers");
>
> - buf = bootup_trigger_buf;
> - for (i = 0; i < MAX_BOOT_TRIGGERS; i++) {
> + buf = bootup_trigger_buf + len;
> + boot_trigger_buf_len += strlen(buf);

The above needs to skip the '\0' too:

boot_trigger_buf_len += strlen(buf) + 1;


> +
> + for (i = nr_boot_triggers; i < MAX_BOOT_TRIGGERS; i++) {
> trigger = strsep(&buf, ",");
> if (!trigger)
> break;