diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-08 15:16:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-08 15:16:35 -0400 |
commit | f579bbcd9bb8b688df03191b92c56ab8af4d6322 (patch) | |
tree | d450f986022aab73f86f794a03c7f21ad0ece8ec /kernel/futex.c | |
parent | e80fb7e52fd305b916a671755ca31ecf8f92e94e (diff) | |
parent | da085681014fb43d67d9bf6d14bc068e9254bd49 (diff) |
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
futex: fix requeue_pi key imbalance
futex: Fix typo in FUTEX_WAIT/WAKE_BITSET_PRIVATE definitions
rcu: Place root rcu_node structure in separate lockdep class
rcu: Make hot-unplugged CPU relinquish its own RCU callbacks
rcu: Move rcu_barrier() to rcutree
futex: Move exit_pi_state() call to release_mm()
futex: Nullify robust lists after cleanup
futex: Fix locking imbalance
panic: Fix panic message visibility by calling bust_spinlocks(0) before dying
rcu: Replace the rcu_barrier enum with pointer to call_rcu*() function
rcu: Clean up code based on review feedback from Josh Triplett, part 4
rcu: Clean up code based on review feedback from Josh Triplett, part 3
rcu: Fix rcu_lock_map build failure on CONFIG_PROVE_LOCKING=y
rcu: Clean up code to address Ingo's checkpatch feedback
rcu: Clean up code based on review feedback from Josh Triplett, part 2
rcu: Clean up code based on review feedback from Josh Triplett
Diffstat (limited to 'kernel/futex.c')
-rw-r--r-- | kernel/futex.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/futex.c b/kernel/futex.c index b911adceb2c4..4949d336d88d 100644 --- a/kernel/futex.c +++ b/kernel/futex.c | |||
@@ -916,8 +916,8 @@ retry: | |||
916 | hb1 = hash_futex(&key1); | 916 | hb1 = hash_futex(&key1); |
917 | hb2 = hash_futex(&key2); | 917 | hb2 = hash_futex(&key2); |
918 | 918 | ||
919 | double_lock_hb(hb1, hb2); | ||
920 | retry_private: | 919 | retry_private: |
920 | double_lock_hb(hb1, hb2); | ||
921 | op_ret = futex_atomic_op_inuser(op, uaddr2); | 921 | op_ret = futex_atomic_op_inuser(op, uaddr2); |
922 | if (unlikely(op_ret < 0)) { | 922 | if (unlikely(op_ret < 0)) { |
923 | 923 | ||
@@ -2117,7 +2117,6 @@ int handle_early_requeue_pi_wakeup(struct futex_hash_bucket *hb, | |||
2117 | * Unqueue the futex_q and determine which it was. | 2117 | * Unqueue the futex_q and determine which it was. |
2118 | */ | 2118 | */ |
2119 | plist_del(&q->list, &q->list.plist); | 2119 | plist_del(&q->list, &q->list.plist); |
2120 | drop_futex_key_refs(&q->key); | ||
2121 | 2120 | ||
2122 | if (timeout && !timeout->task) | 2121 | if (timeout && !timeout->task) |
2123 | ret = -ETIMEDOUT; | 2122 | ret = -ETIMEDOUT; |