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
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
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.
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
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
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