2021-12-24 08:21:12

by Miaoqian Lin

[permalink] [raw]
Subject: [PATCH] phy: mediatek: Fix missing check in mtk_mipi_tx_probe

The of_device_get_match_data() function may return NULL.
Add check to prevent potential null dereference.

Signed-off-by: Miaoqian Lin <[email protected]>
---
drivers/phy/mediatek/phy-mtk-mipi-dsi.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/phy/mediatek/phy-mtk-mipi-dsi.c b/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
index 28ad9403c441..67b005d5b9e3 100644
--- a/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
+++ b/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
@@ -146,6 +146,8 @@ static int mtk_mipi_tx_probe(struct platform_device *pdev)
return -ENOMEM;

mipi_tx->driver_data = of_device_get_match_data(dev);
+ if (!mipi_tx->driver_data)
+ return -ENODEV;

mipi_tx->regs = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(mipi_tx->regs))
--
2.17.1



Subject: Re: [PATCH] phy: mediatek: Fix missing check in mtk_mipi_tx_probe

Il 24/12/21 09:21, Miaoqian Lin ha scritto:
> The of_device_get_match_data() function may return NULL.
> Add check to prevent potential null dereference.
>
> Signed-off-by: Miaoqian Lin <[email protected]>

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>

2021-12-30 01:56:16

by Chunfeng Yun

[permalink] [raw]
Subject: Re: [PATCH] phy: mediatek: Fix missing check in mtk_mipi_tx_probe

On Fri, 2021-12-24 at 08:21 +0000, Miaoqian Lin wrote:
> The of_device_get_match_data() function may return NULL.
> Add check to prevent potential null dereference.
>
> Signed-off-by: Miaoqian Lin <[email protected]>
> ---
> drivers/phy/mediatek/phy-mtk-mipi-dsi.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
> b/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
> index 28ad9403c441..67b005d5b9e3 100644
> --- a/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
> +++ b/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
> @@ -146,6 +146,8 @@ static int mtk_mipi_tx_probe(struct
> platform_device *pdev)
> return -ENOMEM;
>
> mipi_tx->driver_data = of_device_get_match_data(dev);
> + if (!mipi_tx->driver_data)
> + return -ENODEV;
>
> mipi_tx->regs = devm_platform_ioremap_resource(pdev, 0);
> if (IS_ERR(mipi_tx->regs))

Acked-by: Chunfeng Yun <[email protected]>

Thanks

2021-12-30 16:31:50

by Chun-Kuang Hu

[permalink] [raw]
Subject: Re: [PATCH] phy: mediatek: Fix missing check in mtk_mipi_tx_probe

Hi, Miaoqian:

Miaoqian Lin <[email protected]> 於 2021年12月24日 週五 下午4:21寫道:
>
> The of_device_get_match_data() function may return NULL.
> Add check to prevent potential null dereference.
>
> Signed-off-by: Miaoqian Lin <[email protected]>
> ---
> drivers/phy/mediatek/phy-mtk-mipi-dsi.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/phy/mediatek/phy-mtk-mipi-dsi.c b/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
> index 28ad9403c441..67b005d5b9e3 100644
> --- a/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
> +++ b/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
> @@ -146,6 +146,8 @@ static int mtk_mipi_tx_probe(struct platform_device *pdev)
> return -ENOMEM;
>
> mipi_tx->driver_data = of_device_get_match_data(dev);
> + if (!mipi_tx->driver_data)

I'm confused. mtk_mipi_tx_probe() is called because this device node's
compatible match one in mtk_mipi_tx_match[]. So I think the return
value of of_device_get_match_data(dev) would not be NULL. If this is
true, this checking is redundant.

Regards,
Chun-Kuang.

> + return -ENODEV;
>
> mipi_tx->regs = devm_platform_ioremap_resource(pdev, 0);
> if (IS_ERR(mipi_tx->regs))
> --
> 2.17.1
>

2022-01-06 12:16:12

by Miaoqian Lin

[permalink] [raw]
Subject: Re: [PATCH] phy: mediatek: Fix missing check in mtk_mipi_tx_probe

Hi, Chun-Kuang:

On Fri, Dec 31, 2021 at 12:31:33AM +0800, Chun-Kuang Hu wrote:
> > diff --git a/drivers/phy/mediatek/phy-mtk-mipi-dsi.c b/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
> > index 28ad9403c441..67b005d5b9e3 100644
> > --- a/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
> > +++ b/drivers/phy/mediatek/phy-mtk-mipi-dsi.c
> > @@ -146,6 +146,8 @@ static int mtk_mipi_tx_probe(struct platform_device *pdev)
> > return -ENOMEM;
> >
> > mipi_tx->driver_data = of_device_get_match_data(dev);
> > + if (!mipi_tx->driver_data)
>
> I'm confused. mtk_mipi_tx_probe() is called because this device node's
> compatible match one in mtk_mipi_tx_match[]. So I think the return
> value of of_device_get_match_data(dev) would not be NULL. If this is
> true, this checking is redundant.
>
I think your are right, this checking is redundant. Thanks for your
reply.

Regards,
Miaoqian.