[v2] media: imx-pxp: fix ERR_PTR dereference in pxp_probe()

Message ID 20240514095038.3464191-1-harshit.m.mogalapalli@oracle.com (mailing list archive)
State New
Headers
Series [v2] media: imx-pxp: fix ERR_PTR dereference in pxp_probe() |

Commit Message

Harshit Mogalapalli May 14, 2024, 9:50 a.m. UTC
  devm_regmap_init_mmio() can fail, add a check and bail out in case of
error.

Fixes: 4e5bd3fdbeb3 ("media: imx-pxp: convert to regmap")
Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
---
This is based on static analysis and only compile tested.
v1->v2: fix error message, we dont need %d in dev_err_probe()
---
 drivers/media/platform/nxp/imx-pxp.c | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Laurent Pinchart May 14, 2024, 2:58 p.m. UTC | #1
Hi Harshit,

Thank you for the patch.

On Tue, May 14, 2024 at 02:50:38AM -0700, Harshit Mogalapalli wrote:
> devm_regmap_init_mmio() can fail, add a check and bail out in case of
> error.
> 
> Fixes: 4e5bd3fdbeb3 ("media: imx-pxp: convert to regmap")
> Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
> This is based on static analysis and only compile tested.
> v1->v2: fix error message, we dont need %d in dev_err_probe()
> ---
>  drivers/media/platform/nxp/imx-pxp.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/media/platform/nxp/imx-pxp.c b/drivers/media/platform/nxp/imx-pxp.c
> index e62dc5c1a4ae..e4427e6487fb 100644
> --- a/drivers/media/platform/nxp/imx-pxp.c
> +++ b/drivers/media/platform/nxp/imx-pxp.c
> @@ -1805,6 +1805,9 @@ static int pxp_probe(struct platform_device *pdev)
>  		return PTR_ERR(mmio);
>  	dev->regmap = devm_regmap_init_mmio(&pdev->dev, mmio,
>  					    &pxp_regmap_config);
> +	if (IS_ERR(dev->regmap))
> +		return dev_err_probe(&pdev->dev, PTR_ERR(dev->regmap),
> +				     "Failed to init regmap\n");
>  
>  	irq = platform_get_irq(pdev, 0);
>  	if (irq < 0)
  

Patch

diff --git a/drivers/media/platform/nxp/imx-pxp.c b/drivers/media/platform/nxp/imx-pxp.c
index e62dc5c1a4ae..e4427e6487fb 100644
--- a/drivers/media/platform/nxp/imx-pxp.c
+++ b/drivers/media/platform/nxp/imx-pxp.c
@@ -1805,6 +1805,9 @@  static int pxp_probe(struct platform_device *pdev)
 		return PTR_ERR(mmio);
 	dev->regmap = devm_regmap_init_mmio(&pdev->dev, mmio,
 					    &pxp_regmap_config);
+	if (IS_ERR(dev->regmap))
+		return dev_err_probe(&pdev->dev, PTR_ERR(dev->regmap),
+				     "Failed to init regmap\n");
 
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0)