]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/mediatek: Fix child node refcount handling in early exit
authorJavier Carrasco <javier.carrasco.cruz@gmail.com>
Fri, 11 Oct 2024 19:21:51 +0000 (21:21 +0200)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Mon, 4 Nov 2024 12:20:29 +0000 (12:20 +0000)
Early exits (goto, break, return) from for_each_child_of_node() required
an explicit call to of_node_put(), which was not introduced with the
break if cnt == MAX_CRTC.

Add the missing of_node_put() before the break.

Cc: stable@vger.kernel.org
Fixes: d761b9450e31 ("drm/mediatek: Add cnt checking for coverity issue")
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20241011-mtk_drm_drv_memleak-v1-1-2b40c74c8d75@gmail.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_drm_drv.c

index 6cff020a1bf80bbe2b232ed728a05b1b4ced8ba0..d7fc4f66b1c47c733f55d96c7687bb938141bf37 100644 (file)
@@ -406,8 +406,10 @@ static bool mtk_drm_get_all_drm_priv(struct device *dev)
                if (temp_drm_priv->mtk_drm_bound)
                        cnt++;
 
-               if (cnt == MAX_CRTC)
+               if (cnt == MAX_CRTC) {
+                       of_node_put(node);
                        break;
+               }
        }
 
        if (drm_priv->data->mmsys_dev_num == cnt) {