diff mbox series

[1/2] drm/mediatek: Fix child node refcount handling in early exit

Message ID 20241011-mtk_drm_drv_memleak-v1-1-2b40c74c8d75@gmail.com (mailing list archive)
State New, archived
Headers show
Series drm/mediatek: Fix child node refcount handling and use scoped macro | expand

Commit Message

Javier Carrasco Oct. 11, 2024, 7:21 p.m. UTC
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>
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

CK Hu (胡俊光) Oct. 23, 2024, 2:49 a.m. UTC | #1
Hi, Javier:

On Fri, 2024-10-11 at 21:21 +0200, Javier Carrasco wrote:
>  	 
> External email : Please do not click links or open attachments until you have verified the sender or the content.
>  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.

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

> 
> 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>
> ---
>  drivers/gpu/drm/mediatek/mtk_drm_drv.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> index a4594f8873d5..0878df832859 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -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) {
> 
> -- 
> 2.43.0
>
Chen-Yu Tsai Oct. 28, 2024, 7 a.m. UTC | #2
On Sat, Oct 12, 2024 at 3:22 AM Javier Carrasco
<javier.carrasco.cruz@gmail.com> wrote:
>
> 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: Chen-Yu Tsai <wenst@chromium.org>
AngeloGioacchino Del Regno Oct. 28, 2024, 9:09 a.m. UTC | #3
Il 11/10/24 21:21, Javier Carrasco ha scritto:
> 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: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index a4594f8873d5..0878df832859 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -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) {