On Thu, Mar 25, 2021 at 08:10:51PM +0100, Marco Elver wrote:
and therefore synthesized this fix on top:
diff --git a/kernel/events/core.c b/kernel/events/core.c index 57de8d436efd..e77294c7e654 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -12400,7 +12400,7 @@ static void sync_child_event(struct perf_event *child_event) if (child_event->attr.inherit_stat) { struct task_struct *task = child_event->ctx->task;
if (task)
}if (task && task != TASK_TOMBSTONE) perf_event_read_event(child_event, task);
which fixes the problem. My guess is that the parent and child are both racing to exit?
Does that make any sense?
Yes, I think it does. ACK