Re: [PATCH v2] tracing/user_events: Clear copied tracing state before fork duplication
From: Bradley Morgan <hidden>
Date: 2026-08-27 12:24:46
Also in:
lkml, stable
On 27 August 2026 13:19:15 BST, Steven Rostedt [off-list ref] wrote:
quoted hunk ↗ jump to hunk
On Thu, 27 Aug 2026 13:09:44 +0100 Bradley Morgan [off-list ref] wrote:quoted
quoted
quoted
@@ -865,9 +865,12 @@ void user_event_mm_remove(struct task_struct *t) void user_event_mm_dup(struct task_struct *t, struct user_event_mm*old_mm)quoted
{ - struct user_event_mm *mm = user_event_mm_alloc(t); + struct user_event_mm *mm;Why this change?quoted
struct user_event_enabler *enabler; + t->user_event_mm = NULL; + mm = user_event_mm_alloc(t);I don't see why you moved the mm assignment down here. The t->user_event_mm is not used in user_event_mm_alloc().Uff, not wrong, I must be dummy dumb dumb, well, I base my reviews off Does this fix the bug? And is this a small fix?The bug is fixed because it needs to NULL out that value. I asked from v1 to move that change to this function. But this function only needs to add that line before the return. It doesn't need to modify anything else in that function. That is, something like this:diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c index 8c82ecb735f4..6b89d225b189 100644 --- a/kernel/trace/trace_events_user.c +++ b/kernel/trace/trace_events_user.c@@ -868,6 +868,9 @@ void user_event_mm_dup(struct task_struct *t, struct user_event_mm *old_mm)struct user_event_mm *mm = user_event_mm_alloc(t); struct user_event_enabler *enabler; + /* On failure, do not free parent's copy */ + t->user_event_mm = NULL; +
Sorry to be mr begfortags here, but this also LGTM, this fixes the bug, andit's short, thanks for the patch, since I'm busy rn, add my tag if jean is to submit this
if (!mm) return; -- Steve
--- Thanks!https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ (local)