diff options
author | Christoph Hellwig <hch@lst.de> | 2010-06-28 14:15:54 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-06-29 12:12:59 +0200 |
commit | 7974891db234467eaf1fec613ec0129cb4ac2332 (patch) | |
tree | 09de403e54e39f4f25a1c15a29f5b201d4c11729 /arch/x86/kernel/irq_32.c | |
parent | 5904b3b81d25166e5e39b9727645bb47937618e3 (diff) | |
download | lwn-7974891db234467eaf1fec613ec0129cb4ac2332.tar.gz lwn-7974891db234467eaf1fec613ec0129cb4ac2332.zip |
x86: Always use irq stacks
IRQ stacks provide much better safety against unexpected stack use from
interrupts, at the minimal downside of slightly higher memory usage.
Enable irq stacks also for the default 8k stack on 32-bit kernels to
minimize the problem of stack overflows through interrupt activity.
This is what the 64-bit kernel and various other architectures already do.
Signed-off-by: Christoph Hellwig <hch@lst.de>
LKML-Reference: <20100628121554.GA6605@lst.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/irq_32.c')
-rw-r--r-- | arch/x86/kernel/irq_32.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/x86/kernel/irq_32.c b/arch/x86/kernel/irq_32.c index 10709f29d166..67f5f9f5299f 100644 --- a/arch/x86/kernel/irq_32.c +++ b/arch/x86/kernel/irq_32.c @@ -49,7 +49,6 @@ static inline int check_stack_overflow(void) { return 0; } static inline void print_stack_overflow(void) { } #endif -#ifdef CONFIG_4KSTACKS /* * per-CPU IRQ handling contexts (thread information and stack) */ @@ -187,11 +186,6 @@ asmlinkage void do_softirq(void) local_irq_restore(flags); } -#else -static inline int -execute_on_irq_stack(int overflow, struct irq_desc *desc, int irq) { return 0; } -#endif - bool handle_irq(unsigned irq, struct pt_regs *regs) { struct irq_desc *desc; |