Loading arch/powerpc/kernel/irq.c +17 −14 Original line number Diff line number Diff line Loading @@ -301,27 +301,30 @@ static inline void handle_one_irq(unsigned int irq) } #endif void do_IRQ(struct pt_regs *regs) static inline void check_stack_overflow(void) { struct pt_regs *old_regs = set_irq_regs(regs); unsigned int irq; irq_enter(); #ifdef CONFIG_DEBUG_STACKOVERFLOW /* Debugging check for stack overflow: is there less than 2KB free? */ { long sp; sp = __get_SP() & (THREAD_SIZE-1); /* check for stack overflow: is there less than 2KB free? */ if (unlikely(sp < (sizeof(struct thread_info) + 2048))) { printk("do_IRQ: stack overflow: %ld\n", sp - sizeof(struct thread_info)); dump_stack(); } } #endif } void do_IRQ(struct pt_regs *regs) { struct pt_regs *old_regs = set_irq_regs(regs); unsigned int irq; irq_enter(); check_stack_overflow(); /* * Every platform is required to implement ppc_md.get_irq. Loading Loading
arch/powerpc/kernel/irq.c +17 −14 Original line number Diff line number Diff line Loading @@ -301,27 +301,30 @@ static inline void handle_one_irq(unsigned int irq) } #endif void do_IRQ(struct pt_regs *regs) static inline void check_stack_overflow(void) { struct pt_regs *old_regs = set_irq_regs(regs); unsigned int irq; irq_enter(); #ifdef CONFIG_DEBUG_STACKOVERFLOW /* Debugging check for stack overflow: is there less than 2KB free? */ { long sp; sp = __get_SP() & (THREAD_SIZE-1); /* check for stack overflow: is there less than 2KB free? */ if (unlikely(sp < (sizeof(struct thread_info) + 2048))) { printk("do_IRQ: stack overflow: %ld\n", sp - sizeof(struct thread_info)); dump_stack(); } } #endif } void do_IRQ(struct pt_regs *regs) { struct pt_regs *old_regs = set_irq_regs(regs); unsigned int irq; irq_enter(); check_stack_overflow(); /* * Every platform is required to implement ppc_md.get_irq. Loading