diff options
author | Jörn Engel <joern@logfs.org> | 2012-04-12 17:33:58 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-05-17 10:08:54 +0100 |
commit | 6acddc5e911bb3a4a007448371ed7317c85669da (patch) | |
tree | ef5ac2ea141645723d2e898f83ed4414dc36f4bc /security | |
parent | ebaf466be5afa6c6dca29005374de4534e0e6b33 (diff) |
[SCSI] sg: prevent unwoken sleep
srp->done is protected by sfp->rq_list_lock everywhere, except for this
one case. Result can be that the wake-up happens before the cacheline
with the changed srp->done has arrived, so the waiter can go back to
sleep and never be woken up again.
The wait_event_interruptible() means that anyone trying to debug this
unlikely race will likely notice everything working fine again, as the
next signal will unwedge things. Evil.
Signed-off-by: Joern Engel <joern@logfs.org>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions