linux/drivers/scsi
Quinn Tran f45bca8c50 scsi: qla2xxx: Fix double scsi_done for abort path
Current code assumes abort will remove the original command from the active
list where scsi_done will not be called. Instead, the eh_abort thread will
do the scsi_done. That is not the case.  Instead, we have a double
scsi_done calls triggering use after free.

Abort will tell FW to release the command from FW possesion. The original
command will return to ULP with error in its normal fashion via scsi_done.
eh_abort path would wait for the original command completion before
returning.  eh_abort path will not perform the scsi_done call.

Fixes: 219d27d714 ("scsi: qla2xxx: Fix race conditions in the code for aborting SCSI commands")
Cc: stable@vger.kernel.org # 5.2
Link: https://lore.kernel.org/r/20191105150657.8092-6-hmadhani@marvell.com
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2019-11-08 21:15:42 -05:00
..
aacraid scsi: aacraid: bump version 2019-10-18 19:34:18 -04:00
aic7xxx SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
aic94xx scsi: aic94xx: Remove unnecessary null check 2019-07-30 12:12:59 -04:00
arcmsr treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
arm scsi: Fix various misspellings of "connect" 2019-10-24 21:22:32 -04:00
be2iscsi treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 338 2019-06-05 17:37:07 +02:00
bfa scsi: bfa: Make restart_bfa static 2019-09-30 23:59:53 -04:00
bnx2fc scsi: Fix various misspellings of "connect" 2019-10-24 21:22:32 -04:00
bnx2i treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
csiostor scsi: csiostor: Return value not required for csio_dfs_destroy 2019-11-01 20:22:05 -04:00
cxgbi scsi: cxgb4i: remove set but not used variable 'ppmax' 2019-10-24 21:15:30 -04:00
cxlflash scsi: cxlflash: remove set but not used variable 'ioarcb' 2019-10-22 22:39:40 -04:00
device_handler SCSI misc on 20190919 2019-09-21 10:50:15 -07:00
dpt treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
esas2r scsi: esas2r: unlock on error in esas2r_nvram_read_direct() 2019-10-24 21:17:16 -04:00
fcoe SCSI misc on 20190919 2019-09-21 10:50:15 -07:00
fnic scsi: fnic: fix use after free 2019-11-06 00:04:02 -05:00
hisi_sas scsi: hisi_sas: Record the phy down event in debugfs 2019-10-24 21:31:15 -04:00
ibmvscsi SCSI misc on 20190919 2019-09-21 10:50:15 -07:00
ibmvscsi_tgt scsi: ibmvscsi_tgt: Mark expected switch fall-throughs 2019-07-30 15:59:53 -04:00
isci scsi: Fix various misspellings of "connect" 2019-10-24 21:22:32 -04:00
libfc scsi: fcoe: Embed fc_rport_priv in fcoe_rport structure 2019-07-29 21:12:35 -04:00
libsas scsi: libsas: sas_discover: Mark expected switch fall-through 2019-08-20 19:43:54 -05:00
lpfc scsi: lpfc: Update lpfc version to 12.6.0.1 2019-11-06 00:04:04 -05:00
megaraid scsi: megaraid_sas: remove unused variables 'debugBlk','fusion' 2019-10-09 23:33:14 -04:00
mpt3sas scsi: mpt3sas: change allocation option 2019-10-24 21:20:31 -04:00
mvsas scsi: mvsas: remove redundant assignment to variable rc 2019-09-30 22:42:41 -04:00
pcmcia SCSI sg on 20190709 2019-07-11 15:17:41 -07:00
pm8001 scsi: pm8001: Fix Use plain integer as NULL pointer 2019-11-01 20:16:35 -04:00
qedf scsi: Fix various misspellings of "connect" 2019-10-24 21:22:32 -04:00
qedi scsi: Fix various misspellings of "connect" 2019-10-24 21:22:32 -04:00
qla2xxx scsi: qla2xxx: Fix double scsi_done for abort path 2019-11-08 21:15:42 -05:00
qla4xxx treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
smartpqi scsi: smartpqi: bump version 2019-10-09 23:11:32 -04:00
snic scsi: snic: no need to check return value of debugfs_create functions 2019-01-29 00:40:54 -05:00
sym53c8xx_2 scsi: sym53c8xx_2: remove redundant assignment to retv 2019-08-12 21:58:07 -04:00
ufs scsi: ufs: Use enum dev_cmd_type where appropriate 2019-10-31 22:16:05 -04:00
.gitignore
3w-9xxx.c scsi: 3w-9xxx: fix calls to dma_set_mask_and_coherent() 2019-02-25 21:37:25 -05:00
3w-9xxx.h
3w-sas.c SCSI fixes on 20190302 2019-03-02 11:39:54 -08:00
3w-sas.h
3w-xxxx.c scsi: 3w-xxxx: fix indentation issue, add missing tab 2018-12-19 21:54:07 -05:00
3w-xxxx.h
53c700_d.h_shipped
53c700.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
53c700.h
53c700.scr
a100u2w.c cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
a100u2w.h
a2091.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
a2091.h
a3000.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
a3000.h
a4000t.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
advansys.c SCSI sg on 20190709 2019-07-11 15:17:41 -07:00
aha152x.c SCSI sg on 20190709 2019-07-11 15:17:41 -07:00
aha152x.h
aha1542.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
aha1542.h
aha1740.c scsi: flip the default on use_clustering 2018-12-18 23:13:12 -05:00
aha1740.h
am53c974.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
atari_scsi.c nvram: Replace nvram_* function exports with static functions 2019-01-22 10:21:43 +01:00
atp870u.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
atp870u.h
BusLogic.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 388 2019-06-05 17:37:11 +02:00
BusLogic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 388 2019-06-05 17:37:11 +02:00
bvme6000_scsi.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
ch.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
constants.c
dc395x.c scsi: remove the use_clustering flag 2018-12-18 23:19:21 -05:00
dc395x.h
dmx3191d.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
dpt_i2o.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dpti.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
esp_scsi.c SCSI sg on 20190709 2019-07-11 15:17:41 -07:00
esp_scsi.h scsi: esp: use sg helper to iterate over scatterlist 2019-06-20 15:21:33 -04:00
fdomain_isa.c scsi: fdomain_isa: use CFG1_IRQ_MASK 2019-07-30 12:18:24 -04:00
fdomain_pci.c scsi: fdomain: Resurrect driver - PCI support 2019-06-18 19:46:18 -04:00
fdomain.c scsi: fdomain: use BSTAT_{MSG|CMD|IO} in fdomain_work() 2019-07-30 12:17:28 -04:00
fdomain.h scsi: fdomain: Add register definitions 2019-06-18 19:46:22 -04:00
FlashPoint.c
g_NCR5380.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
gdth_ioctl.h scsi: gdth: remove dead code under #ifdef GDTH_IOCTL_PROC 2019-01-08 21:58:35 -05:00
gdth_proc.c scsi: gdth: use generic DMA API 2019-01-08 21:58:35 -05:00
gdth_proc.h scsi: gdth: remove gdth_{alloc,free}_ioctl 2019-01-08 21:57:42 -05:00
gdth.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 148 2019-05-30 11:25:18 -07:00
gdth.h scsi: gdth: remove ISA and EISA support 2019-01-08 21:58:35 -05:00
gvp11.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
gvp11.h
hosts.c scsi: core: avoid host-wide host_busy counter for scsi_mq 2019-11-01 20:12:50 -04:00
hpsa_cmd.h SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
hpsa.c pci-v5.4-changes 2019-09-23 19:16:01 -07:00
hpsa.h scsi: hpsa: correct device resets 2019-06-18 19:46:18 -04:00
hptiop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
hptiop.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
imm.c SCSI sg on 20190709 2019-07-11 15:17:41 -07:00
imm.h
initio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 18 2019-05-21 11:28:46 +02:00
initio.h
ipr.c SCSI sg on 20190709 2019-07-11 15:17:41 -07:00
ipr.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
ips.c scsi: ips: make array 'options' static const, makes object smaller 2019-09-30 22:46:40 -04:00
ips.h scsi: ips: properly handle 64-bit DMA 2018-11-06 21:31:28 -05:00
iscsi_boot_sysfs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 287 2019-06-05 17:36:37 +02:00
iscsi_tcp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
iscsi_tcp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
jazz_esp.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
Kconfig scsi: fdomain: fix building pcmcia front-end 2019-07-22 22:05:48 -04:00
lasi700.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
libiscsi_tcp.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
libiscsi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
mac53c94.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
mac53c94.h
mac_esp.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
mac_scsi.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
Makefile scsi: remove pointless $(MODVERDIR)/$(obj)/53c700.ver 2019-07-17 22:39:27 +09:00
megaraid.c scsi: megaraid: disable device when probe failed after enabled device 2019-09-23 23:09:42 -04:00
megaraid.h
mesh.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
mesh.h
mvme16x_scsi.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
mvme147.c scsi: flip the default on use_clustering 2018-12-18 23:13:12 -05:00
mvme147.h
mvumi.c SCSI sg on 20190709 2019-07-11 15:17:41 -07:00
mvumi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
myrb.c SCSI misc on 20181224 2018-12-28 14:48:06 -08:00
myrb.h
myrs.c scsi: myrs: Fix uninitialized variable 2019-05-20 10:56:43 -04:00
myrs.h
ncr53c8xx.c scsi: Fix various misspellings of "connect" 2019-10-24 21:22:32 -04:00
ncr53c8xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
NCR5380.c SCSI sg on 20190709 2019-07-11 15:17:41 -07:00
NCR5380.h Revert "scsi: ncr5380: Increase register polling limit" 2019-06-20 15:37:02 -04:00
nsp32_debug.c
nsp32_io.h
nsp32.c scsi: Fix various misspellings of "connect" 2019-10-24 21:22:32 -04:00
nsp32.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 2019-05-24 17:39:02 +02:00
pmcraid.c scsi: pmcraid: Fix a typo - pcmraid --> pmcraid 2019-08-12 21:57:13 -04:00
pmcraid.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
ppa.c scsi: ppa: use sg helper to iterate over scatterlist 2019-06-20 15:21:33 -04:00
ppa.h
ps3rom.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 164 2019-05-30 11:26:38 -07:00
qla1280.c qla1280: remove SGI SN2 support 2019-08-16 11:33:56 -07:00
qla1280.h qla1280: remove SGI SN2 support 2019-08-16 11:33:56 -07:00
qlogicfas408.c scsi: qlogicfas408: clean up a couple of indentation issues 2019-03-19 17:11:37 -04:00
qlogicfas408.h
qlogicfas.c scsi: remove the use_clustering flag 2018-12-18 23:19:21 -05:00
qlogicpti.c scsi: qlogicpti: Mark expected switch fall-throughs 2019-08-07 21:32:53 -04:00
qlogicpti.h scsi: qlogicpti: Use of_node_name_eq for node name comparisons 2019-02-13 22:07:03 -05:00
raid_class.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 437 2019-06-05 17:37:17 +02:00
script_asm.pl treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
scsi_common.c
scsi_debug.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 45 2019-05-24 17:27:12 +02:00
scsi_debugfs.c scsi: scsi_debugfs: Use for_each_set_bit to simplify code 2019-07-30 12:42:55 -04:00
scsi_debugfs.h scsi: core: add SPDX tags to scsi midlayer files missing licensing information 2019-05-21 06:16:21 -04:00
scsi_devinfo.c scsi: devinfo: BLIST_TRY_VPD_PAGES for SanDisk Cruzer Blade 2019-07-11 20:39:22 -04:00
scsi_dh.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
scsi_error.c scsi: core: save/restore command resid for error handling 2019-10-03 21:43:04 -04:00
scsi_ioctl.c scsi: core: add SPDX tags to scsi midlayer files missing licensing information 2019-05-21 06:16:21 -04:00
scsi_lib_dma.c
scsi_lib.c scsi: core: avoid host-wide host_busy counter for scsi_mq 2019-11-01 20:12:50 -04:00
scsi_logging.c scsi: core: Log SCSI command age with errors 2019-09-30 23:07:16 -04:00
scsi_logging.h
scsi_netlink.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
scsi_pm.c scsi: core: remove dummy q->dev check 2019-09-12 07:11:58 -06:00
scsi_priv.h scsi: core: avoid host-wide host_busy counter for scsi_mq 2019-11-01 20:12:50 -04:00
scsi_proc.c drivers: Add generic helper to match any device 2019-07-30 13:07:42 +02:00
scsi_sas_internal.h
scsi_scan.c scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT 2019-04-15 22:25:00 -04:00
scsi_sysctl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 209 2019-05-30 11:29:53 -07:00
scsi_sysfs.c scsi: core: Add sysfs attributes for VPD pages 0h and 89h 2019-09-30 23:24:36 -04:00
scsi_trace.c scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6) 2019-11-06 00:06:03 -05:00
scsi_transport_api.h
scsi_transport_fc.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
scsi_transport_iscsi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
scsi_transport_sas.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 209 2019-05-30 11:29:53 -07:00
scsi_transport_spi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
scsi_transport_srp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 502 2019-06-19 17:09:56 +02:00
scsi.c scsi: core: avoid host-wide host_busy counter for scsi_mq 2019-11-01 20:12:50 -04:00
scsi.h
scsicam.c
sd_dif.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 410 2019-06-05 17:37:14 +02:00
sd_zbc.c sd: Set ELEVATOR_F_ZBD_SEQ_WRITE for ZBC disks 2019-09-05 19:52:34 -06:00
sd.c Merge branch '5.4/scsi-fixes' into 5.5/scsi-queue 2019-10-09 21:54:04 -04:00
sd.h scsi: implement REQ_OP_ZONE_RESET_ALL 2019-08-04 21:41:29 -06:00
sense_codes.h
ses.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
sg.c scsi: sg: sg_ioctl(): get rid of access_ok() 2019-11-06 00:04:03 -05:00
sgiwd93.c scsi: remove the use_clustering flag 2018-12-18 23:19:21 -05:00
sim710.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
sni_53c710.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
sr_ioctl.c
sr_vendor.c
sr.c scsi: sr: add a SPDX tag to sr.c 2019-05-21 06:16:23 -04:00
sr.h
st_options.h
st.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
st.h
stex.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
storvsc_drv.c scsi: storvsc: setup 1:1 mapping between hardware queue and CPU queue 2019-09-23 23:09:42 -04:00
sun3_scsi_vme.c
sun3_scsi.c scsi: sun3_scsi: Mark expected switch fall-throughs 2019-08-07 21:33:51 -04:00
sun3x_esp.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
sun_esp.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
virtio_scsi.c scsi: virtio_scsi: unplug LUNs when events missed 2019-09-10 22:10:17 -04:00
vmw_pvscsi.c SCSI sg on 20190709 2019-07-11 15:17:41 -07:00
vmw_pvscsi.h
wd33c93.c scsi: wd33c93: Mark expected switch fall-through 2019-08-07 21:35:59 -04:00
wd33c93.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 2019-05-24 17:39:02 +02:00
wd719x.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
wd719x.h scsi: wd719x: use per-command private data 2018-11-15 14:27:08 -05:00
xen-scsifront.c scsi: xen-scsifront: remove DISABLE_CLUSTERING 2018-12-18 23:13:12 -05:00
zalon.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
zorro7xx.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
zorro_esp.c