diff --git a/kernel/events/core.c b/kernel/events/core.c index 5ddc88592ff8..1457725fa8a9 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -4970,10 +4970,12 @@ static bool exclusive_event_installable(struct perf_event *event, static void perf_addr_filters_splice(struct perf_event *event, struct list_head *head); +static void perf_pending_task(struct callback_head *head); static void _free_event(struct perf_event *event) { irq_work_sync(&event->pending_irq); + task_work_cancel(current, perf_pending_task); unaccount_event(event);