* [PATCH v2] drm: rcar-du: Fix memory leak in rcar_du_vsps_init()
@ 2023-11-16 12:24 Biju Das
2023-12-15 9:15 ` Biju Das
2023-12-18 10:39 ` Laurent Pinchart
0 siblings, 2 replies; 4+ messages in thread
From: Biju Das @ 2023-11-16 12:24 UTC (permalink / raw)
To: David Airlie, Daniel Vetter
Cc: Biju Das, Laurent Pinchart, Kieran Bingham, Jacopo Mondi,
dri-devel, linux-renesas-soc, Geert Uytterhoeven,
Prabhakar Mahadev Lad, Biju Das
The rcar_du_vsps_init() doesn't free the np allocated by
of_parse_phandle_with_fixed_args() for the non-error case.
Fix memory leak for the non-error case.
While at it, replace the label 'error'->'done' as it applies to non-error
case as well and update the error check condition for rcar_du_vsp_init()
to avoid breakage in future, if it returns positive value.
Fixes: 3e81374e2014 ("drm: rcar-du: Support multiple sources from the same VSP")
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v1->v2:
* Replaced the label 'error'->'done' as it applies to non-error case as
well.
* Update the error check condition for rcar_du_vsp_init() to avoid
breakage in future, if it returns positive value.
---
drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
index 70d8ad065bfa..4c8fe83dd610 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
@@ -705,7 +705,7 @@ static int rcar_du_vsps_init(struct rcar_du_device *rcdu)
ret = of_parse_phandle_with_fixed_args(np, vsps_prop_name,
cells, i, &args);
if (ret < 0)
- goto error;
+ goto done;
/*
* Add the VSP to the list or update the corresponding existing
@@ -743,13 +743,11 @@ static int rcar_du_vsps_init(struct rcar_du_device *rcdu)
vsp->dev = rcdu;
ret = rcar_du_vsp_init(vsp, vsps[i].np, vsps[i].crtcs_mask);
- if (ret < 0)
- goto error;
+ if (ret)
+ goto done;
}
- return 0;
-
-error:
+done:
for (i = 0; i < ARRAY_SIZE(vsps); ++i)
of_node_put(vsps[i].np);
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* RE: [PATCH v2] drm: rcar-du: Fix memory leak in rcar_du_vsps_init()
2023-11-16 12:24 [PATCH v2] drm: rcar-du: Fix memory leak in rcar_du_vsps_init() Biju Das
@ 2023-12-15 9:15 ` Biju Das
2023-12-18 10:39 ` Laurent Pinchart
1 sibling, 0 replies; 4+ messages in thread
From: Biju Das @ 2023-12-15 9:15 UTC (permalink / raw)
To: David Airlie, Daniel Vetter
Cc: Laurent Pinchart, Kieran Bingham, Jacopo Mondi, dri-devel,
linux-renesas-soc, Geert Uytterhoeven, Prabhakar Mahadev Lad,
biju.das.au
Hi All,
Gentle ping.
> -----Original Message-----
> From: Biju Das <biju.das.jz@bp.renesas.com>
> Sent: Thursday, November 16, 2023 12:24 PM
> Subject: [PATCH v2] drm: rcar-du: Fix memory leak in rcar_du_vsps_init()
>
> The rcar_du_vsps_init() doesn't free the np allocated by
> of_parse_phandle_with_fixed_args() for the non-error case.
>
> Fix memory leak for the non-error case.
>
> While at it, replace the label 'error'->'done' as it applies to non-error
> case as well and update the error check condition for rcar_du_vsp_init()
> to avoid breakage in future, if it returns positive value.
>
> Fixes: 3e81374e2014 ("drm: rcar-du: Support multiple sources from the same
> VSP")
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> v1->v2:
> * Replaced the label 'error'->'done' as it applies to non-error case as
> well.
> * Update the error check condition for rcar_du_vsp_init() to avoid
> breakage in future, if it returns positive value.
> ---
> drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
> b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
> index 70d8ad065bfa..4c8fe83dd610 100644
> --- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
> +++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
> @@ -705,7 +705,7 @@ static int rcar_du_vsps_init(struct rcar_du_device
> *rcdu)
> ret = of_parse_phandle_with_fixed_args(np, vsps_prop_name,
> cells, i, &args);
> if (ret < 0)
> - goto error;
> + goto done;
>
> /*
> * Add the VSP to the list or update the corresponding
> existing @@ -743,13 +743,11 @@ static int rcar_du_vsps_init(struct
> rcar_du_device *rcdu)
> vsp->dev = rcdu;
>
> ret = rcar_du_vsp_init(vsp, vsps[i].np, vsps[i].crtcs_mask);
> - if (ret < 0)
> - goto error;
> + if (ret)
> + goto done;
> }
>
> - return 0;
> -
> -error:
> +done:
> for (i = 0; i < ARRAY_SIZE(vsps); ++i)
> of_node_put(vsps[i].np);
>
> --
> 2.25.1
Cheers,
Biju
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] drm: rcar-du: Fix memory leak in rcar_du_vsps_init()
2023-11-16 12:24 [PATCH v2] drm: rcar-du: Fix memory leak in rcar_du_vsps_init() Biju Das
2023-12-15 9:15 ` Biju Das
@ 2023-12-18 10:39 ` Laurent Pinchart
2024-01-04 11:04 ` Biju Das
1 sibling, 1 reply; 4+ messages in thread
From: Laurent Pinchart @ 2023-12-18 10:39 UTC (permalink / raw)
To: Biju Das
Cc: David Airlie, Daniel Vetter, Kieran Bingham, Jacopo Mondi,
dri-devel, linux-renesas-soc, Geert Uytterhoeven,
Prabhakar Mahadev Lad, Biju Das
Hi Biju,
Thank you for the patch.
On Thu, Nov 16, 2023 at 12:24:24PM +0000, Biju Das wrote:
> The rcar_du_vsps_init() doesn't free the np allocated by
> of_parse_phandle_with_fixed_args() for the non-error case.
>
> Fix memory leak for the non-error case.
>
> While at it, replace the label 'error'->'done' as it applies to non-error
> case as well and update the error check condition for rcar_du_vsp_init()
> to avoid breakage in future, if it returns positive value.
>
> Fixes: 3e81374e2014 ("drm: rcar-du: Support multiple sources from the same VSP")
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> v1->v2:
> * Replaced the label 'error'->'done' as it applies to non-error case as
> well.
> * Update the error check condition for rcar_du_vsp_init() to avoid
> breakage in future, if it returns positive value.
> ---
> drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
> index 70d8ad065bfa..4c8fe83dd610 100644
> --- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
> +++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
> @@ -705,7 +705,7 @@ static int rcar_du_vsps_init(struct rcar_du_device *rcdu)
> ret = of_parse_phandle_with_fixed_args(np, vsps_prop_name,
> cells, i, &args);
> if (ret < 0)
> - goto error;
> + goto done;
>
> /*
> * Add the VSP to the list or update the corresponding existing
> @@ -743,13 +743,11 @@ static int rcar_du_vsps_init(struct rcar_du_device *rcdu)
> vsp->dev = rcdu;
>
> ret = rcar_du_vsp_init(vsp, vsps[i].np, vsps[i].crtcs_mask);
> - if (ret < 0)
> - goto error;
> + if (ret)
> + goto done;
> }
>
> - return 0;
> -
> -error:
> +done:
> for (i = 0; i < ARRAY_SIZE(vsps); ++i)
> of_node_put(vsps[i].np);
>
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH v2] drm: rcar-du: Fix memory leak in rcar_du_vsps_init()
2023-12-18 10:39 ` Laurent Pinchart
@ 2024-01-04 11:04 ` Biju Das
0 siblings, 0 replies; 4+ messages in thread
From: Biju Das @ 2024-01-04 11:04 UTC (permalink / raw)
To: Laurent Pinchart
Cc: David Airlie, Daniel Vetter, Kieran Bingham, Jacopo Mondi,
dri-devel, linux-renesas-soc, Geert Uytterhoeven,
Prabhakar Mahadev Lad, biju.das.au
Hi Laurent,
> Subject: Re: [PATCH v2] drm: rcar-du: Fix memory leak in
> rcar_du_vsps_init()
>
> Hi Biju,
>
> Thank you for the patch.
>
> On Thu, Nov 16, 2023 at 12:24:24PM +0000, Biju Das wrote:
> > The rcar_du_vsps_init() doesn't free the np allocated by
> > of_parse_phandle_with_fixed_args() for the non-error case.
> >
> > Fix memory leak for the non-error case.
> >
> > While at it, replace the label 'error'->'done' as it applies to
> > non-error case as well and update the error check condition for
> > rcar_du_vsp_init() to avoid breakage in future, if it returns positive
> value.
> >
> > Fixes: 3e81374e2014 ("drm: rcar-du: Support multiple sources from the
> > same VSP")
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Can it be applied to rcar-du tree as in MAINTAINERS entry? Or it has to go through drm-misc-next?
Cheers,
Biju
>
> > ---
> > v1->v2:
> > * Replaced the label 'error'->'done' as it applies to non-error case as
> > well.
> > * Update the error check condition for rcar_du_vsp_init() to avoid
> > breakage in future, if it returns positive value.
> > ---
> > drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c | 10 ++++------
> > 1 file changed, 4 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
> > b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
> > index 70d8ad065bfa..4c8fe83dd610 100644
> > --- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
> > +++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
> > @@ -705,7 +705,7 @@ static int rcar_du_vsps_init(struct rcar_du_device
> *rcdu)
> > ret = of_parse_phandle_with_fixed_args(np, vsps_prop_name,
> > cells, i, &args);
> > if (ret < 0)
> > - goto error;
> > + goto done;
> >
> > /*
> > * Add the VSP to the list or update the corresponding
> existing @@
> > -743,13 +743,11 @@ static int rcar_du_vsps_init(struct rcar_du_device
> *rcdu)
> > vsp->dev = rcdu;
> >
> > ret = rcar_du_vsp_init(vsp, vsps[i].np, vsps[i].crtcs_mask);
> > - if (ret < 0)
> > - goto error;
> > + if (ret)
> > + goto done;
> > }
> >
> > - return 0;
> > -
> > -error:
> > +done:
> > for (i = 0; i < ARRAY_SIZE(vsps); ++i)
> > of_node_put(vsps[i].np);
> >
>
> --
> Regards,
>
> Laurent Pinchart
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-01-04 11:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-16 12:24 [PATCH v2] drm: rcar-du: Fix memory leak in rcar_du_vsps_init() Biju Das
2023-12-15 9:15 ` Biju Das
2023-12-18 10:39 ` Laurent Pinchart
2024-01-04 11:04 ` Biju Das
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).