Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22466da5 authored by Johannes Thumshirn's avatar Johannes Thumshirn Committed by Martin K. Petersen
Browse files

lpfc: Fix possible NULL pointer dereference



Check for the existence of piocb->vport before accessing it.

Signed-off-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
Acked-by: default avatarJames Smart <james.smart@broadcom.com>
Reviewed-by: default avatarTyrel Datwyler <tyreld@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent d242e668
Loading
Loading
Loading
Loading
+6 −9
Original line number Diff line number Diff line
@@ -1323,21 +1323,18 @@ lpfc_sli_ringtxcmpl_put(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
{
	lockdep_assert_held(&phba->hbalock);
	BUG_ON(!piocb || !piocb->vport);
	list_add_tail(&piocb->list, &pring->txcmplq);
	piocb->iocb_flag |= LPFC_IO_ON_TXCMPLQ;
	if ((unlikely(pring->ringno == LPFC_ELS_RING)) &&
	   (piocb->iocb.ulpCommand != CMD_ABORT_XRI_CN) &&
	   (piocb->iocb.ulpCommand != CMD_CLOSE_XRI_CN) &&
	 (!(piocb->vport->load_flag & FC_UNLOADING))) {
		if (!piocb->vport)
			BUG();
		else
	    (!(piocb->vport->load_flag & FC_UNLOADING)))
		mod_timer(&piocb->vport->els_tmofunc,
			  jiffies +
			  msecs_to_jiffies(1000 * (phba->fc_ratov << 1)));
	}
	return 0;
}