Re: [PATCH] time/timgr: Fix wrong reference when level 0 group allocation failed

From: Yun Levi
Date: Sat May 04 2024 - 00:47:39 EST


Gentle ping

On Wed, May 1, 2024 at 8:51 PM Levi Yun <ppbuk5246@xxxxxxxxx> wrote:
>
> When tmigr_setup_groups() failed level 0 group allocation,
> next do while loop refers wrong local stack array location.
>
> Changing group init do while loop with while loop to fix this problem.
>
> Signed-off-by: Levi Yun <ppbuk5246@xxxxxxxxx>
> ---
> 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_migration.c
> 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);
> + }
>
> kfree(stack);
>
> --
> 2.41.0
>