summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-02-03 09:33:05 +0100
committerThomas Gleixner <tglx@linutronix.de>2010-02-03 15:13:22 +0100
commit59647b6ac3050dd964bc556fe6ef22f4db5b935c (patch)
tree5e3b678a1172bce5f61143466bb172727cb13aec /include/linux
parent51246bfd189064079c54421507236fd2723b18f3 (diff)
downloadblackbird-op-linux-59647b6ac3050dd964bc556fe6ef22f4db5b935c.tar.gz
blackbird-op-linux-59647b6ac3050dd964bc556fe6ef22f4db5b935c.zip
futex: Handle futex value corruption gracefully
The WARN_ON in lookup_pi_state which complains about a mismatch between pi_state->owner->pid and the pid which we retrieved from the user space futex is completely bogus. The code just emits the warning and then continues despite the fact that it detected an inconsistent state of the futex. A conveniant way for user space to spam the syslog. Replace the WARN_ON by a consistency check. If the values do not match return -EINVAL and let user space deal with the mess it created. This also fixes the missing task_pid_vnr() when we compare the pi_state->owner pid with the futex value. Reported-by: Jermome Marchand <jmarchan@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Darren Hart <dvhltc@us.ibm.com> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: <stable@kernel.org>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud