futex_unlock_pi() hurts my brain and may cause application deadlock
authorjohn stultz <[email protected]>
Wed, 22 Aug 2007 21:01:10 +0000 (14:01 -0700)
committerLinus Torvalds <[email protected]>
Thu, 23 Aug 2007 02:52:44 +0000 (19:52 -0700)
Avoid futex_unlock_pi returning -EFAULT (which results in deadlock), by
clearing uval before jumping to retry_locked.

Signed-off-by: John Stultz <[email protected]>
Acked-by: Steven Rostedt <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
kernel/futex.c

index 3415e9ad1391adc6422c9324b8efdc1bbd6c7ce2..e8935b195e8809fa1a23484d5007feb27887fd63 100644 (file)
@@ -1670,6 +1670,7 @@ pi_faulted:
                                         attempt);
                if (ret)
                        goto out;
+               uval = 0;
                goto retry_unlocked;
        }