Re: [PATCH v2] drm: rcar-du: Fix memory leak in rcar_du_vsps_init()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Biju,

On Tue, Aug 27, 2024 at 04:43:12PM +0000, Biju Das wrote:
> Hi Laurent and Tomi,
> 
> Gentle ping. Are you happy with this patch?

I've sent a pull request last Friday, see
https://lore.kernel.org/r/20240822234445.GA23541@xxxxxxxxxxxxxxxxxxxxxxxxxx

> > -----Original Message-----
> > From: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> > Sent: Monday, December 18, 2023 10:39 AM
> > 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@xxxxxxxxxxxxxx>
> > 
> > Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
> > 
> > > ---
> > > 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



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux