[PATCH] drm/mediatek: Fix device node reference leak in mtk_dp_dt_parse()

CK Hu (胡俊光) ck.hu at mediatek.com
Tue Nov 18 22:02:35 PST 2025


On Wed, 2025-10-29 at 15:23 +0800, Miaoqian Lin wrote:
> External email : Please do not click links or open attachments until you have verified the sender or the content.
> 
> 
> The function mtk_dp_dt_parse() calls of_graph_get_endpoint_by_regs()
> to get the endpoint device node, but fails to call of_node_put() to release
> the reference when the function returns. This results in a device node
> reference leak.
> 
> Fix this by adding the missing of_node_put() call before returning from
> the function.
> 
> Found via static analysis and code review.

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

> 
> Fixes: f70ac097a2cf ("drm/mediatek: Add MT8195 Embedded DisplayPort driver")
> Cc: stable at vger.kernel.org
> Signed-off-by: Miaoqian Lin <linmq006 at gmail.com>
> ---
>  drivers/gpu/drm/mediatek/mtk_dp.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_dp.c b/drivers/gpu/drm/mediatek/mtk_dp.c
> index bef6eeb30d3e..b0b1e158600f 100644
> --- a/drivers/gpu/drm/mediatek/mtk_dp.c
> +++ b/drivers/gpu/drm/mediatek/mtk_dp.c
> @@ -2087,6 +2087,7 @@ static int mtk_dp_dt_parse(struct mtk_dp *mtk_dp,
>         endpoint = of_graph_get_endpoint_by_regs(pdev->dev.of_node, 1, -1);
>         len = of_property_count_elems_of_size(endpoint,
>                                               "data-lanes", sizeof(u32));
> +       of_node_put(endpoint);
>         if (len < 0 || len > 4 || len == 3) {
>                 dev_err(dev, "invalid data lane size: %d\n", len);
>                 return -EINVAL;
> --
> 2.39.5 (Apple Git-154)
> 



More information about the Linux-mediatek mailing list