summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Leroy <christophe.leroy@c-s.fr>2020-02-20 14:51:39 +0300
committerMichael Ellerman <mpe@ellerman.id.au>2020-03-04 14:44:28 +0300
commit84ab14893054751a2b3adba725834183b872a17f (patch)
tree300bae86cf5ed6feb2813b92b034ae8313af8938
parent0e63f0151719ee4cb90d85e60c98045099c995e2 (diff)
downloadlinux-84ab14893054751a2b3adba725834183b872a17f.tar.xz
powerpc/irq: Use current_stack_pointer in check_stack_overflow()
The purpose of check_stack_overflow() is to verify that the stack has not overflowed. To really know whether the stack pointer is still within boundaries, the check must be done directly on the value of r1. So use current_stack_pointer, which returns the current value of r1, rather than current_stack_frame() which causes a frame to be created and then returns that value. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200220115141.2707-3-mpe@ellerman.id.au
-rw-r--r--arch/powerpc/kernel/irq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index 02118c18434d..c7d6f5cdffdb 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -602,7 +602,7 @@ static inline void check_stack_overflow(void)
#ifdef CONFIG_DEBUG_STACKOVERFLOW
long sp;
- sp = current_stack_frame() & (THREAD_SIZE-1);
+ sp = current_stack_pointer & (THREAD_SIZE - 1);
/* check for stack overflow: is there less than 2KB free? */
if (unlikely(sp < 2048)) {