Instead of #ifdef, use IS_ENABLED(CONFIG_DEBUG_STACKOVERFLOW). This enable GCC to check for code validity even when the option is not selected.
The function is not using current_stack_pointer() anymore so no need to declare it inline, let GCC decide. Signed-off-by: Christophe Leroy <christophe.le...@c-s.fr> --- arch/powerpc/kernel/irq.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 4df49f6e9987..a1122ef4a16c 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c @@ -596,20 +596,19 @@ u64 arch_irq_stat_cpu(unsigned int cpu) return sum; } -static inline void check_stack_overflow(struct pt_regs *regs) +static void check_stack_overflow(struct pt_regs *regs) { -#ifdef CONFIG_DEBUG_STACKOVERFLOW bool is_user = user_mode(regs); - long sp; + long sp = regs->gpr[1] & (THREAD_SIZE - 1); - sp = regs->gpr[1] & (THREAD_SIZE - 1); + if (!IS_ENABLED(CONFIG_DEBUG_STACKOVERFLOW)) + return; /* check for stack overflow: is there less than 2KB free? */ if (unlikely(!is_user && sp < 2048)) { pr_err("do_IRQ: stack overflow: %ld\n", sp); dump_stack(); } -#endif } #ifdef CONFIG_PPC32 -- 2.13.3