diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2017-07-12 03:31:21 -0400 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-07-24 22:24:29 -0400 |
commit | 2c67521821acd900d7508f37e49d0b494011106d (patch) | |
tree | bae372ccda78655469a55e9e4625ccf98cf9a885 | |
parent | cd069bb9f9ff13b23492fda6ccdb458ac4f641ca (diff) |
scsi: qedi: Fix return code in qedi_ep_connect()
We shouldn't be writing over the "ret" variable. It means we return
ERR_PTR(0) which is NULL and it results in a NULL dereference in the
caller.
Fixes: ace7f46ba5fd ("scsi: qedi: Add QLogic FastLinQ offload iSCSI driver framework.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r-- | drivers/scsi/qedi/qedi_iscsi.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/qedi/qedi_iscsi.c b/drivers/scsi/qedi/qedi_iscsi.c index 80edd28b635f..37da9a8b43b1 100644 --- a/drivers/scsi/qedi/qedi_iscsi.c +++ b/drivers/scsi/qedi/qedi_iscsi.c | |||
@@ -824,7 +824,7 @@ qedi_ep_connect(struct Scsi_Host *shost, struct sockaddr *dst_addr, | |||
824 | u32 iscsi_cid = QEDI_CID_RESERVED; | 824 | u32 iscsi_cid = QEDI_CID_RESERVED; |
825 | u16 len = 0; | 825 | u16 len = 0; |
826 | char *buf = NULL; | 826 | char *buf = NULL; |
827 | int ret; | 827 | int ret, tmp; |
828 | 828 | ||
829 | if (!shost) { | 829 | if (!shost) { |
830 | ret = -ENXIO; | 830 | ret = -ENXIO; |
@@ -940,10 +940,10 @@ qedi_ep_connect(struct Scsi_Host *shost, struct sockaddr *dst_addr, | |||
940 | 940 | ||
941 | ep_rel_conn: | 941 | ep_rel_conn: |
942 | qedi->ep_tbl[iscsi_cid] = NULL; | 942 | qedi->ep_tbl[iscsi_cid] = NULL; |
943 | ret = qedi_ops->release_conn(qedi->cdev, qedi_ep->handle); | 943 | tmp = qedi_ops->release_conn(qedi->cdev, qedi_ep->handle); |
944 | if (ret) | 944 | if (tmp) |
945 | QEDI_WARN(&qedi->dbg_ctx, "release_conn returned %d\n", | 945 | QEDI_WARN(&qedi->dbg_ctx, "release_conn returned %d\n", |
946 | ret); | 946 | tmp); |
947 | ep_free_sq: | 947 | ep_free_sq: |
948 | qedi_free_sq(qedi, qedi_ep); | 948 | qedi_free_sq(qedi, qedi_ep); |
949 | ep_conn_exit: | 949 | ep_conn_exit: |