2019-09-17 09:36:10

by Navid Emamdoost

[permalink] [raw]
Subject: [PATCH] rpmsg: char: release allocated memory

In rpmsg_eptdev_write_iter, if copy_from_iter_full fails the allocated
buffer needs to be released.

Signed-off-by: Navid Emamdoost <[email protected]>
---
drivers/rpmsg/rpmsg_char.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c
index eea5ebbb5119..c655074c07c2 100644
--- a/drivers/rpmsg/rpmsg_char.c
+++ b/drivers/rpmsg/rpmsg_char.c
@@ -227,8 +227,10 @@ static ssize_t rpmsg_eptdev_write_iter(struct kiocb *iocb,
if (!kbuf)
return -ENOMEM;

- if (!copy_from_iter_full(kbuf, len, from))
- return -EFAULT;
+ if (!copy_from_iter_full(kbuf, len, from)) {
+ ret = -EFAULT;
+ goto free_kbuf;
+ }

if (mutex_lock_interruptible(&eptdev->ept_lock)) {
ret = -ERESTARTSYS;
--
2.17.1


2019-11-21 18:22:04

by Navid Emamdoost

[permalink] [raw]
Subject: Re: [PATCH] rpmsg: char: release allocated memory

On Mon, Sep 16, 2019 at 10:31 PM Navid Emamdoost
<[email protected]> wrote:
>
> In rpmsg_eptdev_write_iter, if copy_from_iter_full fails the allocated
> buffer needs to be released.
>
> Signed-off-by: Navid Emamdoost <[email protected]>

Would you please review this patch?

Thank you,

> ---
> drivers/rpmsg/rpmsg_char.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c
> index eea5ebbb5119..c655074c07c2 100644
> --- a/drivers/rpmsg/rpmsg_char.c
> +++ b/drivers/rpmsg/rpmsg_char.c
> @@ -227,8 +227,10 @@ static ssize_t rpmsg_eptdev_write_iter(struct kiocb *iocb,
> if (!kbuf)
> return -ENOMEM;
>
> - if (!copy_from_iter_full(kbuf, len, from))
> - return -EFAULT;
> + if (!copy_from_iter_full(kbuf, len, from)) {
> + ret = -EFAULT;
> + goto free_kbuf;
> + }
>
> if (mutex_lock_interruptible(&eptdev->ept_lock)) {
> ret = -ERESTARTSYS;
> --
> 2.17.1
>


--
Navid.

2019-11-21 23:40:19

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] rpmsg: char: release allocated memory

On Thu 21 Nov 10:20 PST 2019, Navid Emamdoost wrote:

> On Mon, Sep 16, 2019 at 10:31 PM Navid Emamdoost
> <[email protected]> wrote:
> >
> > In rpmsg_eptdev_write_iter, if copy_from_iter_full fails the allocated
> > buffer needs to be released.
> >
> > Signed-off-by: Navid Emamdoost <[email protected]>
>
> Would you please review this patch?
>

I'm sorry, I must have missed to reply as I applied the patch. You can
find it in the rpmsg-next branch [1] and it will be part of the pull
request for v5.5

[1] https://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git/log/?h=rpmsg-next

Regards,
Bjorn

> Thank you,
>
> > ---
> > drivers/rpmsg/rpmsg_char.c | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c
> > index eea5ebbb5119..c655074c07c2 100644
> > --- a/drivers/rpmsg/rpmsg_char.c
> > +++ b/drivers/rpmsg/rpmsg_char.c
> > @@ -227,8 +227,10 @@ static ssize_t rpmsg_eptdev_write_iter(struct kiocb *iocb,
> > if (!kbuf)
> > return -ENOMEM;
> >
> > - if (!copy_from_iter_full(kbuf, len, from))
> > - return -EFAULT;
> > + if (!copy_from_iter_full(kbuf, len, from)) {
> > + ret = -EFAULT;
> > + goto free_kbuf;
> > + }
> >
> > if (mutex_lock_interruptible(&eptdev->ept_lock)) {
> > ret = -ERESTARTSYS;
> > --
> > 2.17.1
> >
>
>
> --
> Navid.

2019-11-21 23:57:06

by Navid Emamdoost

[permalink] [raw]
Subject: Re: [PATCH] rpmsg: char: release allocated memory

Thanks for the update.

On Thu, Nov 21, 2019 at 5:35 PM Bjorn Andersson
<[email protected]> wrote:
>
> On Thu 21 Nov 10:20 PST 2019, Navid Emamdoost wrote:
>
> > On Mon, Sep 16, 2019 at 10:31 PM Navid Emamdoost
> > <[email protected]> wrote:
> > >
> > > In rpmsg_eptdev_write_iter, if copy_from_iter_full fails the allocated
> > > buffer needs to be released.
> > >
> > > Signed-off-by: Navid Emamdoost <[email protected]>
> >
> > Would you please review this patch?
> >
>
> I'm sorry, I must have missed to reply as I applied the patch. You can
> find it in the rpmsg-next branch [1] and it will be part of the pull
> request for v5.5
>
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git/log/?h=rpmsg-next
>
> Regards,
> Bjorn
>
> > Thank you,
> >
> > > ---
> > > drivers/rpmsg/rpmsg_char.c | 6 ++++--
> > > 1 file changed, 4 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c
> > > index eea5ebbb5119..c655074c07c2 100644
> > > --- a/drivers/rpmsg/rpmsg_char.c
> > > +++ b/drivers/rpmsg/rpmsg_char.c
> > > @@ -227,8 +227,10 @@ static ssize_t rpmsg_eptdev_write_iter(struct kiocb *iocb,
> > > if (!kbuf)
> > > return -ENOMEM;
> > >
> > > - if (!copy_from_iter_full(kbuf, len, from))
> > > - return -EFAULT;
> > > + if (!copy_from_iter_full(kbuf, len, from)) {
> > > + ret = -EFAULT;
> > > + goto free_kbuf;
> > > + }
> > >
> > > if (mutex_lock_interruptible(&eptdev->ept_lock)) {
> > > ret = -ERESTARTSYS;
> > > --
> > > 2.17.1
> > >
> >
> >
> > --
> > Navid.



--
Navid.