summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_pm.c
diff options
context:
space:
mode:
authorLee Duncan <lduncan@suse.com>2019-02-25 18:41:30 +0100
committerMartin K. Petersen <martin.petersen@oracle.com>2019-03-08 03:37:04 +0100
commita656183e6c58a3a4d818278afab522b30a17014c (patch)
treecbb8559e07d33ae4234aaae5196501af4e7e9e86 /drivers/scsi/scsi_pm.c
parentscsi: hisi_sas: Change SERDES_CFG init value to increase reliability of HiLink (diff)
downloadlinux-a656183e6c58a3a4d818278afab522b30a17014c.tar.xz
linux-a656183e6c58a3a4d818278afab522b30a17014c.zip
scsi: libiscsi: Hold back_lock when calling iscsi_complete_task
If there is an error queueing an iscsi command in iscsi_queuecommand(), for example if the transport fails to take the command in sessuin->tt->xmit_task(), then the error path can call iscsi_complete_task() without first aquiring the back_lock as required. This can lead to things like ITT pool can get corrupt, resulting in duplicate ITTs being sent out. The solution is to hold the back_lock around iscsi_complete_task() calls, and to add a little commenting to help others understand when back_lock must be held. Signed-off-by: Lee Duncan <lduncan@suse.com> Acked-by: Chris Leech <cleech@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/scsi_pm.c')
0 files changed, 0 insertions, 0 deletions