]> git.baikalelectronics.ru Git - kernel.git/commitdiff
powerpc/irq: Use current_stack_pointer in check_stack_overflow()
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 20 Feb 2020 11:51:39 +0000 (22:51 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 4 Mar 2020 11:44:28 +0000 (22:44 +1100)
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
arch/powerpc/kernel/irq.c

index 02118c18434d25f6de89f371e8274926bc2299d6..c7d6f5cdffdb138e6e00cd581942b09f926de8d2 100644 (file)
@@ -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)) {