diff options
| author | Crystal Wood <crwood@redhat.com> | 2026-06-08 23:54:30 -0500 |
|---|---|---|
| committer | Steven Rostedt <rostedt@goodmis.org> | 2026-07-06 14:56:18 -0400 |
| commit | fe58f457ad8d0a2bef4e053cfecca4b5cd266b1a (patch) | |
| tree | 3c23cc66287864f34e3e129e4587339e87733682 /kernel/trace | |
| parent | c37e0a4b79a6bbb96ce5ffe279d7c001e20529e0 (diff) | |
tracing/osnoise: Call synchronize_rcu() when unregistering
This ensures that any RCU readers traversing the instance list
have finished, before releasing the reference on the tracer that
the instance points to.
Cc: stable@vger.kernel.org
Fixes: a6ed2aee54644 ("tracing: Switch to kvfree_rcu() API")
Link: https://patch.msgid.link/20260609045430.1589786-1-crwood@redhat.com
Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Crystal Wood <crwood@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace')
| -rw-r--r-- | kernel/trace/trace_osnoise.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/trace/trace_osnoise.c b/kernel/trace/trace_osnoise.c index 5e83c4f6f2b4..0e1265acd1cc 100644 --- a/kernel/trace/trace_osnoise.c +++ b/kernel/trace/trace_osnoise.c @@ -179,7 +179,9 @@ static void osnoise_unregister_instance(struct trace_array *tr) if (!found) return; - kvfree_rcu_mightsleep(inst); + /* Do a full sync to ensure that tr remains valid, not just inst */ + synchronize_rcu(); + kvfree(inst); } /* |
