futex: Always cleanup owner tid in unlock_pi
authorThomas Gleixner <tglx@linutronix.de>
Tue, 3 Jun 2014 12:27:07 +0000 (12:27 +0000)
committerJP Abgrall <jpa@google.com>
Fri, 6 Jun 2014 21:53:47 +0000 (14:53 -0700)
commita2ec8e3dcdc6c93f574a0e22039b791cc5e14fa6
treebf7a40a0a74df5262631fa45599558e75f91aca1
parent550c7910f0e2fd4f130fec2f17541f3614fdfaf9
futex: Always cleanup owner tid in unlock_pi

If the owner died bit is set at futex_unlock_pi, we currently do not
cleanup the user space futex. So the owner TID of the current owner
(the unlocker) persists. That's observable inconsistant state,
especially when the ownership of the pi state got transferred.

Clean it up unconditionally.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Kees Cook <keescook@chromium.org>
Cc: Will Drewry <wad@chromium.org>
Cc: Darren Hart <dvhart@linux.intel.com>
Cc: stable@vger.kernel.org
kernel/futex.c