[tip: timers/core] timers/migration: Fix memory leak in tmigr_setup_groups() error path
From: tip-bot2 for Malaya Kumar Rout
Date: Tue Jul 07 2026 - 17:33:03 EST
The following commit has been merged into the timers/core branch of tip:
Commit-ID: eddfded4196542deda7cb2da3d7ebef83f7ccfa4
Gitweb: https://git.kernel.org/tip/eddfded4196542deda7cb2da3d7ebef83f7ccfa4
Author: Malaya Kumar Rout <malayarout91@xxxxxxxxx>
AuthorDate: Sat, 04 Jul 2026 14:25:33 +05:30
Committer: Thomas Gleixner <tglx@xxxxxxxxxx>
CommitterDate: Tue, 07 Jul 2026 23:26:58 +02:00
timers/migration: Fix memory leak in tmigr_setup_groups() error path
When the WARN_ON_ONCE(i >= tmigr_hierarchy_levels) assertion triggers,
the function returns -EINVAL without freeing the 'stack' memory allocated
via kzalloc_objs() at the beginning of the function.
Add kfree(stack) before returning to prevent the memory leak.
Fixes: 6c181b5667ee ("timers/migration: Convert "while" loops to use "for"")
Signed-off-by: Malaya Kumar Rout <malayarout91@xxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxx>
Link: https://patch.msgid.link/20260704085533.87098-1-malayarout91@xxxxxxxxx
---
kernel/time/timer_migration.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/kernel/time/timer_migration.c b/kernel/time/timer_migration.c
index 806c23c..059d433 100644
--- a/kernel/time/timer_migration.c
+++ b/kernel/time/timer_migration.c
@@ -1847,8 +1847,10 @@ static int tmigr_setup_groups(struct tmigr_hierarchy *hier, unsigned int cpu,
}
/* Assert single root without parent */
- if (WARN_ON_ONCE(i >= tmigr_hierarchy_levels))
+ if (WARN_ON_ONCE(i >= tmigr_hierarchy_levels)) {
+ kfree(stack);
return -EINVAL;
+ }
for (; i >= start_lvl; i--) {
group = stack[i];