Commit f563dd9c authored by AngeloGioacchino Del Regno's avatar AngeloGioacchino Del Regno Committed by Chun-Kuang Hu
Browse files

drm/mediatek: Initialize pointer in mtk_drm_of_ddp_path_build_one()



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: 4c932840 ("drm/mediatek: Implement OF graphs support for display paths")
Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/dri-devel/633f3c6d-d09f-447c-95f1-dfb4114c50e6@stanley.mountain/


Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: default avatarCK Hu <ck.hu@mediatek.com>
Reviewed-by: default avatarAlexandre Mergnat <amergnat@baylibre.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20241112105030.93337-1-angelogioacchino.delregno@collabora.com/


Signed-off-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
parent 52290814
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -905,7 +905,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;