WSL2-Linux-Kernel/drivers/scsi
Mike Christie ec29d0ac29 scsi: iscsi: Fix conn use after free during resets
If we haven't done a unbind target call we can race where
iscsi_conn_teardown wakes up the EH thread and then frees the conn while
those threads are still accessing the conn ehwait.

We can only do one TMF per session so this just moves the TMF fields from
the conn to the session. We can then rely on the
iscsi_session_teardown->iscsi_remove_session->__iscsi_unbind_session call
to remove the target and it's devices, and know after that point there is
no device or scsi-ml callout trying to access the session.

Link: https://lore.kernel.org/r/20210525181821.7617-14-michael.christie@oracle.com
Reviewed-by: Lee Duncan <lduncan@suse.com>
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2021-06-02 01:28:21 -04:00
..
aacraid scsi: aacraid: Replace one-element array with flexible-array member 2021-05-10 22:28:31 -04:00
aic7xxx scsi: aic7xxx: Remove unused function pointer typedef ahc_bus_suspend/resume_t 2021-02-22 22:27:59 -05:00
aic94xx scsi: aic94xx: Avoid -Wempty-body warning 2021-04-01 22:55:25 -04:00
arcmsr scsi: arcmsr: Update driver version to v1.50.00.05-20210429 2021-05-21 16:55:32 -04:00
arm scsi: fas216: Use fallthrough pseudo-keyword 2021-05-21 22:14:39 -04:00
be2iscsi scsi: iscsi: Rel ref after iscsi_lookup_endpoint() 2021-06-02 01:28:20 -04:00
bfa scsi: bfa: Fix inconsistent indenting 2021-05-21 17:01:18 -04:00
bnx2fc scsi: bnx2fc: Fix a typo 2021-03-24 22:58:33 -04:00
bnx2i scsi: iscsi: Rel ref after iscsi_lookup_endpoint() 2021-06-02 01:28:20 -04:00
csiostor scsi: csiostor: Fix a typo 2021-03-24 22:54:24 -04:00
cxgbi scsi: iscsi: Rel ref after iscsi_lookup_endpoint() 2021-06-02 01:28:20 -04:00
cxlflash pci-v5.13-changes 2021-05-05 13:24:11 -07:00
device_handler scsi: scsi_dh_alua: Retry RTPG on a different path after failure 2021-05-21 23:06:29 -04:00
dpt scsi: docs: convert dpti.txt to ReST 2020-03-11 23:07:59 -04:00
esas2r scsi: esas2r: Switch to flexible array member 2021-06-02 00:56:15 -04:00
fcoe scsi: fcoe: Suppress a compiler warning 2021-04-15 22:44:40 -04:00
fnic scsi: fnic: Use scsi_host_busy_iter() to traverse commands 2021-05-02 22:47:42 -04:00
hisi_sas scsi: hisi_sas: Propagate errors in interrupt_init_v1_hw() 2021-05-21 17:04:13 -04:00
ibmvscsi scsi: ibmvfc: Reinit target retries 2021-05-14 23:02:42 -04:00
ibmvscsi_tgt SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
isci scsi: isci: Use correctly sized target buffer for memcpy() 2021-06-02 00:56:15 -04:00
libfc scsi: libfc: Fix a format specifier 2021-04-15 22:44:40 -04:00
libsas SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
lpfc scsi: lpfc: Update lpfc version to 12.8.0.10 2021-05-21 23:23:28 -04:00
megaraid scsi: megaraid_sas: Update driver version to 07.717.02.00-rc1 2021-06-02 01:06:33 -04:00
mpi3mr scsi: mpi3mr: Add event handling debug prints 2021-06-02 00:56:18 -04:00
mpt3sas scsi: mpt3sas: Fix fall-through warnings for Clang 2021-06-02 00:56:15 -04:00
mvsas scsi: mvsas: Avoid -Wempty-body warning 2021-04-01 22:56:37 -04:00
pcmcia module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
pm8001 scsi: pm80xx: Remove global lock from outbound queue processing 2021-04-15 22:29:00 -04:00
qedf scsi: qedf: Use vzalloc() instead of vmalloc()/memset(0) 2021-05-21 16:31:17 -04:00
qedi scsi: iscsi: Rel ref after iscsi_lookup_endpoint() 2021-06-02 01:28:20 -04:00
qla2xxx scsi: qla2xxx: Log PCI address in qla_nvme_unregister_remote_port() 2021-06-02 00:56:14 -04:00
qla4xxx scsi: iscsi: Rel ref after iscsi_lookup_endpoint() 2021-06-02 01:28:20 -04:00
smartpqi SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
snic scsi: snic: Fix an error message 2021-05-14 22:31:25 -04:00
sym53c8xx_2 scsi: Remove unneeded break statements 2020-10-26 18:23:24 -04:00
ufs scsi: ufs: Fix a kernel-doc related formatting issue 2021-06-02 00:56:15 -04:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
3w-9xxx.c scsi: 3w-9xxx: Fix endianness issues in command packets 2021-05-15 18:01:34 -04:00
3w-9xxx.h scsi: 3w-9xxx: Fix endianness issues in command packets 2021-05-15 18:01:34 -04:00
3w-sas.c scsi: 3w-sas: Remove unneeded variable 'retval' 2021-03-18 22:18:09 -04:00
3w-sas.h scsi: 3w-sas: Whitespace cleanup 2021-01-22 21:14:08 -05:00
3w-xxxx.c scsi: 3w-xxxx: Remove 2 unused variables 'response_que_value' and 'tw_dev' 2021-03-15 22:29:00 -04:00
3w-xxxx.h scsi: 3w-xxxx: Whitespace cleanup 2021-01-22 21:14:07 -05:00
53c700.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
53c700.h treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
53c700.scr
53c700_d.h_shipped
BusLogic.c SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
BusLogic.h BusLogic: reject broken old firmware that requires ISA-style bounce buffering 2021-04-06 09:28:17 -06:00
FlashPoint.c scsi: FlashPoint: Rename si_flags field 2021-06-02 00:56:15 -04:00
Kconfig scsi: mpi3mr: Add mpi30 Rev-R headers and Kconfig 2021-06-02 00:56:15 -04:00
Makefile scsi: mpi3mr: Add mpi30 Rev-R headers and Kconfig 2021-06-02 00:56:15 -04:00
NCR5380.c scsi: NCR5380: Remove context check 2020-12-07 20:24:09 -05:00
NCR5380.h scsi: NCR5380: Remove context check 2020-12-07 20:24:09 -05:00
a100u2w.c scsi: a100u2w: Remove unused variable biosaddr 2021-03-29 23:33:06 -04:00
a100u2w.h
a2091.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
a2091.h
a3000.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
a3000.h
a4000t.c
advansys.c SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
aha152x.c scsi: aha152x: Remove unused variable 'ret' 2020-07-08 01:12:53 -04:00
aha152x.h
aha1542.c aha1542: use a local bounce buffer 2021-04-06 09:28:17 -06:00
aha1542.h scsi: aha1542: Clarify 'struct ccb' comments 2021-01-13 00:14:07 -05:00
aha1740.c scsi: aha1740: Fix fall-through warnings for Clang 2020-12-02 12:59:46 -05:00
aha1740.h
am53c974.c
atari_scsi.c scsi: atari_scsi: Fix race condition between .queuecommand and EH 2020-11-23 22:12:09 -05:00
atp870u.c scsi: atp870u: Fix naming and demote incorrect and non-conformant kernel-doc header 2021-03-15 22:29:00 -04:00
atp870u.h scsi: atp870u: Whitespace cleanup 2021-01-22 21:14:08 -05:00
bvme6000_scsi.c
ch.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
constants.c scsi: core: Add DID_ALLOC_FAILURE and DID_MEDIUM_ERROR to hostbyte_table 2020-04-01 22:03:04 -04:00
dc395x.c scsi: dc395x: Open-code status_byte(u8) calls 2021-04-15 22:44:41 -04:00
dc395x.h scsi: dc395x: Drop internal SCSI message definitions 2021-01-22 21:14:10 -05:00
dmx3191d.c
dpt_i2o.c scsi: dpt_i2o: Use DID_ERROR instead of INITIATOR_ERROR message 2021-01-22 21:14:11 -05:00
dpti.h scsi: docs: convert dpti.txt to ReST 2020-03-11 23:07:59 -04:00
esp_scsi.c scsi: esp_scsi: Trivial typo fixes 2021-03-24 23:07:14 -04:00
esp_scsi.h
fdomain.c
fdomain.h scsi: fdomain: Mark 'fdomain_pm_ops' as __maybe_unused 2020-07-08 01:12:44 -04:00
fdomain_isa.c isa: Make the remove callback for isa drivers return void 2021-01-26 07:42:27 +01:00
fdomain_pci.c
g_NCR5380.c isa: Make the remove callback for isa drivers return void 2021-01-26 07:42:27 +01:00
gvp11.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
gvp11.h
hosts.c scsi: core: Cap scsi_host cmd_per_lun at can_queue 2021-05-22 00:34:39 -04:00
hpsa.c module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
hpsa.h scsi: hpsa: Update copyright 2020-09-02 22:49:06 -04:00
hpsa_cmd.h scsi: hpsa: Add an assert to prevent __packed reintroduction 2021-04-01 22:52:40 -04:00
hptiop.c scsi: Remove unneeded break statements 2020-10-26 18:23:24 -04:00
hptiop.h
imm.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
imm.h
initio.c scsi: initio: Fix a few kernel-doc misdemeanours 2021-03-18 23:35:55 -04:00
initio.h scsi: initio: Drop internal SCSI message definition 2021-01-22 21:14:10 -05:00
ipr.c scsi: ipr: Fix incorrect function names in their headers 2021-03-18 23:35:54 -04:00
ipr.h scsi: ipr: Fix struct packed-not-aligned issues 2020-07-15 17:26:58 -04:00
ips.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
ips.h treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
iscsi_boot_sysfs.c scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj 2020-06-02 21:23:47 -04:00
iscsi_tcp.c scsi: iscsi: iscsi_tcp: Start socket shutdown during conn stop 2021-06-02 01:28:20 -04:00
iscsi_tcp.h
jazz_esp.c scsi: jazz_esp: Add IRQ check 2021-04-13 00:20:48 -04:00
lasi700.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
libiscsi.c scsi: iscsi: Fix conn use after free during resets 2021-06-02 01:28:21 -04:00
libiscsi_tcp.c scsi: libiscsi: Drop taskqueuelock 2021-02-08 22:39:03 -05:00
mac53c94.c scsi: mac53c94: Fix warning comparing pointer to 0 2021-03-24 22:16:12 -04:00
mac53c94.h
mac_esp.c scsi: mac_esp: Use module_platform_driver to simplify the code 2020-10-02 21:52:53 -04:00
mac_scsi.c scsi: NCR5380: Remove context check 2020-12-07 20:24:09 -05:00
megaraid.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
megaraid.h
mesh.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mesh.h
mvme16x_scsi.c
mvme147.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
mvme147.h
mvumi.c scsi: mvumi: Fix formatting and doc-rot issues 2021-03-18 23:35:54 -04:00
mvumi.h scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
myrb.c scsi: myrb: Remove unused functions 2021-04-15 22:44:40 -04:00
myrb.h
myrs.c scsi: myrs: Remove unused functions 2021-04-15 22:44:41 -04:00
myrs.h
ncr53c8xx.c scsi: ncr53c8xx: Fix typos 2021-01-26 22:11:17 -05:00
ncr53c8xx.h scsi: ncr53c8xx: Use SAM status values 2021-01-22 21:14:12 -05:00
nsp32.c scsi: nsp32: Correct expected types in debug print formatting 2021-03-18 22:52:30 -04:00
nsp32.h
nsp32_debug.c
nsp32_io.h
pmcraid.c scsi: pmcraid: Correct function name pmcraid_show_adapter_id() in header 2021-03-18 23:35:55 -04:00
pmcraid.h scsi: pmcraid: Fix typos 2021-05-21 16:59:33 -04:00
ppa.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ppa.h
ps3rom.c powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11:00
qla1280.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
qla1280.h
qlogicfas.c
qlogicfas408.c
qlogicfas408.h
qlogicpti.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
qlogicpti.h
raid_class.c
script_asm.pl
scsi.c scsi: core: Replace sdev->device_busy with sbitmap 2021-03-04 17:37:00 -05:00
scsi.h
scsi_common.c
scsi_debug.c scsi: scsi_debug: Drop if with an always false condition 2021-05-14 22:34:31 -04:00
scsi_debugfs.c scsi: remove the unchecked_isa_dma flag 2021-04-06 09:28:17 -06:00
scsi_debugfs.h
scsi_devinfo.c scsi: doc: Fix some kernel-doc markups 2020-10-26 21:54:16 -04:00
scsi_dh.c scsi: scsi_dh: Fix a typo 2021-03-24 23:03:43 -04:00
scsi_error.c scsi: core: Introduce enum scsi_disposition 2021-04-15 22:44:40 -04:00
scsi_ioctl.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
scsi_lib.c SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
scsi_lib_dma.c
scsi_logging.c scsi: core: Delete unnecessary buffer allocation for every loop iteration 2020-07-24 22:09:57 -04:00
scsi_logging.h
scsi_netlink.c
scsi_pm.c scsi: block: pm: Simplify resume handling 2020-07-24 22:09:55 -04:00
scsi_priv.h scsi: core: Introduce enum scsi_disposition 2021-04-15 22:44:40 -04:00
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
scsi_sysctl.c
scsi_sysfs.c SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
scsi_trace.c scsi: scsi_trace: Use get_unaligned_be24() 2020-03-16 22:08:36 -04:00
scsi_transport_api.h
scsi_transport_fc.c scsi: scsi_transport_fc: Remove double FC_FPORT_DELETED in mask creation 2021-05-21 16:58:02 -04:00
scsi_transport_iscsi.c scsi: iscsi: Add iscsi_cls_conn refcount helpers 2021-06-02 01:28:20 -04:00
scsi_transport_sas.c scsi: scsi_transport_sas: Add spaces around binary operator "|" 2020-08-04 20:56:56 -04:00
scsi_transport_spi.c scsi: scsi_transport_spi: Set RQF_PM for domain validation commands 2020-12-09 11:41:42 -05:00
scsi_transport_srp.c scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state 2021-04-05 23:14:53 -04:00
scsicam.c include: remove pagemap.h from blkdev.h 2021-05-06 19:24:11 -07:00
sd.c scsi: sd: Introduce a new local variable in sd_check_events() 2021-04-15 22:44:41 -04:00
sd.h SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
sd_dif.c
sd_zbc.c Merge branch '5.12/scsi-fixes' into 5.13/scsi-staging 2021-04-05 22:57:29 -04:00
sense_codes.h scsi: core: Update additional sense codes list 2020-09-15 20:28:06 -04:00
ses.c
sg.c SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
sgiwd93.c sgiwd93: convert to dma_alloc_noncoherent 2020-09-25 06:20:44 +02:00
sim710.c scsi: sim710: Remove unused variable 'err' from sim710_init() 2021-03-18 22:52:29 -04:00
sni_53c710.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
sr.c sr: Remove in_interrupt() usage in sr_init_command(). 2020-12-12 11:12:25 -07:00
sr.h scsi: sr: get rid of sr global mutex 2020-02-24 15:01:57 -05:00
sr_ioctl.c scsi: remove the unchecked_isa_dma flag 2021-04-06 09:28:17 -06:00
sr_vendor.c scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled 2020-02-24 14:59:01 -05:00
st.c scsi: remove the unchecked_isa_dma flag 2021-04-06 09:28:17 -06:00
st.h scsi: remove the unchecked_isa_dma flag 2021-04-06 09:28:17 -06:00
st_options.h
stex.c scsi: stex: Do not set COMMAND_COMPLETE 2021-01-22 21:14:10 -05:00
storvsc_drv.c scsi: storvsc: Enable scatterlist entry lengths > 4Kbytes 2021-03-17 00:04:40 -04:00
sun3_scsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sun3_scsi_vme.c
sun3x_esp.c scsi: sun3x_esp: Add IRQ check 2021-04-13 00:20:48 -04:00
sun_esp.c scsi: sun_esp: Use module_platform_driver to simplify the code 2020-10-02 21:52:55 -04:00
virtio_scsi.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
vmw_pvscsi.c scsi: vmw_pvscsi: MAINTAINERS: Update maintainer 2021-03-04 17:21:25 -05:00
vmw_pvscsi.h scsi: vmw_pvscsi: MAINTAINERS: Update maintainer 2021-03-04 17:21:25 -05:00
wd33c93.c scsi: wd33c93: Use SCSI status 2021-01-22 21:14:12 -05:00
wd33c93.h
wd719x.c
wd719x.h
xen-scsifront.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
zalon.c
zorro7xx.c
zorro_esp.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00