|
@@ -10426,21 +10426,11 @@ void perf_event_free_task(struct task_struct *task)
|
|
|
WRITE_ONCE(ctx->task, TASK_TOMBSTONE);
|
|
|
put_task_struct(task); /* cannot be last */
|
|
|
raw_spin_unlock_irq(&ctx->lock);
|
|
|
-again:
|
|
|
- list_for_each_entry_safe(event, tmp, &ctx->pinned_groups,
|
|
|
- group_entry)
|
|
|
- perf_free_event(event, ctx);
|
|
|
|
|
|
- list_for_each_entry_safe(event, tmp, &ctx->flexible_groups,
|
|
|
- group_entry)
|
|
|
+ list_for_each_entry_safe(event, tmp, &ctx->event_list, event_entry)
|
|
|
perf_free_event(event, ctx);
|
|
|
|
|
|
- if (!list_empty(&ctx->pinned_groups) ||
|
|
|
- !list_empty(&ctx->flexible_groups))
|
|
|
- goto again;
|
|
|
-
|
|
|
mutex_unlock(&ctx->mutex);
|
|
|
-
|
|
|
put_ctx(ctx);
|
|
|
}
|
|
|
}
|