Hi Josh,

On 14/2/23 08:05, Josh Poimboeuf wrote:
cpu_die() 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 <jpoim...@kernel.org>
---
  arch/xtensa/kernel/smp.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/arch/xtensa/kernel/smp.c b/arch/xtensa/kernel/smp.c
index 4dc109dd6214..7bad78495536 100644
--- a/arch/xtensa/kernel/smp.c
+++ b/arch/xtensa/kernel/smp.c

Can you update the documentation along? Currently we have:

  /*
   * Called from the idle thread for the CPU which has been shutdown.
   *
   * Note that we disable IRQs here, but do not re-enable them
   * before returning to the caller. This is also the behaviour
   * of the other hotplug-cpu capable cores, so presumably coming
   * out of idle fixes this.
   */

@@ -341,6 +341,8 @@ void __ref cpu_die(void)
        __asm__ __volatile__(
                        "  movi    a2, cpu_restart\n"
                        "  jx      a2\n");
+
+       BUG();
  }
#endif /* CONFIG_HOTPLUG_CPU */

Reply via email to