Thread (58 messages) 58 messages, 8 authors, 2023-03-02

Re: [PATCH v2 19/24] xtensa/cpu: Make sure cpu_die() doesn't return

From: Philippe Mathieu-Daudé <hidden>
Date: 2023-02-14 07:56:16
Also in: linux-mips, linux-sh, lkml, loongarch, sparclinux

Hi Josh,

On 14/2/23 08:05, Josh Poimboeuf wrote:
quoted hunk ↗ jump to hunk
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 <jpoimboe@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.
    */
quoted hunk ↗ jump to hunk
@@ -341,6 +341,8 @@ void __ref cpu_die(void)
  	__asm__ __volatile__(
  			"	movi	a2, cpu_restart\n"
  			"	jx	a2\n");
+
+	BUG();
  }
  
  #endif /* CONFIG_HOTPLUG_CPU */
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help