Re: [PATCH 05/22] csky/cpu: Make sure arch_cpu_idle_dead() doesn't return

From: Guo Ren
Date: Fri Feb 03 2023 - 20:12:59 EST


On Sat, Feb 4, 2023 at 6:05 AM Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
>
> arch_cpu_idle_dead() doesn't return. Make that more explicit with a
> BUG().
>
> BUG() is preferable to unreachable() because BUG() is a more explicit
> failure mode and avoids undefined behavior like falling off the edge of
> the function into whatever code happens to be next.
>
> Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> ---
> arch/csky/kernel/smp.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/csky/kernel/smp.c b/arch/csky/kernel/smp.c
> index b45d1073307f..0ec20efaf5fd 100644
> --- a/arch/csky/kernel/smp.c
> +++ b/arch/csky/kernel/smp.c
> @@ -317,5 +317,7 @@ void arch_cpu_idle_dead(void)
> "jmpi csky_start_secondary"
> :
> : "r" (secondary_stack));
> +
> + BUG();
Why not:
diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c
index f26ab2675f7d..1d3bf903add2 100644
--- a/kernel/sched/idle.c
+++ b/kernel/sched/idle.c
@@ -285,6 +285,7 @@ static void do_idle(void)
tick_nohz_idle_stop_tick();
cpuhp_report_idle_dead();
arch_cpu_idle_dead();
+ BUG();
}

arch_cpu_idle_enter();

> }
> #endif
> --
> 2.39.0
>


--
Best Regards
Guo Ren