]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/mediatek: Fix device node reference leak in mtk_dp_dt_parse()
authorMiaoqian Lin <linmq006@gmail.com>
Wed, 29 Oct 2025 07:23:06 +0000 (15:23 +0800)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Wed, 19 Nov 2025 23:01:28 +0000 (23:01 +0000)
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.

Fixes: f70ac097a2cf ("drm/mediatek: Add MT8195 Embedded DisplayPort driver")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Markus Schneider-Pargmann <msp@baylibre.com>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20251029072307.10955-1-linmq006@gmail.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_dp.c

index bef6eeb30d3ecc5e45208104e1b79c6fab857365..b0b1e158600f34a10467ab76c20d2181e07c3068 100644 (file)
@@ -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;