Message ID | 20190911003748.26841-1-navid.emamdoost@gmail.com |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | net: qrtr: fix memort leak in qrtr_tun_write_iter | expand |
From: Navid Emamdoost <navid.emamdoost@gmail.com> Date: Tue, 10 Sep 2019 19:37:45 -0500 > In qrtr_tun_write_iter the allocated kbuf should be release in case of > error happening. > > Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> Shouldn't it also be freed in case of success too?
diff --git a/net/qrtr/tun.c b/net/qrtr/tun.c index ccff1e544c21..1dba8b92560e 100644 --- a/net/qrtr/tun.c +++ b/net/qrtr/tun.c @@ -84,12 +84,18 @@ static ssize_t qrtr_tun_write_iter(struct kiocb *iocb, struct iov_iter *from) if (!kbuf) return -ENOMEM; - if (!copy_from_iter_full(kbuf, len, from)) + if (!copy_from_iter_full(kbuf, len, from)) { + kfree(kbuf); return -EFAULT; + } ret = qrtr_endpoint_post(&tun->ep, kbuf, len); + if (ret < 0) { + kfree(kbuf); + return ret; + } - return ret < 0 ? ret : len; + return len; } static __poll_t qrtr_tun_poll(struct file *filp, poll_table *wait)
In qrtr_tun_write_iter the allocated kbuf should be release in case of error happening. Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> --- net/qrtr/tun.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)