[tip: perf/core] watchdog/hardlockup/perf: Warn if watchdog_ev is leaked

From: tip-bot2 for Li Huafei
Date: Thu Mar 06 2025 - 06:21:40 EST


The following commit has been merged into the perf/core branch of tip:

Commit-ID: 05763885e327f0e257ee8b96b30ac1b95f7dd532
Gitweb: https://git.kernel.org/tip/05763885e327f0e257ee8b96b30ac1b95f7dd532
Author: Li Huafei <lihuafei1@xxxxxxxxxx>
AuthorDate: Tue, 22 Oct 2024 03:30:04 +08:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Thu, 06 Mar 2025 12:07:39 +01:00

watchdog/hardlockup/perf: Warn if watchdog_ev is leaked

When creating a new perf_event for the hardlockup watchdog, it should not
happen that the old perf_event is not released.

Introduce a WARN_ONCE() that should never trigger.

[ mingo: Changed the type of the warning to WARN_ONCE(). ]

Signed-off-by: Li Huafei <lihuafei1@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20241021193004.308303-2-lihuafei1@xxxxxxxxxx
---
kernel/watchdog_perf.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/kernel/watchdog_perf.c b/kernel/watchdog_perf.c
index 2fdb96e..a78ff09 100644
--- a/kernel/watchdog_perf.c
+++ b/kernel/watchdog_perf.c
@@ -144,6 +144,7 @@ static int hardlockup_detector_event_create(void)
PTR_ERR(evt));
return PTR_ERR(evt);
}
+ WARN_ONCE(this_cpu_read(watchdog_ev), "unexpected watchdog_ev leak");
this_cpu_write(watchdog_ev, evt);
return 0;
}