aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorVarun Prakash <varun@chelsio.com>2019-01-12 22:14:30 +0530
committerMartin K. Petersen <martin.petersen@oracle.com>2019-01-22 20:40:59 -0500
commitfe35a40e675473eb65f2f5462b82770f324b5689 (patch)
tree73e5b565b42ab4004802364cd225bd1f6e17903d /drivers/scsi
parentscsi: lpfc: nvmet: avoid hang / use-after-free when destroying targetport (diff)
downloadlinux-dev-fe35a40e675473eb65f2f5462b82770f324b5689.tar.xz
linux-dev-fe35a40e675473eb65f2f5462b82770f324b5689.zip
scsi: csiostor: fix NULL pointer dereference in csio_vport_set_state()
Assign fc_vport to ln->fc_vport before calling csio_fcoe_alloc_vnp() to avoid a NULL pointer dereference in csio_vport_set_state(). ln->fc_vport is dereferenced in csio_vport_set_state(). Signed-off-by: Varun Prakash <varun@chelsio.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/csiostor/csio_attr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/csiostor/csio_attr.c b/drivers/scsi/csiostor/csio_attr.c
index 8a004036e3d7..9bd2bd8dc2be 100644
--- a/drivers/scsi/csiostor/csio_attr.c
+++ b/drivers/scsi/csiostor/csio_attr.c
@@ -594,12 +594,12 @@ csio_vport_create(struct fc_vport *fc_vport, bool disable)
}
fc_vport_set_state(fc_vport, FC_VPORT_INITIALIZING);
+ ln->fc_vport = fc_vport;
if (csio_fcoe_alloc_vnp(hw, ln))
goto error;
*(struct csio_lnode **)fc_vport->dd_data = ln;
- ln->fc_vport = fc_vport;
if (!fc_vport->node_name)
fc_vport->node_name = wwn_to_u64(csio_ln_wwnn(ln));
if (!fc_vport->port_name)