Re: stack overflow on Sparc64

From: Mikulas Patocka
Date: Fri Jun 20 2008 - 17:25:41 EST


On Fri, 20 Jun 2008, David Miller wrote:

From: Mikulas Patocka <mpatocka@xxxxxxxxxx>
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/