2021-12-16 10:15:18

by Jiasheng Jiang

[permalink] [raw]
Subject: [PATCH] scsi: qedf: potential dereference of null pointer

The return value of dma_alloc_coherent() needs to be checked.
To avoid use of null pointer in case of the failure of alloc.

Fixes: 61d8658b4a43 ("scsi: qedf: Add QLogic FastLinQ offload FCoE driver framework.")
Signed-off-by: Jiasheng Jiang <[email protected]>
---
drivers/scsi/qedf/qedf_main.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c
index b92570a7c309..309e205a8e70 100644
--- a/drivers/scsi/qedf/qedf_main.c
+++ b/drivers/scsi/qedf/qedf_main.c
@@ -1415,6 +1415,8 @@ static void qedf_upload_connection(struct qedf_ctx *qedf,
*/
term_params = dma_alloc_coherent(&qedf->pdev->dev, QEDF_TERM_BUFF_SIZE,
&term_params_dma, GFP_KERNEL);
+ if (!term_params)
+ return;

QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_CONN, "Uploading connection "
"port_id=%06x.\n", fcport->rdata->ids.port_id);
--
2.25.1



2022-01-03 04:59:33

by Saurav Kashyap

[permalink] [raw]
Subject: RE: [EXT] [PATCH] scsi: qedf: potential dereference of null pointer

Hi Jiasheng Jiang,

> -----Original Message-----
> From: Jiasheng Jiang <[email protected]>
> Sent: Thursday, December 16, 2021 3:45 PM
> To: Saurav Kashyap <[email protected]>; Javed Hasan
> <[email protected]>; GR-QLogic-Storage-Upstream <GR-QLogic-Storage-
> [email protected]>; [email protected]; [email protected];
> [email protected]
> Cc: [email protected]; [email protected];
> [email protected]; Jiasheng Jiang <[email protected]>
> Subject: [EXT] [PATCH] scsi: qedf: potential dereference of null pointer
>
> External Email
>
> ----------------------------------------------------------------------
> The return value of dma_alloc_coherent() needs to be checked.
> To avoid use of null pointer in case of the failure of alloc.
>
> Fixes: 61d8658b4a43 ("scsi: qedf: Add QLogic FastLinQ offload FCoE driver
> framework.")
> Signed-off-by: Jiasheng Jiang <[email protected]>
> ---
> drivers/scsi/qedf/qedf_main.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c
> index b92570a7c309..309e205a8e70 100644
> --- a/drivers/scsi/qedf/qedf_main.c
> +++ b/drivers/scsi/qedf/qedf_main.c
> @@ -1415,6 +1415,8 @@ static void qedf_upload_connection(struct qedf_ctx
> *qedf,
> */
> term_params = dma_alloc_coherent(&qedf->pdev->dev,
> QEDF_TERM_BUFF_SIZE,
> &term_params_dma, GFP_KERNEL);
> + if (!term_params)
> + return;

<SK> Adding message about failure before returning will help in debugging.

Thanks,
~Saurav
>
> QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_CONN, "Uploading
> connection "
> "port_id=%06x.\n", fcport->rdata->ids.port_id);
> --
> 2.25.1


2022-01-03 17:12:27

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [EXT] [PATCH] scsi: qedf: potential dereference of null pointer

On Mon, 3 Jan 2022 04:58:41 +0000 Saurav Kashyap wrote:
> > QEDF_TERM_BUFF_SIZE,
> > &term_params_dma, GFP_KERNEL);
> > + if (!term_params)
> > + return;
>
> <SK> Adding message about failure before returning will help in debugging.

Memory allocations produce a pretty detailed splat.

2022-01-04 04:05:59

by Saurav Kashyap

[permalink] [raw]
Subject: RE: [EXT] [PATCH] scsi: qedf: potential dereference of null pointer

HI Jiasheng Jiang,

> -----Original Message-----
> From: Jiasheng Jiang <[email protected]>
> Sent: Thursday, December 16, 2021 3:45 PM
> To: Saurav Kashyap <[email protected]>; Javed Hasan
> <[email protected]>; GR-QLogic-Storage-Upstream <GR-QLogic-Storage-
> [email protected]>; [email protected]; [email protected];
> [email protected]
> Cc: [email protected]; [email protected];
> [email protected]; Jiasheng Jiang <[email protected]>
> Subject: [EXT] [PATCH] scsi: qedf: potential dereference of null pointer
>
> External Email
>
> ----------------------------------------------------------------------
> The return value of dma_alloc_coherent() needs to be checked.
> To avoid use of null pointer in case of the failure of alloc.
>
> Fixes: 61d8658b4a43 ("scsi: qedf: Add QLogic FastLinQ offload FCoE driver
> framework.")
> Signed-off-by: Jiasheng Jiang <[email protected]>
> ---
> drivers/scsi/qedf/qedf_main.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c
> index b92570a7c309..309e205a8e70 100644
> --- a/drivers/scsi/qedf/qedf_main.c
> +++ b/drivers/scsi/qedf/qedf_main.c
> @@ -1415,6 +1415,8 @@ static void qedf_upload_connection(struct qedf_ctx
> *qedf,
> */
> term_params = dma_alloc_coherent(&qedf->pdev->dev,
> QEDF_TERM_BUFF_SIZE,
> &term_params_dma, GFP_KERNEL);
> + if (!term_params)
> + return;
>
> QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_CONN, "Uploading
> connection "
> "port_id=%06x.\n", fcport->rdata->ids.port_id);
> --

Acked-by: Saurav Kashyap <[email protected]>

Thanks,
~Saurav
> 2.25.1


2022-01-05 05:21:08

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH] scsi: qedf: potential dereference of null pointer


Jiasheng,

> The return value of dma_alloc_coherent() needs to be checked.
> To avoid use of null pointer in case of the failure of alloc.

Applied to 5.17/scsi-staging, thanks!

--
Martin K. Petersen Oracle Linux Engineering

2022-01-10 22:05:43

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH] scsi: qedf: potential dereference of null pointer

On Thu, 16 Dec 2021 18:14:49 +0800, Jiasheng Jiang wrote:

> The return value of dma_alloc_coherent() needs to be checked.
> To avoid use of null pointer in case of the failure of alloc.
>
>

Applied to 5.17/scsi-queue, thanks!

[1/1] scsi: qedf: potential dereference of null pointer
https://git.kernel.org/mkp/scsi/c/aa7069d840da

--
Martin K. Petersen Oracle Linux Engineering