Commit:     f54f098612d7f86463b5fb4763d03533d634de73
Parent:     c0f3358621dc746219d49a9dee1799704d3a32f8
Author:     Andreas Schwab <[EMAIL PROTECTED]>
AuthorDate: Tue Jul 31 00:38:51 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Tue Jul 31 15:39:40 2007 -0700

    futex: pass nr_wake2 to futex_wake_op
    The fourth argument of sys_futex is ignored when op == FUTEX_WAKE_OP,
    but futex_wake_op expects it as its nr_wake2 parameter.
    The only user of this operation in glibc is always passing 1, so this
    bug had no consequences so far.
    Signed-off-by: Andreas Schwab <[EMAIL PROTECTED]>
    Cc: Ingo Molnar <[EMAIL PROTECTED]>
    Signed-off-by: Ulrich Drepper <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
 kernel/futex.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/kernel/futex.c b/kernel/futex.c
index a124250..3415e9a 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -2060,8 +2060,10 @@ asmlinkage long sys_futex(u32 __user *uaddr, int op, u32 
         * requeue parameter in 'utime' if cmd == FUTEX_REQUEUE.
+        * number of waiters to wake in 'utime' if cmd == FUTEX_WAKE_OP.
-       if (cmd == FUTEX_REQUEUE || cmd == FUTEX_CMP_REQUEUE)
+       if (cmd == FUTEX_REQUEUE || cmd == FUTEX_CMP_REQUEUE ||
+           cmd == FUTEX_WAKE_OP)
                val2 = (u32) (unsigned long) utime;
        return do_futex(uaddr, op, val, tp, uaddr2, val2, val3);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to