Message ID | 20230303102751.9374-1-jason-ch.chen@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | remoteproc: mediatek: Dereferencing a pointer that might be NULL | expand |
On Fri, 3 Mar 2023 at 03:28, Jason-ch Chen <jason-ch.chen@mediatek.com> wrote: > > From: jason-ch chen <Jason-ch.Chen@mediatek.com> > > The res might be NULL when calling resource_size. > "resource_size" ? What is that? > Signed-off-by: jason-ch chen <Jason-ch.Chen@mediatek.com> > --- > drivers/remoteproc/mtk_scp.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/remoteproc/mtk_scp.c b/drivers/remoteproc/mtk_scp.c > index eacdf241f4ef..863d18f63f58 100644 > --- a/drivers/remoteproc/mtk_scp.c > +++ b/drivers/remoteproc/mtk_scp.c > @@ -829,6 +829,9 @@ static int scp_probe(struct platform_device *pdev) > platform_set_drvdata(pdev, scp); > > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "sram"); > + if (!res) > + return -ENODEV; > + Please have a look at the implementation of devm_ioremap_resource() along with the function it calls and let me know if your patch is needed. > scp->sram_base = devm_ioremap_resource(dev, res); > if (IS_ERR((__force void *)scp->sram_base)) { > dev_err(dev, "Failed to parse and map sram memory\n"); > -- > 2.37.3 >
Hi Mathieu, On Fri, 2023-03-03 at 11:20 -0700, Mathieu Poirier wrote: > On Fri, 3 Mar 2023 at 03:28, Jason-ch Chen < > jason-ch.chen@mediatek.com> wrote: > > > > From: jason-ch chen <Jason-ch.Chen@mediatek.com> > > > > The res might be NULL when calling resource_size. > > > > "resource_size" ? What is that? > > > Signed-off-by: jason-ch chen <Jason-ch.Chen@mediatek.com> > > --- > > drivers/remoteproc/mtk_scp.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/remoteproc/mtk_scp.c > > b/drivers/remoteproc/mtk_scp.c > > index eacdf241f4ef..863d18f63f58 100644 > > --- a/drivers/remoteproc/mtk_scp.c > > +++ b/drivers/remoteproc/mtk_scp.c > > @@ -829,6 +829,9 @@ static int scp_probe(struct platform_device > > *pdev) > > platform_set_drvdata(pdev, scp); > > > > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, > > "sram"); > > + if (!res) > > + return -ENODEV; > > + > > Please have a look at the implementation of devm_ioremap_resource() > along with the function it calls and let me know if your patch is > needed. > Thanks for your reply. It seems is patch is not needed. > > scp->sram_base = devm_ioremap_resource(dev, res); > > if (IS_ERR((__force void *)scp->sram_base)) { > > dev_err(dev, "Failed to parse and map sram > > memory\n"); > > -- > > 2.37.3 > >
diff --git a/drivers/remoteproc/mtk_scp.c b/drivers/remoteproc/mtk_scp.c index eacdf241f4ef..863d18f63f58 100644 --- a/drivers/remoteproc/mtk_scp.c +++ b/drivers/remoteproc/mtk_scp.c @@ -829,6 +829,9 @@ static int scp_probe(struct platform_device *pdev) platform_set_drvdata(pdev, scp); res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "sram"); + if (!res) + return -ENODEV; + scp->sram_base = devm_ioremap_resource(dev, res); if (IS_ERR((__force void *)scp->sram_base)) { dev_err(dev, "Failed to parse and map sram memory\n");