Files
kernel-tenderloin-3.0/kernel
akpm@osdl.org ff60a5dc4f [PATCH] hrtimers: fix posix-timer requeue race
From: Steven Rostedtrostedt@goodmis.org <rostedt@goodmis.org>

CPU0 expires a posix-timer and runs the callback function.  The signal is
queued.

After releasing the posix-timer lock and before returning to hrtimer_run_queue
CPU0 gets interrupted.  CPU1 delivers the queued signal and rearms the timer.
CPU0 comes back to hrtimer_run_queue and sets the timer state to expired.

The next modification of the timer can result in an oops, because the state
information is wrong.

Keep track of state = RUNNING and check if the state has been in the return
path of hrtimer_run_queue.  In case the state has been changed, ignore a
restart request and do not touch the state variable.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-01 08:53:13 -08:00
..
2006-01-08 20:13:48 -08:00
2006-01-11 18:42:13 -08:00
2006-01-18 19:20:30 -08:00
2006-01-18 19:20:29 -08:00
2006-01-14 18:27:10 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-30 17:37:32 -08:00
2006-01-11 18:42:13 -08:00
2005-10-08 15:00:57 -07:00
2005-10-30 17:37:17 -08:00
2006-01-09 15:59:19 -08:00
2006-01-06 08:33:53 -08:00
2006-01-08 20:13:40 -08:00
2005-07-07 18:23:46 -07:00
2005-04-16 15:20:36 -07:00
2006-01-18 19:20:29 -08:00
2005-09-10 10:06:21 -07:00
2006-01-11 18:42:13 -08:00
2006-01-18 19:20:17 -08:00
2006-01-11 18:42:13 -08:00
2005-04-16 15:20:36 -07:00