| From 1f6d308a085add0d178a5a45a06614dfcd0bc3e8 Mon Sep 17 00:00:00 2001 |
| From: Varun Prakash <varun@chelsio.com> |
| Date: Sat, 12 Jan 2019 22:14:30 +0530 |
| Subject: scsi: csiostor: fix NULL pointer dereference in |
| csio_vport_set_state() |
| |
| [ Upstream commit fe35a40e675473eb65f2f5462b82770f324b5689 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/scsi/csiostor/csio_attr.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/scsi/csiostor/csio_attr.c b/drivers/scsi/csiostor/csio_attr.c |
| index 8a004036e3d72..9bd2bd8dc2be2 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) |
| -- |
| 2.19.1 |
| |