aboutsummaryrefslogtreecommitdiff
path: root/drivers/scsi/mpt2sas/mpt2sas_scsih.c
diff options
context:
space:
mode:
authorDarren Hart <[email protected]>2009-08-07 15:20:48 -0700
committerIngo Molnar <[email protected]>2009-08-10 20:38:11 +0200
commit392741e0a4e17c82e3978b7fcbf04291294dc0a1 (patch)
treec58437276d5eae05c46b3739d9bece01e357e6e2 /drivers/scsi/mpt2sas/mpt2sas_scsih.c
parent4dc88029fd916b860ef063c40180aa604ce93494 (diff)
futex: Fix handling of bad requeue syscall pairing
If futex_requeue(requeue_pi=1) finds a futex_q that was created by a call other the futex_wait_requeue_pi(), the q.rt_waiter may be null. If so, this will result in an oops from the following call graph: futex_requeue() rt_mutex_start_proxy_lock() task_blocks_on_rt_mutex() waiter->task dereference OOPS We currently WARN_ON() if this is detected, clearly this is inadequate. If we detect a mispairing in futex_requeue(), bail out, seding -EINVAL to user-space. V2: Fix parenthesis warnings. Signed-off-by: Darren Hart <[email protected]> Acked-by: Peter Zijlstra <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: John Kacur <[email protected]> Cc: Eric Dumazet <[email protected]> Cc: Dinakar Guniguntala <[email protected]> Cc: John Stultz <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'drivers/scsi/mpt2sas/mpt2sas_scsih.c')
0 files changed, 0 insertions, 0 deletions