]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Jan 2026 15:35:24 +0000 (16:35 +0100)
commitdeee9dfb111ab00f9dfd46c0c7e36656b80f5235
treef831ad52501165787b90af7cc503030dd0402df0
parent088ca99dbb039c444c3ff987c5412a73f4f0cbf8
perf: Ensure swevent hrtimer is properly destroyed

[ Upstream commit ff5860f5088e9076ebcccf05a6ca709d5935cfa9 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/events/core.c