futex: Acknowledge a new waiter in counter before plist
[firefly-linux-kernel-4.4.55.git] / kernel / futex.c
index eaa3a8dfd34517adb0cf31a907735ce96115667e..9d8163afd87ca7605ef85d2ca64d3c4521838fae 100644 (file)
@@ -1484,8 +1484,8 @@ void requeue_futex(struct futex_q *q, struct futex_hash_bucket *hb1,
        if (likely(&hb1->chain != &hb2->chain)) {
                plist_del(&q->list, &hb1->chain);
                hb_waiters_dec(hb1);
-               plist_add(&q->list, &hb2->chain);
                hb_waiters_inc(hb2);
+               plist_add(&q->list, &hb2->chain);
                q->lock_ptr = &hb2->lock;
        }
        get_futex_key_refs(key2);