[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <fd10ef4f445641b2b333bffa5da225f6@SFHDAG7NODE2.st.com>
Date: Thu, 26 Jul 2018 07:04:23 +0000
From: Loic PALLARDY <loic.pallardy@...com>
To: Suman Anna <s-anna@...com>,
"bjorn.andersson@...aro.org" <bjorn.andersson@...aro.org>,
"ohad@...ery.com" <ohad@...ery.com>
CC: "linux-remoteproc@...r.kernel.org" <linux-remoteproc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Arnaud POULIQUEN" <arnaud.pouliquen@...com>,
"benjamin.gaignard@...aro.org" <benjamin.gaignard@...aro.org>
Subject: RE: [PATCH 1/1] rpmsg: virtio_rpmsg_bus: Fix rpmsg_create_channel
memory leak
Hi Suman,
> -----Original Message-----
> From: Suman Anna <s-anna@...com>
> Sent: Thursday, July 26, 2018 12:37 AM
> To: Loic PALLARDY <loic.pallardy@...com>; bjorn.andersson@...aro.org;
> ohad@...ery.com
> Cc: linux-remoteproc@...r.kernel.org; linux-kernel@...r.kernel.org;
> Arnaud POULIQUEN <arnaud.pouliquen@...com>;
> benjamin.gaignard@...aro.org
> Subject: Re: [PATCH 1/1] rpmsg: virtio_rpmsg_bus: Fix
> rpmsg_create_channel memory leak
>
> Hi Loic,
>
> On 07/25/2018 04:08 PM, Loic Pallardy wrote:
> > In case of rpmsg_register_device() failure, vch previously
> > allocated must be free.
> >
>
> Isn't this already handled through the virtio_rpmsg_release_device()
> callback as part of the put_device() in rpmsg_register_device() failure.
Yes you're right, put_device() is doing the job.
Please forget this patch.
Regards,
Loic
>
> regards
> Suman
>
> > fixes: 6eed598a0491 ("rpmsg: Split off generic tail of create_channel()")
> >
> > Signed-off-by: Loic Pallardy <loic.pallardy@...com>
> > ---
> > drivers/rpmsg/virtio_rpmsg_bus.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c
> b/drivers/rpmsg/virtio_rpmsg_bus.c
> > index 664f957..10f927e 100644
> > --- a/drivers/rpmsg/virtio_rpmsg_bus.c
> > +++ b/drivers/rpmsg/virtio_rpmsg_bus.c
> > @@ -431,8 +431,10 @@ static struct rpmsg_device
> *rpmsg_create_channel(struct virtproc_info *vrp,
> > rpdev->dev.parent = &vrp->vdev->dev;
> > rpdev->dev.release = virtio_rpmsg_release_device;
> > ret = rpmsg_register_device(rpdev);
> > - if (ret)
> > + if (ret) {
> > + kfree(vch);
> > return NULL;
> > + }
> >
> > return rpdev;
> > }
> >
Powered by blists - more mailing lists