From: Steven Rostedt <rostedt@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: Tomas Glozar <tglozar@redhat.com>, John Kacur <jkacur@redhat.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Gabriele Monaco <gmonaco@redhat.com>,
Nam Cao <namcao@linutronix.de>
Subject: [for-next][PATCH 02/11] rv: Fix wrong type cast in reactors_show() and monitor_reactor_show()
Date: Mon, 28 Jul 2025 16:49:36 -0400 [thread overview]
Message-ID: <20250728204958.099222690@kernel.org> (raw)
In-Reply-To: 20250728204934.281385756@kernel.org
From: Nam Cao <namcao@linutronix.de>
Argument 'p' of reactors_show() and monitor_reactor_show() is not a pointer
to struct rv_reactor, it is actually a pointer to the list_head inside
struct rv_reactor. Therefore it's wrong to cast 'p' to struct rv_reactor *.
This wrong type cast has been there since the beginning. But it still
worked because the list_head was the first field in struct rv_reactor_def.
This is no longer true since commit 3d3c376118b5 ("rv: Merge struct
rv_reactor_def into struct rv_reactor") moved the list_head, and this wrong
type cast became a functional problem.
Properly use container_of() instead.
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Gabriele Monaco <gmonaco@redhat.com>
Link: https://lore.kernel.org/b4febbd6844311209e4c8768b65d508b81bd8c9b.1753625621.git.namcao@linutronix.de
Fixes: 3d3c376118b5 ("rv: Merge struct rv_reactor_def into struct rv_reactor")
Signed-off-by: Nam Cao <namcao@linutronix.de>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
kernel/trace/rv/rv_reactors.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/trace/rv/rv_reactors.c b/kernel/trace/rv/rv_reactors.c
index 106f2c4740f2..d32859fec238 100644
--- a/kernel/trace/rv/rv_reactors.c
+++ b/kernel/trace/rv/rv_reactors.c
@@ -86,7 +86,7 @@ static struct rv_reactor *get_reactor_rdef_by_name(char *name)
*/
static int reactors_show(struct seq_file *m, void *p)
{
- struct rv_reactor *reactor = p;
+ struct rv_reactor *reactor = container_of(p, struct rv_reactor, list);
seq_printf(m, "%s\n", reactor->name);
return 0;
@@ -139,7 +139,7 @@ static const struct file_operations available_reactors_ops = {
static int monitor_reactor_show(struct seq_file *m, void *p)
{
struct rv_monitor *mon = m->private;
- struct rv_reactor *reactor = p;
+ struct rv_reactor *reactor = container_of(p, struct rv_reactor, list);
if (mon->reactor == reactor)
seq_printf(m, "[%s]\n", reactor->name);
--
2.47.2
next prev parent reply other threads:[~2025-07-28 20:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-28 20:49 [for-next][PATCH 00/11] verification: Updates for v6.17 Steven Rostedt
2025-07-28 20:49 ` [for-next][PATCH 01/11] rv: Fix wrong type cast in monitors_show() Steven Rostedt
2025-07-28 20:49 ` Steven Rostedt [this message]
2025-07-28 20:49 ` [for-next][PATCH 03/11] rv: Add da_handle_start_run_event_ to per-task monitors Steven Rostedt
2025-07-28 20:49 ` [for-next][PATCH 04/11] rv: Remove trailing whitespace from tracepoint string Steven Rostedt
2025-07-28 20:49 ` [for-next][PATCH 05/11] rv: Use strings in da monitors tracepoints Steven Rostedt
2025-07-28 20:49 ` [for-next][PATCH 06/11] rv: Adjust monitor dependencies Steven Rostedt
2025-07-28 20:49 ` [for-next][PATCH 07/11] rv: Retry when da monitor detects race conditions Steven Rostedt
2025-07-28 20:49 ` [for-next][PATCH 08/11] sched: Adapt sched tracepoints for RV task model Steven Rostedt
2025-07-28 20:49 ` [for-next][PATCH 09/11] rv: Replace tss and sncid monitors with more complete sts Steven Rostedt
2025-07-28 20:49 ` [for-next][PATCH 10/11] rv: Add nrp and sssw per-task monitors Steven Rostedt
2025-07-28 20:49 ` [for-next][PATCH 11/11] rv: Add opid per-cpu monitor Steven Rostedt
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=20250728204958.099222690@kernel.org \
--to=rostedt@kernel.org \
--cc=gmonaco@redhat.com \
--cc=jkacur@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=namcao@linutronix.de \
--cc=tglozar@redhat.com \
/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.