kernel-ark/kernel
Oleg Nesterov f01b1b0baa [PATCH] ITIMER_REAL: fix possible deadlock and race
As Steven Rostedt pointed out, there are 2 problems with ITIMER_REAL
timers.

1. do_setitimer() does not call del_timer_sync() in case
   when the timer is not pending (it_real_value() returns 0).
   This is wrong, the timer may still be running, and it can
   rearm itself.

2. It calls del_timer_sync() with tsk->sighand->siglock held.
   This is deadlockable, because timer's handler needs this
   lock too.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-28 21:20:30 -07:00
..
irq
power
acct.c
audit.c
auditsc.c
capability.c
compat.c
configs.c
cpu.c
cpuset.c
crash_dump.c
dma.c
exec_domain.c
exit.c
extable.c
fork.c
futex.c
intermodule.c
itimer.c [PATCH] ITIMER_REAL: fix possible deadlock and race 2005-06-28 21:20:30 -07:00
kallsyms.c
Kconfig.hz
Kconfig.preempt
kexec.c
kfifo.c
kmod.c
kprobes.c
ksysfs.c
kthread.c
Makefile
module.c
panic.c
params.c
pid.c
posix-cpu-timers.c
posix-timers.c
printk.c
profile.c
ptrace.c
rcupdate.c
resource.c
sched.c
seccomp.c
signal.c
softirq.c
spinlock.c
stop_machine.c
sys_ni.c
sys.c
sysctl.c
time.c
timer.c
uid16.c
user.c
wait.c
workqueue.c