[PATCH] powerpc/8xx: set STACK_END_MAGIC earlier on the init_stack

Christophe Leroy christophe.leroy at c-s.fr
Wed Aug 21 20:20:51 AEST 2019


Today, the STACK_END_MAGIC is set on init_stack in start_kernel().

To avoid a false 'Thread overran stack, or stack corrupted' message
on early Oopses, setup STACK_END_MAGIC as soon as possible.

Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr>
---
 arch/powerpc/kernel/head_8xx.S | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S
index 5ab9178c2347..b8ca5b43e587 100644
--- a/arch/powerpc/kernel/head_8xx.S
+++ b/arch/powerpc/kernel/head_8xx.S
@@ -15,6 +15,7 @@
  */
 
 #include <linux/init.h>
+#include <linux/magic.h>
 #include <asm/processor.h>
 #include <asm/page.h>
 #include <asm/mmu.h>
@@ -741,6 +742,9 @@ start_here:
 	/* stack */
 	lis	r1,init_thread_union at ha
 	addi	r1,r1,init_thread_union at l
+	lis	r0, STACK_END_MAGIC at h
+	ori	r0, r0, STACK_END_MAGIC at l
+	stw	r0, 0(r1)
 	li	r0,0
 	stwu	r0,THREAD_SIZE-STACK_FRAME_OVERHEAD(r1)
 
-- 
2.13.3



More information about the Linuxppc-dev mailing list