Hello Dick Kennedy,

This is a semi-automatic email about new static checker warnings.

The patch 8fd5f79a9cf4: "scsi: lpfc: Fix handling of FCP and NVME FC4 
types in Pt2Pt topology" from Aug 23, 2017, leads to the following 
Smatch complaint:

drivers/scsi/lpfc/lpfc_els.c:2010 lpfc_issue_els_plogi()
         error: we previously assumed 'ndlp' could be null (see line 1998)

drivers/scsi/lpfc/lpfc_els.c
  1997          ndlp = lpfc_findnode_did(vport, did);
  1998          if (ndlp && !NLP_CHK_NODE_ACT(ndlp))
  1999                  ndlp = NULL;
                        ^^^^^^^^^^^
ndlp can be NULL.

  2000  
  2001          /* If ndlp is not NULL, we will bump the reference count on it 
*/
  2002          cmdsize = (sizeof(uint32_t) + sizeof(struct serv_parm));
  2003          elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp, 
did,
  2004                                       ELS_CMD_PLOGI);
  2005          if (!elsiocb)
  2006                  return 1;
  2007  
  2008          shost = lpfc_shost_from_vport(vport);
  2009          spin_lock_irq(shost->host_lock);
  2010          ndlp->nlp_flag &= ~NLP_FCP_PRLI_RJT;
                ^^^^^^^^^^^^^^
We added a new unchecked dereference.

  2011          spin_unlock_irq(shost->host_lock);
  2012  

regards,
dan carpenter

Reply via email to