diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-05-20 09:18:50 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-05-20 10:28:45 +0200 |
commit | c8b15a706d921baed3195407e4f55270112bb3c6 (patch) | |
tree | 514a45eb575cd093043fe1471ff579ffe439db3f /kernel/futex.c | |
parent | 521c180874dae86f675d23c4eade4dba8b1f2cc8 (diff) | |
download | linux-c8b15a706d921baed3195407e4f55270112bb3c6.tar.gz linux-c8b15a706d921baed3195407e4f55270112bb3c6.tar.bz2 linux-c8b15a706d921baed3195407e4f55270112bb3c6.zip |
futex: cleanup error exit
Reuse the put_key_ref(key2) call in the exit path.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/futex.c')
-rw-r--r-- | kernel/futex.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/futex.c b/kernel/futex.c index 476603afd147..381125a9f1e0 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -2185,10 +2185,8 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, int fshared, /* Prepare to wait on uaddr. */ ret = futex_wait_setup(uaddr, val, fshared, &q, &hb); - if (ret) { - put_futex_key(fshared, &key2); - goto out; - } + if (ret) + goto out_key2; /* Queue the futex_q, drop the hb lock, wait for wakeup. */ futex_wait_queue_me(hb, &q, to); @@ -2282,6 +2280,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, int fshared, out_put_keys: put_futex_key(fshared, &q.key); +out_key2: put_futex_key(fshared, &key2); out: |