Files
linux/drivers/scsi
Bart Van Assche 063c3cfb26 scsi: Revert "qla2xxx: Make sure that aborted commands are freed"
[ Upstream commit 39c0c8553b ]

Calling vha->hw->tgt.tgt_ops->free_cmd() from qlt_xmit_response() is wrong
since the command for which a response is sent must remain valid until the
SCSI target core calls .release_cmd(). It has been observed that the
following scenario triggers a kernel crash:

 - qlt_xmit_response() calls qlt_check_reserve_free_req()

 - qlt_check_reserve_free_req() returns -EAGAIN

 - qlt_xmit_response() calls vha->hw->tgt.tgt_ops->free_cmd(cmd)

 - transport_handle_queue_full() tries to retransmit the response

Fix this crash by reverting the patch that introduced it.

Link: https://lore.kernel.org/r/20210320232359.941-2-bvanassche@acm.org
Fixes: 0dcec41acb ("scsi: qla2xxx: Make sure that aborted commands are freed")
Cc: Quinn Tran <qutran@marvell.com>
Cc: Mike Christie <michael.christie@oracle.com>
Reviewed-by: Daniel Wagner <dwagner@suse.de>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-30 14:35:29 +02:00
..
2020-12-30 11:50:53 +01:00
2021-01-06 14:48:38 +01:00
2018-12-18 23:19:21 -05:00
2019-01-08 21:58:35 -05:00
2019-01-08 21:58:35 -05:00
2019-06-18 19:46:18 -04:00
2018-12-18 23:19:21 -05:00
2018-11-06 21:31:28 -05:00
2019-08-16 11:33:56 -07:00
2019-08-16 11:33:56 -07:00
2019-11-05 23:17:53 -05:00
2019-08-04 21:41:29 -06:00
2018-12-18 23:19:21 -05:00