diff options
author | Mike Christie <michael.christie@oracle.com> | 2022-06-17 01:27:33 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-08-25 12:45:42 +0300 |
commit | 0483ffc02ebb953124c592485a5c48ac4ffae5fe (patch) | |
tree | 58e2f144a138af69b98c7aff7e1ebf61948487f4 | |
parent | 5c4b699193eba51f1bbf462d758d66f545fddd35 (diff) | |
download | linux-0483ffc02ebb953124c592485a5c48ac4ffae5fe.tar.xz |
scsi: iscsi: Fix HW conn removal use after free
[ Upstream commit c577ab7ba5f3bf9062db8a58b6e89d4fe370447e ]
If qla4xxx doesn't remove the connection before the session, the iSCSI
class tries to remove the connection for it. We were doing a
iscsi_put_conn() in the iter function which is not needed and will result
in a use after free because iscsi_remove_conn() will free the connection.
Link: https://lore.kernel.org/r/20220616222738.5722-2-michael.christie@oracle.com
Tested-by: Nilesh Javali <njavali@marvell.com>
Reviewed-by: Lee Duncan <lduncan@suse.com>
Reviewed-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | drivers/scsi/scsi_transport_iscsi.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index 2a38cd2d24ef..02899e8849dd 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c @@ -2143,8 +2143,6 @@ static int iscsi_iter_destroy_conn_fn(struct device *dev, void *data) return 0; iscsi_remove_conn(iscsi_dev_to_conn(dev)); - iscsi_put_conn(iscsi_dev_to_conn(dev)); - return 0; } |