diff options
Diffstat (limited to 'arch/x86/kernel/irq_64.c')
-rw-r--r-- | arch/x86/kernel/irq_64.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/irq_64.c b/arch/x86/kernel/irq_64.c index 928a7e909619..42552b0dce6a 100644 --- a/arch/x86/kernel/irq_64.c +++ b/arch/x86/kernel/irq_64.c | |||
@@ -26,6 +26,8 @@ EXPORT_PER_CPU_SYMBOL(irq_stat); | |||
26 | DEFINE_PER_CPU(struct pt_regs *, irq_regs); | 26 | DEFINE_PER_CPU(struct pt_regs *, irq_regs); |
27 | EXPORT_PER_CPU_SYMBOL(irq_regs); | 27 | EXPORT_PER_CPU_SYMBOL(irq_regs); |
28 | 28 | ||
29 | int sysctl_panic_on_stackoverflow; | ||
30 | |||
29 | /* | 31 | /* |
30 | * Probabilistic stack overflow check: | 32 | * Probabilistic stack overflow check: |
31 | * | 33 | * |
@@ -65,6 +67,9 @@ static inline void stack_overflow_check(struct pt_regs *regs) | |||
65 | current->comm, curbase, regs->sp, | 67 | current->comm, curbase, regs->sp, |
66 | irq_stack_top, irq_stack_bottom, | 68 | irq_stack_top, irq_stack_bottom, |
67 | estack_top, estack_bottom); | 69 | estack_top, estack_bottom); |
70 | |||
71 | if (sysctl_panic_on_stackoverflow) | ||
72 | panic("low stack detected by irq handler - check messages\n"); | ||
68 | #endif | 73 | #endif |
69 | } | 74 | } |
70 | 75 | ||