Message ID | 20211216101449.375953-1-jiasheng@iscas.ac.cn |
---|---|
State | New |
Headers | show |
Series | scsi: qedf: potential dereference of null pointer | expand |
Hi Jiasheng Jiang, > -----Original Message----- > From: Jiasheng Jiang <jiasheng@iscas.ac.cn> > Sent: Thursday, December 16, 2021 3:45 PM > To: Saurav Kashyap <skashyap@marvell.com>; Javed Hasan > <jhasan@marvell.com>; GR-QLogic-Storage-Upstream <GR-QLogic-Storage- > Upstream@marvell.com>; jejb@linux.ibm.com; martin.petersen@oracle.com; > linux@armlinux.org.uk > Cc: linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; > netdev@vger.kernel.org; Jiasheng Jiang <jiasheng@iscas.ac.cn> > 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 <jiasheng@iscas.ac.cn> > --- > 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 <jiasheng@iscas.ac.cn> > Sent: Thursday, December 16, 2021 3:45 PM > To: Saurav Kashyap <skashyap@marvell.com>; Javed Hasan > <jhasan@marvell.com>; GR-QLogic-Storage-Upstream <GR-QLogic-Storage- > Upstream@marvell.com>; jejb@linux.ibm.com; martin.petersen@oracle.com; > linux@armlinux.org.uk > Cc: linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; > netdev@vger.kernel.org; Jiasheng Jiang <jiasheng@iscas.ac.cn> > 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 <jiasheng@iscas.ac.cn> > --- > 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 <skashyap@marvell.com> Thanks, ~Saurav > 2.25.1
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
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);
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 <jiasheng@iscas.ac.cn> --- drivers/scsi/qedf/qedf_main.c | 2 ++ 1 file changed, 2 insertions(+)