linux/arch/um/os-Linux
Anton Ivanov d5e3f5cbe5 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>
2016-01-10 21:49:47 +01:00
..
drivers Merge branch 'for-linus-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml 2015-06-28 13:55:08 -07:00
skas um: Switch clocksource to hrtimers 2015-11-06 22:54:49 +01:00
aio.c um: Cleanup SIGTERM handling 2013-09-07 10:56:58 +02:00
elf_aux.c um: get rid of pointless include "..." where include <...> will do 2012-10-09 22:28:45 +02:00
execvp.c um: get rid of pointless include "..." where include <...> will do 2012-10-09 22:28:45 +02:00
file.c um: Include sys/types.h for makedev(), major(), minor() 2015-06-25 22:42:21 +02:00
helper.c um: Fix waitpid() usage in helper code 2015-10-19 22:53:37 +02:00
irq.c um: get rid of pointless include "..." where include <...> will do 2012-10-09 22:28:45 +02:00
main.c um: Switch clocksource to hrtimers 2015-11-06 22:54:49 +01:00
Makefile um: use the right ifdef around exports in user_syms.c 2012-03-25 00:29:55 +01:00
mem.c uml: Simplify tempdir logic. 2014-04-20 23:10:44 +02:00
process.c um: Switch clocksource to hrtimers 2015-11-06 22:54:49 +01:00
registers.c um: get rid of pointless include "..." where include <...> will do 2012-10-09 22:28:45 +02:00
sigio.c um: Cleanup SIGTERM handling 2013-09-07 10:56:58 +02:00
signal.c um: Prevent IRQ handler reentrancy 2016-01-10 21:49:47 +01:00
start_up.c uml: flush stdout before forking 2016-01-10 21:49:47 +01:00
time.c um: Switch clocksource to hrtimers 2015-11-06 22:54:49 +01:00
tty.c um: get rid of pointless include "..." where include <...> will do 2012-10-09 22:28:45 +02:00
umid.c um: get rid of pointless include "..." where include <...> will do 2012-10-09 22:28:45 +02:00
user_syms.c um: get rid of pointless include "..." where include <...> will do 2012-10-09 22:28:45 +02:00
util.c um: Cleanup SIGTERM handling 2013-09-07 10:56:58 +02:00