mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-24 10:39:52 +00:00
scsi: lpfc: Fix coverity errors on NULL pointer checks
Coverity flagged several scenarios where checking of null pointer values wasn't consistent. Fix the code to that be consistent on checking. Link: https://lore.kernel.org/r/20190922035906.10977-12-jsmart2021@gmail.com Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com> Signed-off-by: James Smart <jsmart2021@gmail.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
51f8e43ed3
commit
43bfea1bff
4 changed files with 27 additions and 8 deletions
|
@ -4291,6 +4291,11 @@ lpfc_cmpl_els_rsp(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
|
||||||
|
|
||||||
irsp = &rspiocb->iocb;
|
irsp = &rspiocb->iocb;
|
||||||
|
|
||||||
|
if (!vport) {
|
||||||
|
lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS,
|
||||||
|
"3177 ELS response failed\n");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
if (cmdiocb->context_un.mbox)
|
if (cmdiocb->context_un.mbox)
|
||||||
mbox = cmdiocb->context_un.mbox;
|
mbox = cmdiocb->context_un.mbox;
|
||||||
|
|
||||||
|
|
|
@ -1958,12 +1958,10 @@ lpfc_nvmet_unsol_ls_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
|
||||||
uint32_t *payload;
|
uint32_t *payload;
|
||||||
uint32_t size, oxid, sid, rc;
|
uint32_t size, oxid, sid, rc;
|
||||||
|
|
||||||
fc_hdr = (struct fc_frame_header *)(nvmebuf->hbuf.virt);
|
|
||||||
oxid = be16_to_cpu(fc_hdr->fh_ox_id);
|
|
||||||
|
|
||||||
if (!phba->targetport) {
|
if (!nvmebuf || !phba->targetport) {
|
||||||
lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
|
lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
|
||||||
"6154 LS Drop IO x%x\n", oxid);
|
"6154 LS Drop IO\n");
|
||||||
oxid = 0;
|
oxid = 0;
|
||||||
size = 0;
|
size = 0;
|
||||||
sid = 0;
|
sid = 0;
|
||||||
|
@ -1971,6 +1969,9 @@ lpfc_nvmet_unsol_ls_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
|
||||||
goto dropit;
|
goto dropit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fc_hdr = (struct fc_frame_header *)(nvmebuf->hbuf.virt);
|
||||||
|
oxid = be16_to_cpu(fc_hdr->fh_ox_id);
|
||||||
|
|
||||||
tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
|
tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private;
|
||||||
payload = (uint32_t *)(nvmebuf->dbuf.virt);
|
payload = (uint32_t *)(nvmebuf->dbuf.virt);
|
||||||
size = bf_get(lpfc_rcqe_length, &nvmebuf->cq_event.cqe.rcqe_cmpl);
|
size = bf_get(lpfc_rcqe_length, &nvmebuf->cq_event.cqe.rcqe_cmpl);
|
||||||
|
@ -2401,6 +2402,11 @@ lpfc_nvmet_unsol_ls_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
|
||||||
d_buf = piocb->context2;
|
d_buf = piocb->context2;
|
||||||
nvmebuf = container_of(d_buf, struct hbq_dmabuf, dbuf);
|
nvmebuf = container_of(d_buf, struct hbq_dmabuf, dbuf);
|
||||||
|
|
||||||
|
if (!nvmebuf) {
|
||||||
|
lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
|
||||||
|
"3015 LS Drop IO\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (phba->nvmet_support == 0) {
|
if (phba->nvmet_support == 0) {
|
||||||
lpfc_in_buf_free(phba, &nvmebuf->dbuf);
|
lpfc_in_buf_free(phba, &nvmebuf->dbuf);
|
||||||
return;
|
return;
|
||||||
|
@ -2429,6 +2435,11 @@ lpfc_nvmet_unsol_fcp_event(struct lpfc_hba *phba,
|
||||||
uint64_t isr_timestamp,
|
uint64_t isr_timestamp,
|
||||||
uint8_t cqflag)
|
uint8_t cqflag)
|
||||||
{
|
{
|
||||||
|
if (!nvmebuf) {
|
||||||
|
lpfc_printf_log(phba, KERN_ERR, LOG_NVME_IOERR,
|
||||||
|
"3167 NVMET FCP Drop IO\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (phba->nvmet_support == 0) {
|
if (phba->nvmet_support == 0) {
|
||||||
lpfc_rq_buf_free(phba, &nvmebuf->hbuf);
|
lpfc_rq_buf_free(phba, &nvmebuf->hbuf);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -3814,7 +3814,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
|
||||||
|
|
||||||
/* Sanity check on return of outstanding command */
|
/* Sanity check on return of outstanding command */
|
||||||
cmd = lpfc_cmd->pCmd;
|
cmd = lpfc_cmd->pCmd;
|
||||||
if (!cmd) {
|
if (!cmd || !phba) {
|
||||||
lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
|
lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
|
||||||
"2621 IO completion: Not an active IO\n");
|
"2621 IO completion: Not an active IO\n");
|
||||||
spin_unlock(&lpfc_cmd->buf_lock);
|
spin_unlock(&lpfc_cmd->buf_lock);
|
||||||
|
|
|
@ -2674,7 +2674,8 @@ lpfc_sli_handle_mb_event(struct lpfc_hba *phba)
|
||||||
lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
|
lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
|
||||||
"(%d):0323 Unknown Mailbox command "
|
"(%d):0323 Unknown Mailbox command "
|
||||||
"x%x (x%x/x%x) Cmpl\n",
|
"x%x (x%x/x%x) Cmpl\n",
|
||||||
pmb->vport ? pmb->vport->vpi : 0,
|
pmb->vport ? pmb->vport->vpi :
|
||||||
|
LPFC_VPORT_UNKNOWN,
|
||||||
pmbox->mbxCommand,
|
pmbox->mbxCommand,
|
||||||
lpfc_sli_config_mbox_subsys_get(phba,
|
lpfc_sli_config_mbox_subsys_get(phba,
|
||||||
pmb),
|
pmb),
|
||||||
|
@ -2695,7 +2696,8 @@ lpfc_sli_handle_mb_event(struct lpfc_hba *phba)
|
||||||
"(%d):0305 Mbox cmd cmpl "
|
"(%d):0305 Mbox cmd cmpl "
|
||||||
"error - RETRYing Data: x%x "
|
"error - RETRYing Data: x%x "
|
||||||
"(x%x/x%x) x%x x%x x%x\n",
|
"(x%x/x%x) x%x x%x x%x\n",
|
||||||
pmb->vport ? pmb->vport->vpi : 0,
|
pmb->vport ? pmb->vport->vpi :
|
||||||
|
LPFC_VPORT_UNKNOWN,
|
||||||
pmbox->mbxCommand,
|
pmbox->mbxCommand,
|
||||||
lpfc_sli_config_mbox_subsys_get(phba,
|
lpfc_sli_config_mbox_subsys_get(phba,
|
||||||
pmb),
|
pmb),
|
||||||
|
@ -2703,7 +2705,8 @@ lpfc_sli_handle_mb_event(struct lpfc_hba *phba)
|
||||||
pmb),
|
pmb),
|
||||||
pmbox->mbxStatus,
|
pmbox->mbxStatus,
|
||||||
pmbox->un.varWords[0],
|
pmbox->un.varWords[0],
|
||||||
pmb->vport->port_state);
|
pmb->vport ? pmb->vport->port_state :
|
||||||
|
LPFC_VPORT_UNKNOWN);
|
||||||
pmbox->mbxStatus = 0;
|
pmbox->mbxStatus = 0;
|
||||||
pmbox->mbxOwner = OWN_HOST;
|
pmbox->mbxOwner = OWN_HOST;
|
||||||
rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
|
rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT);
|
||||||
|
|
Loading…
Add table
Reference in a new issue