public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/mediatek: Initialize pointer in mtk_drm_of_ddp_path_build_one()
@ 2024-11-12 10:50 AngeloGioacchino Del Regno
  2024-11-28  5:45 ` CK Hu (胡俊光)
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: AngeloGioacchino Del Regno @ 2024-11-12 10:50 UTC (permalink / raw)
  To: chunkuang.hu
  Cc: p.zabel, airlied, simona, matthias.bgg, angelogioacchino.delregno,
	sui.jingfeng, ck.hu, amergnat, dri-devel, linux-mediatek,
	linux-kernel, linux-arm-kernel, kernel, dan.carpenter

The struct device_node *next pointer is not initialized, and it is
used in an error path in which it may have never been modified by
function mtk_drm_of_get_ddp_ep_cid().

Since the error path is relying on that pointer being NULL for the
OVL Adaptor and/or invalid component check and since said pointer
is being used in prints for %pOF, in the case that it points to a
bogus address, the print may cause a KP.

To resolve that, initialize the *next pointer to NULL before usage.

Fixes: 4c932840db1d ("drm/mediatek: Implement OF graphs support for display paths")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index 9a8ef8558da9..bc06c664e80f 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -900,7 +900,7 @@ static int mtk_drm_of_ddp_path_build_one(struct device *dev, enum mtk_crtc_path
 					 const unsigned int **out_path,
 					 unsigned int *out_path_len)
 {
-	struct device_node *next, *prev, *vdo = dev->parent->of_node;
+	struct device_node *next = NULL, *prev, *vdo = dev->parent->of_node;
 	unsigned int temp_path[DDP_COMPONENT_DRM_ID_MAX] = { 0 };
 	unsigned int *final_ddp_path;
 	unsigned short int idx = 0;
-- 
2.47.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/mediatek: Initialize pointer in mtk_drm_of_ddp_path_build_one()
  2024-11-12 10:50 [PATCH] drm/mediatek: Initialize pointer in mtk_drm_of_ddp_path_build_one() AngeloGioacchino Del Regno
@ 2024-11-28  5:45 ` CK Hu (胡俊光)
  2024-12-02 10:50 ` Alexandre Mergnat
  2024-12-25 13:15 ` Chun-Kuang Hu
  2 siblings, 0 replies; 4+ messages in thread
From: CK Hu (胡俊光) @ 2024-11-28  5:45 UTC (permalink / raw)
  To: AngeloGioacchino Del Regno, chunkuang.hu@kernel.org
  Cc: linux-mediatek@lists.infradead.org, sui.jingfeng@linux.dev,
	linux-kernel@vger.kernel.org, simona@ffwll.ch,
	kernel@collabora.com, p.zabel@pengutronix.de,
	dri-devel@lists.freedesktop.org, Alexandre Mergnat,
	airlied@gmail.com, linux-arm-kernel@lists.infradead.org,
	matthias.bgg@gmail.com, dan.carpenter@linaro.org

Hi, Angelo:

On Tue, 2024-11-12 at 11:50 +0100, AngeloGioacchino Del Regno wrote:
> External email : Please do not click links or open attachments until you have verified the sender or the content.
> 
> 
> The struct device_node *next pointer is not initialized, and it is
> used in an error path in which it may have never been modified by
> function mtk_drm_of_get_ddp_ep_cid().
> 
> Since the error path is relying on that pointer being NULL for the
> OVL Adaptor and/or invalid component check and since said pointer
> is being used in prints for %pOF, in the case that it points to a
> bogus address, the print may cause a KP.
> 
> To resolve that, initialize the *next pointer to NULL before usage.

Reviewed-by: CK Hu <ck.hu@mediatek.com>

> 
> Fixes: 4c932840db1d ("drm/mediatek: Implement OF graphs support for display paths")
> Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---
>  drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> index 9a8ef8558da9..bc06c664e80f 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -900,7 +900,7 @@ static int mtk_drm_of_ddp_path_build_one(struct device *dev, enum mtk_crtc_path
>                                          const unsigned int **out_path,
>                                          unsigned int *out_path_len)
>  {
> -       struct device_node *next, *prev, *vdo = dev->parent->of_node;
> +       struct device_node *next = NULL, *prev, *vdo = dev->parent->of_node;
>         unsigned int temp_path[DDP_COMPONENT_DRM_ID_MAX] = { 0 };
>         unsigned int *final_ddp_path;
>         unsigned short int idx = 0;
> --
> 2.47.0
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/mediatek: Initialize pointer in mtk_drm_of_ddp_path_build_one()
  2024-11-12 10:50 [PATCH] drm/mediatek: Initialize pointer in mtk_drm_of_ddp_path_build_one() AngeloGioacchino Del Regno
  2024-11-28  5:45 ` CK Hu (胡俊光)
@ 2024-12-02 10:50 ` Alexandre Mergnat
  2024-12-25 13:15 ` Chun-Kuang Hu
  2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Mergnat @ 2024-12-02 10:50 UTC (permalink / raw)
  To: AngeloGioacchino Del Regno
  Cc: chunkuang.hu, p.zabel, airlied, simona, matthias.bgg,
	sui.jingfeng, ck.hu, dri-devel, linux-mediatek, linux-kernel,
	linux-arm-kernel, kernel, dan.carpenter

On Tue, Nov 12, 2024 at 11:50 AM AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com> wrote:
>
> The struct device_node *next pointer is not initialized, and it is
> used in an error path in which it may have never been modified by
> function mtk_drm_of_get_ddp_ep_cid().
>
> Since the error path is relying on that pointer being NULL for the
> OVL Adaptor and/or invalid component check and since said pointer
> is being used in prints for %pOF, in the case that it points to a
> bogus address, the print may cause a KP.
>
> To resolve that, initialize the *next pointer to NULL before usage.
>

Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/mediatek: Initialize pointer in mtk_drm_of_ddp_path_build_one()
  2024-11-12 10:50 [PATCH] drm/mediatek: Initialize pointer in mtk_drm_of_ddp_path_build_one() AngeloGioacchino Del Regno
  2024-11-28  5:45 ` CK Hu (胡俊光)
  2024-12-02 10:50 ` Alexandre Mergnat
@ 2024-12-25 13:15 ` Chun-Kuang Hu
  2 siblings, 0 replies; 4+ messages in thread
From: Chun-Kuang Hu @ 2024-12-25 13:15 UTC (permalink / raw)
  To: AngeloGioacchino Del Regno
  Cc: chunkuang.hu, p.zabel, airlied, simona, matthias.bgg,
	sui.jingfeng, ck.hu, amergnat, dri-devel, linux-mediatek,
	linux-kernel, linux-arm-kernel, kernel, dan.carpenter

Hi, Angelo:

AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 於
2024年11月12日 週二 下午6:50寫道:
>
> The struct device_node *next pointer is not initialized, and it is
> used in an error path in which it may have never been modified by
> function mtk_drm_of_get_ddp_ep_cid().
>
> Since the error path is relying on that pointer being NULL for the
> OVL Adaptor and/or invalid component check and since said pointer
> is being used in prints for %pOF, in the case that it points to a
> bogus address, the print may cause a KP.
>
> To resolve that, initialize the *next pointer to NULL before usage.
>
> Fixes: 4c932840db1d ("drm/mediatek: Implement OF graphs support for display paths")
> Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

I would like you to fix this warning.

WARNING: Reported-by: should be immediately followed by Closes: with a
URL to the report
#19:
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>

Regards,
Chun-Kuang.

> ---
>  drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> index 9a8ef8558da9..bc06c664e80f 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -900,7 +900,7 @@ static int mtk_drm_of_ddp_path_build_one(struct device *dev, enum mtk_crtc_path
>                                          const unsigned int **out_path,
>                                          unsigned int *out_path_len)
>  {
> -       struct device_node *next, *prev, *vdo = dev->parent->of_node;
> +       struct device_node *next = NULL, *prev, *vdo = dev->parent->of_node;
>         unsigned int temp_path[DDP_COMPONENT_DRM_ID_MAX] = { 0 };
>         unsigned int *final_ddp_path;
>         unsigned short int idx = 0;
> --
> 2.47.0
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-12-25 13:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-12 10:50 [PATCH] drm/mediatek: Initialize pointer in mtk_drm_of_ddp_path_build_one() AngeloGioacchino Del Regno
2024-11-28  5:45 ` CK Hu (胡俊光)
2024-12-02 10:50 ` Alexandre Mergnat
2024-12-25 13:15 ` Chun-Kuang Hu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox