Hello James Smart,

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

The patch a0f2d3ef374f: "scsi: lpfc: NVME Initiator: Merge into FC
discovery" from Feb 12, 2017, leads to the following Smatch complaint:

drivers/scsi/lpfc/lpfc_ct.c:982 lpfc_cmpl_ct_cmd_gft_id()
         error: we previously assumed 'ndlp' could be null (see line 966)

drivers/scsi/lpfc/lpfc_ct.c
   965                  ndlp = lpfc_findnode_did(vport, did);
   966                  if (ndlp) {
                            ^^^^
Check.

   967                          /* The bitmask value for FCP and NVME FCP types 
is
   968                           * the same because they are 32 bits distant 
from
   969                           * each other in word0 and word0.
   970                           */
   971                          if (fc4_data_0 & LPFC_FC4_TYPE_BITMASK)
   972                                  ndlp->nlp_fc4_type |= NLP_FC4_FCP;
   973                          if (fc4_data_1 &  LPFC_FC4_TYPE_BITMASK)
   974                                  ndlp->nlp_fc4_type |= NLP_FC4_NVME;
   975                          lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY,
   976                                           "3064 Setting ndlp %p, DID 
x%06x with "
   977                                           "FC4 x%08x, Data: x%08x 
x%08x\n",
   978                                           ndlp, did, ndlp->nlp_fc4_type,
   979                                           FC_TYPE_FCP, FC_TYPE_NVME);
   980                          ndlp->nlp_prev_state = NLP_STE_REG_LOGIN_ISSUE;
   981                  }
   982                  lpfc_nlp_set_state(vport, ndlp, NLP_STE_PRLI_ISSUE);
                                                  ^^^^
Dereferenced inside the function call.

   983                  lpfc_issue_els_prli(vport, ndlp, 0);
   984          } else

regards,
dan carpenter

Reply via email to