diff --git a/kernel/futex.c b/kernel/futex.c index e3087afb7429..0b0dc02aabce 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -2614,6 +2614,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, * shared futexes. We need to compare the keys: */ if (match_futex(&q.key, &key2)) { + queue_unlock(hb); ret = -EINVAL; goto out_put_keys; }