On 11/30/2017 04:40 AM, Himanshu Madhani wrote: > From: Quinn Tran <quinn.tran@xxxxxxxxxx> > > Fix system crash due to NULL pointer access. > > qlt_plogi_ack_t and fc_port structures were not properly > bound before calling qlt_plogi_ack_unref(). > > RIP: 0010:qlt_plogi_ack_unref+0xa1/0x150 [qla2xxx] > Call Trace: > qla24xx_create_new_sess+0xb1/0x320 [qla2xxx] > qla2x00_do_work+0x123/0x260 [qla2xxx] > qla2x00_iocb_work_fn+0x30/0x40 [qla2xxx] > process_one_work+0x1f3/0x530 > worker_thread+0x4e/0x480 > kthread+0x10c/0x140 > > Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery") > Cc: <stable@xxxxxxxxxxxxxxx> # 4.10+ > Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> > Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> > Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> > --- > drivers/scsi/qla2xxx/qla_os.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c > index 2ec77b9f78b8..789030c9dd26 100644 > --- a/drivers/scsi/qla2xxx/qla_os.c > +++ b/drivers/scsi/qla2xxx/qla_os.c > @@ -4750,11 +4750,11 @@ void qla24xx_create_new_sess(struct scsi_qla_host *vha, struct qla_work_evt *e) > } else { > list_add_tail(&fcport->list, &vha->vp_fcports); > > - if (pla) { > - qlt_plogi_ack_link(vha, pla, fcport, > - QLT_PLOGI_LINK_SAME_WWN); > - pla->ref_count--; > - } > + } > + if (pla) { > + qlt_plogi_ack_link(vha, pla, fcport, > + QLT_PLOGI_LINK_SAME_WWN); > + pla->ref_count--; > } > } > spin_unlock_irqrestore(&vha->hw->tgt.sess_lock, flags); > Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)