Commit 29e9ee5d authored by Thomas Gleixner's avatar Thomas Gleixner

futex: Rename free_pi_state() to put_pi_state()

free_pi_state() is confusing as it is in fact only freeing/caching the
pi state when the last reference is gone. Rename it to put_pi_state()
which reflects better what it is doing.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Darren Hart <darren@dvhart.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Bhuvanesh_Surachari@mentor.com
Cc: Andy Lowe <Andy_Lowe@mentor.com>
Link: http://lkml.kernel.org/r/20151219200607.259636467@linutronix.deSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent fb75a428
...@@ -725,9 +725,12 @@ static struct futex_pi_state * alloc_pi_state(void) ...@@ -725,9 +725,12 @@ static struct futex_pi_state * alloc_pi_state(void)
} }
/* /*
* Drops a reference to the pi_state object and frees or caches it
* when the last reference is gone.
*
* Must be called with the hb lock held. * Must be called with the hb lock held.
*/ */
static void free_pi_state(struct futex_pi_state *pi_state) static void put_pi_state(struct futex_pi_state *pi_state)
{ {
if (!pi_state) if (!pi_state)
return; return;
...@@ -1729,7 +1732,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, ...@@ -1729,7 +1732,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags,
case 0: case 0:
break; break;
case -EFAULT: case -EFAULT:
free_pi_state(pi_state); put_pi_state(pi_state);
pi_state = NULL; pi_state = NULL;
double_unlock_hb(hb1, hb2); double_unlock_hb(hb1, hb2);
hb_waiters_dec(hb2); hb_waiters_dec(hb2);
...@@ -1746,7 +1749,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, ...@@ -1746,7 +1749,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags,
* exit to complete. * exit to complete.
* - The user space value changed. * - The user space value changed.
*/ */
free_pi_state(pi_state); put_pi_state(pi_state);
pi_state = NULL; pi_state = NULL;
double_unlock_hb(hb1, hb2); double_unlock_hb(hb1, hb2);
hb_waiters_dec(hb2); hb_waiters_dec(hb2);
...@@ -1815,7 +1818,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, ...@@ -1815,7 +1818,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags,
} else if (ret) { } else if (ret) {
/* -EDEADLK */ /* -EDEADLK */
this->pi_state = NULL; this->pi_state = NULL;
free_pi_state(pi_state); put_pi_state(pi_state);
goto out_unlock; goto out_unlock;
} }
} }
...@@ -1824,7 +1827,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, ...@@ -1824,7 +1827,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags,
} }
out_unlock: out_unlock:
free_pi_state(pi_state); put_pi_state(pi_state);
double_unlock_hb(hb1, hb2); double_unlock_hb(hb1, hb2);
wake_up_q(&wake_q); wake_up_q(&wake_q);
hb_waiters_dec(hb2); hb_waiters_dec(hb2);
...@@ -1973,7 +1976,7 @@ static void unqueue_me_pi(struct futex_q *q) ...@@ -1973,7 +1976,7 @@ static void unqueue_me_pi(struct futex_q *q)
__unqueue_futex(q); __unqueue_futex(q);
BUG_ON(!q->pi_state); BUG_ON(!q->pi_state);
free_pi_state(q->pi_state); put_pi_state(q->pi_state);
q->pi_state = NULL; q->pi_state = NULL;
spin_unlock(q->lock_ptr); spin_unlock(q->lock_ptr);
...@@ -2759,7 +2762,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, ...@@ -2759,7 +2762,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags,
* Drop the reference to the pi state which * Drop the reference to the pi state which
* the requeue_pi() code acquired for us. * the requeue_pi() code acquired for us.
*/ */
free_pi_state(q.pi_state); put_pi_state(q.pi_state);
spin_unlock(q.lock_ptr); spin_unlock(q.lock_ptr);
} }
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment