futex: Add missing error handling to FUTEX_REQUEUE_PI

am: 1522181f4b

Change-Id: I74d73e5550ccb3a8d846f636b4f7940b124d261c
This commit is contained in:
Peter Zijlstra
2017-03-22 12:09:16 +00:00
committed by android-build-merger

View File

@@ -2896,6 +2896,8 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags,
if (q.pi_state && (q.pi_state->owner != current)) {
spin_lock(q.lock_ptr);
ret = fixup_pi_state_owner(uaddr2, &q, current);
if (ret && rt_mutex_owner(&q.pi_state->pi_mutex) == current)
rt_mutex_unlock(&q.pi_state->pi_mutex);
/*
* Drop the reference to the pi state which
* the requeue_pi() code acquired for us.