mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-03 19:24:02 +08:00
lpfc: Fix possible NULL pointer dereference
Check for the existence of piocb->vport before accessing it. Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de> Acked-by: James Smart <james.smart@broadcom.com> Reviewed-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
d242e6680e
commit
22466da5b4
@ -1323,21 +1323,18 @@ lpfc_sli_ringtxcmpl_put(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
|
|||||||
{
|
{
|
||||||
lockdep_assert_held(&phba->hbalock);
|
lockdep_assert_held(&phba->hbalock);
|
||||||
|
|
||||||
|
BUG_ON(!piocb || !piocb->vport);
|
||||||
|
|
||||||
list_add_tail(&piocb->list, &pring->txcmplq);
|
list_add_tail(&piocb->list, &pring->txcmplq);
|
||||||
piocb->iocb_flag |= LPFC_IO_ON_TXCMPLQ;
|
piocb->iocb_flag |= LPFC_IO_ON_TXCMPLQ;
|
||||||
|
|
||||||
if ((unlikely(pring->ringno == LPFC_ELS_RING)) &&
|
if ((unlikely(pring->ringno == LPFC_ELS_RING)) &&
|
||||||
(piocb->iocb.ulpCommand != CMD_ABORT_XRI_CN) &&
|
(piocb->iocb.ulpCommand != CMD_ABORT_XRI_CN) &&
|
||||||
(piocb->iocb.ulpCommand != CMD_CLOSE_XRI_CN) &&
|
(piocb->iocb.ulpCommand != CMD_CLOSE_XRI_CN) &&
|
||||||
(!(piocb->vport->load_flag & FC_UNLOADING))) {
|
(!(piocb->vport->load_flag & FC_UNLOADING)))
|
||||||
if (!piocb->vport)
|
mod_timer(&piocb->vport->els_tmofunc,
|
||||||
BUG();
|
jiffies +
|
||||||
else
|
msecs_to_jiffies(1000 * (phba->fc_ratov << 1)));
|
||||||
mod_timer(&piocb->vport->els_tmofunc,
|
|
||||||
jiffies +
|
|
||||||
msecs_to_jiffies(1000 * (phba->fc_ratov << 1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user