Messages in this thread | | | Date | Fri, 20 Jun 2008 17:25:26 -0400 (EDT) | From | Mikulas Patocka <> | Subject | Re: stack overflow on Sparc64 |
| |
On Fri, 20 Jun 2008, David Miller wrote:
> From: Mikulas Patocka <mpatocka@redhat.com> > Date: Fri, 20 Jun 2008 17:14:41 -0400 (EDT) > >> Are you sure? What about this: >> ide-io.c:ide_intr >> if (drive->unmask) >> local_irq_enable_in_hardirq(); >> >> or this: >> kernel/irq/handle.c:handle_IRQ_event >> if (!(action->flags & IRQF_DISABLED)) >> local_irq_enable_in_hardirq(); >> >> >> --- how is number of nested interrupts here supposed to be limited? >> >> If these things are not limited, you get at most as many nested handlers >> as there are hardware interrupts, which means crash. > > It means i386 and every other platform potentially has the same exact > problem. > > What point wrt. sparc64 are you trying to make here? :-)
The difference is that i386 takes minimum 4 bytes per stack frame and sparc64 192 bytes per stack frame. So this problem will kill sparc64 sooner.
But yes, it is general problem and should be solved in arch-independent code.
Mikulas
| |