aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorPeter Zijlstra <[email protected]>2017-09-22 17:48:06 +0200
committerThomas Gleixner <[email protected]>2017-09-25 16:37:11 +0200
commitc74aef2d06a9f59cece89093eecc552933cba72a (patch)
tree2f67fc86ee37ac10e61a58199b8667eb1c97bbdc /tools
parente19b205be43d11bff638cad4487008c48d21c103 (diff)
futex: Fix pi_state->owner serialization
There was a reported suspicion about a race between exit_pi_state_list() and put_pi_state(). The same report mentioned the comment with put_pi_state() said it should be called with hb->lock held, and it no longer is in all places. As it turns out, the pi_state->owner serialization is indeed broken. As per the new rules: 734009e96d19 ("futex: Change locking rules") pi_state->owner should be serialized by pi_state->pi_mutex.wait_lock. For the sites setting pi_state->owner we already hold wait_lock (where required) but exit_pi_state_list() and put_pi_state() were not and raced on clearing it. Fixes: 734009e96d19 ("futex: Change locking rules") Reported-by: Gratian Crisan <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Cc: [email protected] Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected]
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions