inmsg should be freed in case of on_msg() failure to avoid memory leak. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> --- drivers/hv/hv_utils_transport.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/hv/hv_utils_transport.c b/drivers/hv/hv_utils_transport.c index 24b2766..1d20451 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; + ssize_t ret = count; hvt = container_of(file->f_op, struct hvutil_transport, fops); @@ -85,10 +86,10 @@ static ssize_t hvt_op_write(struct file *file, const char __user *buf, return PTR_ERR(inmsg); if (hvt->on_msg(inmsg, count)) - return -EFAULT; + ret = -EFAULT; kfree(inmsg); - return count; + return ret; } static unsigned int hvt_op_poll(struct file *file, poll_table *wait) -- 2.4.3 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel