diff mbox series

vhost-user: fix memory leak

Message ID 20180213025306.16736-1-linzhecheng@huawei.com
State New
Headers show
Series vhost-user: fix memory leak | expand

Commit Message

linzhecheng Feb. 13, 2018, 2:53 a.m. UTC
fix memory leak

Signed-off-by: linzhecheng <linzhecheng@huawei.com>

Comments

Philippe Mathieu-Daudé Feb. 13, 2018, 3:53 a.m. UTC | #1
Hi Linzhecheng,

On 02/12/2018 11:53 PM, linzhecheng wrote:
> fix memory leak
> 
> Signed-off-by: linzhecheng <linzhecheng@huawei.com>
> 
> diff --git a/net/vhost-user.c b/net/vhost-user.c
> index cb45512506..d024573e45 100644
> --- a/net/vhost-user.c
> +++ b/net/vhost-user.c
> @@ -109,6 +109,7 @@ static int vhost_user_start(int queues, NetClientState *ncs[], CharBackend *be)
>  err:
>      if (net) {
>          vhost_net_cleanup(net);
> +        g_free(net);

I think this g_free() belongs to vhost_net_cleanup() in net/vhost_net.c:

void vhost_net_cleanup(struct vhost_net *net)
{
    vhost_dev_cleanup(&net->dev);
    g_free(net);
}

Regards,

Phil.

>      }
>      vhost_user_stop(i, ncs);
>      return -1;
>
linzhecheng Feb. 13, 2018, 4:16 a.m. UTC | #2
> -----邮件原件-----

> 发件人: Philippe Mathieu-Daudé [mailto:philippe.mathieu.daude@gmail.com]

> 代表 Philippe Mathieu-Daudé

> 发送时间: 2018年2月13日 11:54

> 收件人: linzhecheng <linzhecheng@huawei.com>; qemu-devel@nongnu.org

> 抄送: pbonzini@redhat.com; wangxin (U) <wangxinxin.wang@huawei.com>;

> lidonglin <lidonglin@huawei.com>; mst@redhat.com

> 主题: Re: [Qemu-devel] [PATCH] vhost-user: fix memory leak

> 

> Hi Linzhecheng,

> 

> On 02/12/2018 11:53 PM, linzhecheng wrote:

> > fix memory leak

> >

> > Signed-off-by: linzhecheng <linzhecheng@huawei.com>

> >

> > diff --git a/net/vhost-user.c b/net/vhost-user.c index

> > cb45512506..d024573e45 100644

> > --- a/net/vhost-user.c

> > +++ b/net/vhost-user.c

> > @@ -109,6 +109,7 @@ static int vhost_user_start(int queues,

> > NetClientState *ncs[], CharBackend *be)

> >  err:

> >      if (net) {

> >          vhost_net_cleanup(net);

> > +        g_free(net);

> 

> I think this g_free() belongs to vhost_net_cleanup() in net/vhost_net.c:

I think your qemu version is out of date,  g_free was moved from vhost_net_cleanup in commit e6bcb1b
> 

> void vhost_net_cleanup(struct vhost_net *net) {

>     vhost_dev_cleanup(&net->dev);

>     g_free(net);

> }

> 

> Regards,

> 

> Phil.

> 

> >      }

> >      vhost_user_stop(i, ncs);

> >      return -1;

> >
Philippe Mathieu-Daudé Feb. 13, 2018, 4:30 a.m. UTC | #3
On 02/13/2018 01:16 AM, linzhecheng wrote:
>> -----邮件原件-----
>> 发件人: Philippe Mathieu-Daudé [mailto:philippe.mathieu.daude@gmail.com]
>> 代表 Philippe Mathieu-Daudé
>> 发送时间: 2018年2月13日 11:54
>> 收件人: linzhecheng <linzhecheng@huawei.com>; qemu-devel@nongnu.org
>> 抄送: pbonzini@redhat.com; wangxin (U) <wangxinxin.wang@huawei.com>;
>> lidonglin <lidonglin@huawei.com>; mst@redhat.com
>> 主题: Re: [Qemu-devel] [PATCH] vhost-user: fix memory leak
>>
>> Hi Linzhecheng,
>>
>> On 02/12/2018 11:53 PM, linzhecheng wrote:
>>> fix memory leak
>>>
>>> Signed-off-by: linzhecheng <linzhecheng@huawei.com>
>>>
>>> diff --git a/net/vhost-user.c b/net/vhost-user.c index
>>> cb45512506..d024573e45 100644
>>> --- a/net/vhost-user.c
>>> +++ b/net/vhost-user.c
>>> @@ -109,6 +109,7 @@ static int vhost_user_start(int queues,
>>> NetClientState *ncs[], CharBackend *be)
>>>  err:
>>>      if (net) {
>>>          vhost_net_cleanup(net);
>>> +        g_free(net);
>>
>> I think this g_free() belongs to vhost_net_cleanup() in net/vhost_net.c:
> I think your qemu version is out of date,  g_free was moved from vhost_net_cleanup in commit e6bcb1b

Now reading e6bcb1b I can understand your patch.

Can you add a reference to this commit in your patch description?

"g_free was moved from vhost_net_cleanup in commit e6bcb1b" might be enough.

Adding reference:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

>>
>> void vhost_net_cleanup(struct vhost_net *net) {
>>     vhost_dev_cleanup(&net->dev);
>>     g_free(net);
>> }
>>
>> Regards,
>>
>> Phil.
>>
>>>      }
>>>      vhost_user_stop(i, ncs);
>>>      return -1;
>>>
diff mbox series

Patch

diff --git a/net/vhost-user.c b/net/vhost-user.c
index cb45512506..d024573e45 100644
--- a/net/vhost-user.c
+++ b/net/vhost-user.c
@@ -109,6 +109,7 @@  static int vhost_user_start(int queues, NetClientState *ncs[], CharBackend *be)
 err:
     if (net) {
         vhost_net_cleanup(net);
+        g_free(net);
     }
     vhost_user_stop(i, ncs);
     return -1;