Re: [PATCH 4.19 047/125] media: davinci: vpif_capture: fix potential double free

From: Greg Kroah-Hartman
Date: Wed Sep 02 2020 - 03:39:33 EST


On Tue, Sep 01, 2020 at 08:42:58PM +0200, Pavel Machek wrote:
> Hi!
>
> > [ Upstream commit 602649eadaa0c977e362e641f51ec306bc1d365d ]
> >
> > In case of errors vpif_probe_complete() releases memory for vpif_obj.sd
> > and unregisters the V4L2 device. But then this is done again by
> > vpif_probe() itself. The patch removes the cleaning from
> > vpif_probe_complete().
>
> > Signed-off-by: Evgeny Novikov <novikov@xxxxxxxxx>
> > Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> > ---
> > drivers/media/platform/davinci/vpif_capture.c | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/drivers/media/platform/davinci/vpif_capture.c b/drivers/media/platform/davinci/vpif_capture.c
> > index a96f53ce80886..cf1d11e6dd8c4 100644
> > --- a/drivers/media/platform/davinci/vpif_capture.c
> > +++ b/drivers/media/platform/davinci/vpif_capture.c
> > @@ -1489,8 +1489,6 @@ probe_out:
> > /* Unregister video device */
> > video_unregister_device(&ch->video_dev);
> > }
> > - kfree(vpif_obj.sd);
> > - v4l2_device_unregister(&vpif_obj.v4l2_dev);
> >
> > return err;
> > }
>
> This one is wrong. Unlike mainline, 4.19 does check return value of
> vpif_probe_complete(), and thus it will lead to memory leak in 4.19.

Thanks, now dropped.

greg k-h