Messages in this thread | | | From | Anna-Maria Behnsen <> | Subject | Re: [PATCH v3] time/timgr: Fix wrong reference when level 0 group allocation failed | Date | Wed, 08 May 2024 08:16:02 +0200 |
| |
Frederic Weisbecker <frederic@kernel.org> writes:
> Le Mon, May 06, 2024 at 05:10:59AM +0100, Levi Yun a écrit : >> When tmigr_setup_groups() failed level 0 group allocation, >> wrong reference happens on local stack array while intializing timer hierarchy. >> >> To prevent this, Check loop condition first before initializing timer hierarchy. >> >> Fixes: 7ee988770326 ("timers: Implement the hierarchical pull model") >> Signed-off-by: Levi Yun <ppbuk5246@gmail.com> >> --- >> v3: >> - Fix typo. >> >> v2: >> - Modify commit message. >> >> kernel/time/timer_migration.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/kernel/time/timer_migration.c b/kernel/time/timer_migrationc >> index ccba875d2234..84413114db5c 100644 >> --- a/kernel/time/timer_migration.c >> +++ b/kernel/time/timer_migration.c >> @@ -1596,7 +1596,7 @@ static int tmigr_setup_groups(unsigned int cpu, unsigned int node) >> >> } while (i < tmigr_hierarchy_levels); >> >> - do { >> + while (i > 0) { >> group = stack[--i]; >> >> if (err < 0) { >> @@ -1645,7 +1645,7 @@ static int tmigr_setup_groups(unsigned int cpu, unsigned int node) >> tmigr_connect_child_parent(child, group); >> } >> } >> - } while (i > 0); >> + } > > Looks good to me. But let's wait for Anna-Maria's second look. The group setup > is not my favourite area... >
Thanks for the fix!
Reviewed-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
| |