RE: [PATCH 1/1] rpmsg: virtio_rpmsg_bus: Fix rpmsg_create_channel memory leak

2018-07-26 Thread Loic PALLARDY
Hi Suman,

> -Original Message-
> From: Suman Anna 
> Sent: Thursday, July 26, 2018 12:37 AM
> To: Loic PALLARDY ; bjorn.anders...@linaro.org;
> o...@wizery.com
> Cc: linux-remotep...@vger.kernel.org; linux-kernel@vger.kernel.org;
> Arnaud POULIQUEN ;
> benjamin.gaign...@linaro.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 
> > ---
> >  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 = >vdev->dev;
> > rpdev->dev.release = virtio_rpmsg_release_device;
> > ret = rpmsg_register_device(rpdev);
> > -   if (ret)
> > +   if (ret) {
> > +   kfree(vch);
> > return NULL;
> > +   }
> >
> > return rpdev;
> >  }
> >



RE: [PATCH 1/1] rpmsg: virtio_rpmsg_bus: Fix rpmsg_create_channel memory leak

2018-07-26 Thread Loic PALLARDY
Hi Suman,

> -Original Message-
> From: Suman Anna 
> Sent: Thursday, July 26, 2018 12:37 AM
> To: Loic PALLARDY ; bjorn.anders...@linaro.org;
> o...@wizery.com
> Cc: linux-remotep...@vger.kernel.org; linux-kernel@vger.kernel.org;
> Arnaud POULIQUEN ;
> benjamin.gaign...@linaro.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 
> > ---
> >  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 = >vdev->dev;
> > rpdev->dev.release = virtio_rpmsg_release_device;
> > ret = rpmsg_register_device(rpdev);
> > -   if (ret)
> > +   if (ret) {
> > +   kfree(vch);
> > return NULL;
> > +   }
> >
> > return rpdev;
> >  }
> >



Re: [PATCH 1/1] rpmsg: virtio_rpmsg_bus: Fix rpmsg_create_channel memory leak

2018-07-25 Thread Suman Anna
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.

regards
Suman

> fixes: 6eed598a0491 ("rpmsg: Split off generic tail of create_channel()")
> 
> Signed-off-by: Loic Pallardy 
> ---
>  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 = >vdev->dev;
>   rpdev->dev.release = virtio_rpmsg_release_device;
>   ret = rpmsg_register_device(rpdev);
> - if (ret)
> + if (ret) {
> + kfree(vch);
>   return NULL;
> + }
>  
>   return rpdev;
>  }
> 



Re: [PATCH 1/1] rpmsg: virtio_rpmsg_bus: Fix rpmsg_create_channel memory leak

2018-07-25 Thread Suman Anna
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.

regards
Suman

> fixes: 6eed598a0491 ("rpmsg: Split off generic tail of create_channel()")
> 
> Signed-off-by: Loic Pallardy 
> ---
>  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 = >vdev->dev;
>   rpdev->dev.release = virtio_rpmsg_release_device;
>   ret = rpmsg_register_device(rpdev);
> - if (ret)
> + if (ret) {
> + kfree(vch);
>   return NULL;
> + }
>  
>   return rpdev;
>  }
> 



[PATCH 1/1] rpmsg: virtio_rpmsg_bus: Fix rpmsg_create_channel memory leak

2018-07-25 Thread Loic Pallardy
In case of rpmsg_register_device() failure, vch previously
allocated must be free.

fixes: 6eed598a0491 ("rpmsg: Split off generic tail of create_channel()")

Signed-off-by: Loic Pallardy 
---
 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 = >vdev->dev;
rpdev->dev.release = virtio_rpmsg_release_device;
ret = rpmsg_register_device(rpdev);
-   if (ret)
+   if (ret) {
+   kfree(vch);
return NULL;
+   }
 
return rpdev;
 }
-- 
1.9.1



[PATCH 1/1] rpmsg: virtio_rpmsg_bus: Fix rpmsg_create_channel memory leak

2018-07-25 Thread Loic Pallardy
In case of rpmsg_register_device() failure, vch previously
allocated must be free.

fixes: 6eed598a0491 ("rpmsg: Split off generic tail of create_channel()")

Signed-off-by: Loic Pallardy 
---
 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 = >vdev->dev;
rpdev->dev.release = virtio_rpmsg_release_device;
ret = rpmsg_register_device(rpdev);
-   if (ret)
+   if (ret) {
+   kfree(vch);
return NULL;
+   }
 
return rpdev;
 }
-- 
1.9.1