From: Thomas Gleixner The futex code has consequently the same timeout race as generic sleeper based nanosleep. Call hrtimer_cancel() unconditionally. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton --- kernel/rtmutex.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN kernel/rtmutex.c~pi-futex-rt-mutex-core-fix-timeout-race kernel/rtmutex.c --- devel/kernel/rtmutex.c~pi-futex-rt-mutex-core-fix-timeout-race 2006-03-28 12:24:31.000000000 -0800 +++ devel-akpm/kernel/rtmutex.c 2006-03-28 12:24:31.000000000 -0800 @@ -691,7 +691,7 @@ rt_mutex_slowlock(struct rt_mutex *lock, spin_unlock_irqrestore(&lock->wait_lock, flags); /* Remove pending timer: */ - if (unlikely(timeout && timeout->task)) + if (unlikely(timeout)) hrtimer_cancel(&timeout->timer); /* _