From: Steven Rostedt <rostedt@goodmis.org>
To: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org
Subject: Re: [PATCH v6 2/4] tracing: Make the backup instance non-reusable
Date: Wed, 4 Feb 2026 21:17:21 -0500 [thread overview]
Message-ID: <20260204211721.74e501f0@robin> (raw)
In-Reply-To: <176991655479.4025429.105619035638065215.stgit@mhiramat.tok.corp.google.com>
On Sun, 1 Feb 2026 12:29:15 +0900
"Masami Hiramatsu (Google)" <mhiramat@kernel.org> wrote:
> From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
>
> Since there is no reason to reuse the backup instance, make it
> readonly (but erasable).
> Note that only backup instances are readonly, because
> other trace instances will be empty unless it is writable.
> Only backup instances have copy entries from the original.
>
> With this change, most of the trace control files are removed
> from the backup instance, including eventfs enable/filter etc.
>
> # find /sys/kernel/tracing/instances/backup/events/ | wc -l
> 4093
> # find /sys/kernel/tracing/instances/boot_map/events/ | wc -l
> 9573
>
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> ---
> Changes in v6:
> - Remove tracing_on file from readonly instances.
> - Remove unused writable_mode from tracing_init_tracefs_percpu().
> - Cleanup init_tracer_tracefs() and create_event_toplevel_files().
> - Remove TRACE_MODE_WRITE_MASK.
> - Add TRACE_ARRAY_FL_RDONLY.
> Changes in v5:
> - Rebased on the latest for-next (and hide show_event_filters/triggers
> if the instance is readonly.
> Changes in v4:
> - Make trace data erasable. (not reusable)
> Changes in v3:
> - Resuse the beginning part of event_entries for readonly files.
> - Remove readonly file_operations and checking readonly flag in
> each write operation.
> Changes in v2:
> - Use readonly file_operations to prohibit writing instead of
> checking flags in write() callbacks.
> - Remove writable files from eventfs.
> ---
> kernel/trace/trace.c | 94 +++++++++++++++++++++++++++++--------------
> kernel/trace/trace.h | 7 +++
> kernel/trace/trace_boot.c | 5 +-
> kernel/trace/trace_events.c | 76 ++++++++++++++++++++---------------
> 4 files changed, 117 insertions(+), 65 deletions(-)
>
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index 5c3e4a554143..b0efcf1e0809 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -5052,6 +5052,11 @@ static ssize_t
> tracing_write_stub(struct file *filp, const char __user *ubuf,
> size_t count, loff_t *ppos)
> {
> + struct trace_array *tr = file_inode(filp)->i_private;
> +
> + if (trace_array_is_readonly(tr))
> + return -EPERM;
> +
> return count;
> }
>
> @@ -5152,6 +5157,9 @@ tracing_cpumask_write(struct file *filp, const char __user *ubuf,
> cpumask_var_t tracing_cpumask_new;
> int err;
>
> + if (trace_array_is_readonly(tr))
> + return -EPERM;
> +
Shouldn't these checks be done in the open function? Doing it now is
too late, as -EPERM on a write is confusing when the open for write
succeeds.
-- Steve
> if (count == 0 || count > KMALLOC_MAX_SIZE)
> return -EINVAL;
>
next prev parent reply other threads:[~2026-02-05 2:17 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-01 3:28 [PATCH v6 0/4] tracing: Remove backup instance after read all Masami Hiramatsu (Google)
2026-02-01 3:29 ` [PATCH v6 1/4] tracing: Reset last_boot_info if ring buffer is reset Masami Hiramatsu (Google)
2026-02-05 1:40 ` Steven Rostedt
2026-02-06 13:50 ` Masami Hiramatsu
2026-02-11 18:28 ` Steven Rostedt
2026-02-11 18:33 ` Steven Rostedt
2026-02-01 3:29 ` [PATCH v6 2/4] tracing: Make the backup instance non-reusable Masami Hiramatsu (Google)
2026-02-05 2:17 ` Steven Rostedt [this message]
2026-02-09 9:08 ` Masami Hiramatsu
2026-02-09 23:42 ` Steven Rostedt
2026-02-10 5:14 ` Masami Hiramatsu
2026-02-11 15:42 ` Steven Rostedt
2026-02-12 4:24 ` Masami Hiramatsu
2026-02-01 3:29 ` [PATCH v6 3/4] tracing: Remove the backup instance automatically after read Masami Hiramatsu (Google)
2026-02-01 3:29 ` [PATCH v6 4/4] tracing/Documentation: Add a section about backup instance Masami Hiramatsu (Google)
2026-02-05 0:41 ` [PATCH v6 0/4] tracing: Remove backup instance after read all Masami Hiramatsu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260204211721.74e501f0@robin \
--to=rostedt@goodmis.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.