2017-03-04 17:42:46

by James Smart

[permalink] [raw]
Subject: Re: [PATCH] scsi: lpfc: sanity check hrq is null before dereferencing it

Looks good. I included it in the lpfc patch set just posted.

-- james


On 2/24/2017 5:56 AM, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> The sanity check for hrq should be moved to before the deference
> of hrq to ensure we don't perform a null pointer deference.
>
> Detected by CoverityScan, CID#1411650 ("Dereference before null check")
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/scsi/lpfc/lpfc_sli.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
> index e43e5e2..1fba5dc 100644
> --- a/drivers/scsi/lpfc/lpfc_sli.c
> +++ b/drivers/scsi/lpfc/lpfc_sli.c
> @@ -15185,17 +15185,17 @@ lpfc_mrq_create(struct lpfc_hba *phba, struct lpfc_queue **hrqp,
> drq = drqp[idx];
> cq = cqp[idx];
>
> - if (hrq->entry_count != drq->entry_count) {
> - status = -EINVAL;
> - goto out;
> - }
> -
> /* sanity check on queue memory */
> if (!hrq || !drq || !cq) {
> status = -ENODEV;
> goto out;
> }
>
> + if (hrq->entry_count != drq->entry_count) {
> + status = -EINVAL;
> + goto out;
> + }
> +
> if (idx == 0) {
> bf_set(lpfc_mbx_rq_create_num_pages,
> &rq_create->u.request,