Commit bd1dbcc6 authored by Thomas Gleixner's avatar Thomas Gleixner

futex: Use futex_top_waiter() in lookup_pi_state()

No point in open coding the same function again.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Reviewed-by: default avatarDarren Hart <darren@dvhart.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Davidlohr Bueso <davidlohr@hp.com>
Cc: Kees Cook <kees@outflux.net>
Cc: wad@chromium.org
Link: http://lkml.kernel.org/r/20140611204237.092947239@linutronix.deSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent ccf9e6a8
...@@ -796,21 +796,20 @@ static int ...@@ -796,21 +796,20 @@ static int
lookup_pi_state(u32 uval, struct futex_hash_bucket *hb, lookup_pi_state(u32 uval, struct futex_hash_bucket *hb,
union futex_key *key, struct futex_pi_state **ps) union futex_key *key, struct futex_pi_state **ps)
{ {
struct futex_q *match = futex_top_waiter(hb, key);
struct futex_pi_state *pi_state = NULL; struct futex_pi_state *pi_state = NULL;
struct futex_q *this, *next;
struct task_struct *p; struct task_struct *p;
pid_t pid = uval & FUTEX_TID_MASK; pid_t pid = uval & FUTEX_TID_MASK;
plist_for_each_entry_safe(this, next, &hb->chain, list) { if (match) {
if (match_futex(&this->key, key)) {
/* /*
* Sanity check the waiter before increasing * Sanity check the waiter before increasing the
* the refcount and attaching to it. * refcount and attaching to it.
*/ */
pi_state = this->pi_state; pi_state = match->pi_state;
/* /*
* Userspace might have messed up non-PI and * Userspace might have messed up non-PI and PI
* PI futexes [3] * futexes [3]
*/ */
if (unlikely(!pi_state)) if (unlikely(!pi_state))
return -EINVAL; return -EINVAL;
...@@ -877,7 +876,6 @@ lookup_pi_state(u32 uval, struct futex_hash_bucket *hb, ...@@ -877,7 +876,6 @@ lookup_pi_state(u32 uval, struct futex_hash_bucket *hb,
*ps = pi_state; *ps = pi_state;
return 0; return 0;
} }
}
/* /*
* We are the first waiter - try to look up the real owner and attach * We are the first waiter - try to look up the real owner and attach
......
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