lkml.org 
[lkml]   [2015]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH v2 1/4] Drivers: hv: utils: fix memory leak on on_msg() failure
Date
inmsg should be freed in case of on_msg() failure to avoid memory leak.
Preserve the error code from on_msg().

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
Changes since v1:
- Preserve the error code from on_msg(). [Dan Carpenter]
---
drivers/hv/hv_utils_transport.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/hv/hv_utils_transport.c b/drivers/hv/hv_utils_transport.c
index 24b2766..40abe44 100644
--- a/drivers/hv/hv_utils_transport.c
+++ b/drivers/hv/hv_utils_transport.c
@@ -77,6 +77,7 @@ static ssize_t hvt_op_write(struct file *file, const char __user *buf,
{
struct hvutil_transport *hvt;
u8 *inmsg;
+ int ret;

hvt = container_of(file->f_op, struct hvutil_transport, fops);

@@ -84,11 +85,11 @@ static ssize_t hvt_op_write(struct file *file, const char __user *buf,
if (IS_ERR(inmsg))
return PTR_ERR(inmsg);

- if (hvt->on_msg(inmsg, count))
- return -EFAULT;
+ ret = hvt->on_msg(inmsg, count);
+
kfree(inmsg);

- return count;
+ return ret ? ret : count;
}

static unsigned int hvt_op_poll(struct file *file, poll_table *wait)
--
2.4.3


\
 
 \ /
  Last update: 2015-11-18 15:01    [W:0.047 / U:0.532 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site