um: Prevent IRQ handler reentrancy
authorAnton Ivanov <aivanov@brocade.com>
Mon, 21 Dec 2015 11:28:02 +0000 (11:28 +0000)
committerRichard Weinberger <richard@nod.at>
Sun, 10 Jan 2016 20:49:47 +0000 (21:49 +0100)
commitd5e3f5cbe5cee7fe6da26566559a978547179b37
tree7f40e2da3a070e811a412865ffbf5c317844e257
parent0754fb298f2f2719f0393491d010d46cfb25d043
um: Prevent IRQ handler reentrancy

The existing IRQ handler design in UML does not prevent reentrancy

This is mitigated by fd-enable/fd-disable semantics for the IO
portion of the UML subsystem. The timer, however, can and is
re-entered resulting in very deep stack usage and occasional
stack exhaustion.

This patch prevents this by checking if there is a timer
interrupt in-flight before processing any pending timer interrupts.

Signed-off-by: Anton Ivanov <aivanov@brocade.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/os-Linux/signal.c