]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
perf: Ensure swevent hrtimer is properly destroyed
authorPeter Zijlstra <peterz@infradead.org>
Sat, 20 Dec 2025 13:14:41 +0000 (14:14 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 5 Jan 2026 07:55:54 +0000 (08:55 +0100)
commitff5860f5088e9076ebcccf05a6ca709d5935cfa9
tree9b97db528b00f27e705674b81abfd3e2b1a995ee
parent9ace4753a5202b02191d54e9fdf7f9e3d02b85eb
perf: Ensure swevent hrtimer is properly destroyed

With the change to hrtimer_try_to_cancel() in
perf_swevent_cancel_hrtimer() it appears possible for the hrtimer to
still be active by the time the event gets freed.

Make sure the event does a full hrtimer_cancel() on the free path by
installing a perf_event::destroy handler.

Fixes: eb3182ef0405 ("perf/core: Fix system hang caused by cpu-clock usage")
Reported-by: CyberUnicorns <a101e_iotvul@163.com>
Tested-by: CyberUnicorns <a101e_iotvul@163.com>
Debugged-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
kernel/events/core.c