Lee Duncan
2cb66df2c2
scsi: libiscsi: Fix NOP race condition
...
[ Upstream commit fe0a8a95e7134d0b44cd407bc0085b9ba8d8fe31 ]
iSCSI NOPs are sometimes "lost", mistakenly sent to the user-land iscsid
daemon instead of handled in the kernel, as they should be, resulting in a
message from the daemon like:
iscsid: Got nop in, but kernel supports nop handling.
This can occur because of the new forward- and back-locks, and the fact
that an iSCSI NOP response can occur before processing of the NOP send is
complete. This can result in "conn->ping_task" being NULL in
iscsi_nop_out_rsp(), when the pointer is actually in the process of being
set.
To work around this, we add a new state to the "ping_task" pointer. In
addition to NULL (not assigned) and a pointer (assigned), we add the state
"being set", which is signaled with an INVALID pointer (using "-1").
Link: https://lore.kernel.org/r/20201106193317.16993-1-leeman.duncan@gmail.com
Reviewed-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Lee Duncan <lduncan@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-12-02 08:31:26 +01:00
..
fc
fc_fip: Update to latest FC-BB-6 draft
2016-07-13 22:04:27 -04:00
fc_encode.h
fc_frame.h
fcoe_sysfs.h
libfcoe, fcoe, bnx2fc: Add new fcoe control interface
2012-12-14 10:38:54 -08:00
iscsi_if.h
scsi_transport_iscsi: Add 25G and 40G speed definition
2016-02-23 21:27:02 -05:00
iscsi_proto.h
scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session"
2020-02-28 15:42:54 +01:00
iser.h
IB/iser,isert: Create and use new shared header
2015-12-24 00:17:35 -05:00
libfc.h
fcoe: implement FIP VLAN responder
2016-07-20 19:49:41 -04:00
libfcoe.h
scsi: fcoe: Embed fc_rport_priv in fcoe_rport structure
2019-08-11 12:22:12 +02:00
libiscsi.h
scsi: libiscsi: Fix NOP race condition
2020-12-02 08:31:26 +01:00
libiscsi_tcp.h
iscsi_tcp: Use ahash
2016-01-27 20:36:10 +08:00
libsas.h
scsi: libsas: align sata_device's rps_resp on a cacheline
2017-12-14 09:28:11 +01:00
osd_attributes.h
osd_initiator.h
Boaz Harrosh - Fix broken email address
2014-10-19 20:22:32 +03:00
osd_ore.h
Boaz Harrosh - Fix broken email address
2014-10-19 20:22:32 +03:00
osd_protocol.h
Boaz Harrosh - Fix broken email address
2014-10-19 20:22:32 +03:00
osd_sec.h
Boaz Harrosh - Fix broken email address
2014-10-19 20:22:32 +03:00
osd_sense.h
Boaz Harrosh - Fix broken email address
2014-10-19 20:22:32 +03:00
osd_types.h
Boaz Harrosh - Fix broken email address
2014-10-19 20:22:32 +03:00
sas.h
scsi: Centralise ssp frame information units
2015-11-25 22:12:50 -05:00
sas_ata.h
[SCSI] sas: unify the pointlessly separated enums sas_dev_type and sas_device_type
2013-05-10 07:47:52 -07:00
scsi.h
lib: scatterlist: move SG pool code from SCSI driver to lib/sg_pool.c
2016-04-15 16:53:14 -04:00
scsi_bsg_iscsi.h
scsi_cmnd.h
scsi: stop passing a gfp_mask argument down the command setup path
2014-11-24 19:56:55 +01:00
scsi_common.h
scsi: target: core: Add CONTROL field for trace events
2020-10-29 09:05:43 +01:00
scsi_dbg.h
scsi: core: Reduce memory required for SCSI logging
2019-10-07 18:53:15 +02:00
scsi_device.h
scsi: Add STARGET_CREATED_REMOVE state to scsi_target_state
2017-07-27 15:07:59 -07:00
scsi_devinfo.h
scsi_dh_alua: Add new blacklist flag 'BLIST_SYNC_ALUA'
2016-02-23 21:27:02 -05:00
scsi_dh.h
scsi_dh: add 'rescan' callback
2016-02-23 21:27:02 -05:00
scsi_driver.h
scsi: remove scsi_driver owner field
2014-11-24 20:01:28 +01:00
scsi_eh.h
libata: evaluate SCSI sense code
2016-04-04 12:07:41 -04:00
scsi_host.h
scsi: Avoid that toggling use_blk_mq triggers a memory leak
2016-09-26 20:58:42 -04:00
scsi_ioctl.h
scsi: split scsi_nonblockable_ioctl
2014-11-12 11:16:11 +01:00
scsi_proto.h
scsi-trace: define ZBC_IN and ZBC_OUT
2016-04-11 16:57:09 -04:00
scsi_tcq.h
scsi: use host wide tags by default
2015-11-09 17:11:57 -08:00
scsi_transport.h
scsi: use 64-bit LUNs
2014-07-17 22:07:37 +02:00
scsi_transport_fc.h
scsi: fc: use get/put_unaligned64 for wwn access
2016-03-18 15:29:58 -04:00
scsi_transport_iscsi.h
iSCSI: let session recovery_tmo sysfs writes persist across recovery
2015-07-30 12:43:00 -07:00
scsi_transport_sas.h
scsi: sas: remove is_sas_attached()
2016-08-18 22:23:20 -04:00
scsi_transport_spi.h
scsi: remove abuses of scsi_populate_tag
2014-11-12 11:19:41 +01:00
scsi_transport_srp.h
IB/srp: Avoid using uninitialized variable
2015-07-14 13:20:09 -04:00
scsicam.h
sg.h
scsi: sg: disable SET_FORCE_LOW_DMA
2018-01-23 19:57:04 +01:00
srp.h
IB/srp: Add 64-bit LUN support
2015-05-18 13:35:56 -04:00
viosrp.h
ibmvscsis: Initial commit of IBM VSCSI Tgt Driver
2016-07-20 01:15:43 -07:00