qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/4] fix memory leak which allocted by the setter of object_property_add_str
@ 2015-12-23  7:43 Li Zhijian
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 1/4] net/filter: fix nf->netdev_id leak Li Zhijian
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Li Zhijian @ 2015-12-23  7:43 UTC (permalink / raw)
  To: qemu-devel; +Cc: Li Zhijian

free the resources allocted by this setter at the instance finalization.

Li Zhijian (4):
  net/filter: fix nf->netdev_id leak
  net/dump: fix nfds->filename leak
  backends/hostmem-file: fix fb->mem_path leak
  hw/ppc/spapr: fix spapr->kvm_type leak

 backends/hostmem-file.c | 8 ++++++++
 hw/ppc/spapr.c          | 8 ++++++++
 net/dump.c              | 8 ++++++++
 net/filter.c            | 1 +
 4 files changed, 25 insertions(+)

-- 
2.5.0

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Qemu-devel] [PATCH 1/4] net/filter: fix nf->netdev_id leak
  2015-12-23  7:43 [Qemu-devel] [PATCH 0/4] fix memory leak which allocted by the setter of object_property_add_str Li Zhijian
@ 2015-12-23  7:43 ` Li Zhijian
  2015-12-24  3:24   ` Jason Wang
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 2/4] net/dump: fix nfds->filename leak Li Zhijian
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Li Zhijian @ 2015-12-23  7:43 UTC (permalink / raw)
  To: qemu-devel; +Cc: Jason Wang, Li Zhijian

Cc: Jason Wang <jasowang@redhat.com>
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
---
 net/filter.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/filter.c b/net/filter.c
index 1365bad..f777ba2 100644
--- a/net/filter.c
+++ b/net/filter.c
@@ -204,6 +204,7 @@ static void netfilter_finalize(Object *obj)
     if (nf->netdev && !QTAILQ_EMPTY(&nf->netdev->filters)) {
         QTAILQ_REMOVE(&nf->netdev->filters, nf, next);
     }
+    g_free(nf->netdev_id);
 }
 
 static void netfilter_class_init(ObjectClass *oc, void *data)
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Qemu-devel] [PATCH 2/4] net/dump: fix nfds->filename leak
  2015-12-23  7:43 [Qemu-devel] [PATCH 0/4] fix memory leak which allocted by the setter of object_property_add_str Li Zhijian
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 1/4] net/filter: fix nf->netdev_id leak Li Zhijian
@ 2015-12-23  7:43 ` Li Zhijian
  2015-12-24  3:25   ` Jason Wang
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 3/4] backends/hostmem-file: fix fb->mem_path leak Li Zhijian
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 4/4] hw/ppc/spapr: fix spapr->kvm_type leak Li Zhijian
  3 siblings, 1 reply; 9+ messages in thread
From: Li Zhijian @ 2015-12-23  7:43 UTC (permalink / raw)
  To: qemu-devel; +Cc: Jason Wang, Li Zhijian

Cc: Jason Wang <jasowang@redhat.com>
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
---
 net/dump.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/net/dump.c b/net/dump.c
index ce16a4b..347b5ca 100644
--- a/net/dump.c
+++ b/net/dump.c
@@ -329,6 +329,13 @@ static void filter_dump_instance_init(Object *obj)
                             file_dump_set_filename, NULL);
 }
 
+static void filter_dump_instance_finalize(Object *obj)
+{
+    NetFilterDumpState *nfds = FILTER_DUMP(obj);
+
+    g_free(nfds->filename);
+}
+
 static void filter_dump_class_init(ObjectClass *oc, void *data)
 {
     NetFilterClass *nfc = NETFILTER_CLASS(oc);
@@ -343,6 +350,7 @@ static const TypeInfo filter_dump_info = {
     .parent = TYPE_NETFILTER,
     .class_init = filter_dump_class_init,
     .instance_init = filter_dump_instance_init,
+    .instance_finalize = filter_dump_instance_finalize,
     .instance_size = sizeof(NetFilterDumpState),
 };
 
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Qemu-devel] [PATCH 3/4] backends/hostmem-file: fix fb->mem_path leak
  2015-12-23  7:43 [Qemu-devel] [PATCH 0/4] fix memory leak which allocted by the setter of object_property_add_str Li Zhijian
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 1/4] net/filter: fix nf->netdev_id leak Li Zhijian
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 2/4] net/dump: fix nfds->filename leak Li Zhijian
@ 2015-12-23  7:43 ` Li Zhijian
  2015-12-23 13:32   ` Igor Mammedov
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 4/4] hw/ppc/spapr: fix spapr->kvm_type leak Li Zhijian
  3 siblings, 1 reply; 9+ messages in thread
From: Li Zhijian @ 2015-12-23  7:43 UTC (permalink / raw)
  To: qemu-devel; +Cc: Li Zhijian

Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
---
 backends/hostmem-file.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c
index e9b6d21..5a73fd0 100644
--- a/backends/hostmem-file.c
+++ b/backends/hostmem-file.c
@@ -116,11 +116,19 @@ file_backend_instance_init(Object *o)
                             set_mem_path, NULL);
 }
 
+static void file_backend_instance_finalize(Object *o)
+{
+    HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(o);
+
+    g_free(fb->mem_path);
+}
+
 static const TypeInfo file_backend_info = {
     .name = TYPE_MEMORY_BACKEND_FILE,
     .parent = TYPE_MEMORY_BACKEND,
     .class_init = file_backend_class_init,
     .instance_init = file_backend_instance_init,
+    .instance_finalize = file_backend_instance_finalize,
     .instance_size = sizeof(HostMemoryBackendFile),
 };
 
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Qemu-devel] [PATCH 4/4] hw/ppc/spapr: fix spapr->kvm_type leak
  2015-12-23  7:43 [Qemu-devel] [PATCH 0/4] fix memory leak which allocted by the setter of object_property_add_str Li Zhijian
                   ` (2 preceding siblings ...)
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 3/4] backends/hostmem-file: fix fb->mem_path leak Li Zhijian
@ 2015-12-23  7:43 ` Li Zhijian
  2015-12-24  8:36   ` David Gibson
  3 siblings, 1 reply; 9+ messages in thread
From: Li Zhijian @ 2015-12-23  7:43 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-ppc, Alexander Graf, Li Zhijian, David Gibson

Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: Alexander Graf <agraf@suse.de>
Cc: qemu-ppc@nongnu.org
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
---
 hw/ppc/spapr.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 6bfb908..65b2d61 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -2101,6 +2101,13 @@ static void spapr_machine_initfn(Object *obj)
                                     NULL);
 }
 
+static char *spapr_machine_finalizefn(Object *obj)
+{
+    sPAPRMachineState *spapr = SPAPR_MACHINE(obj);
+
+    g_free(spapr->kvm_type);
+}
+
 static void ppc_cpu_do_nmi_on_cpu(void *arg)
 {
     CPUState *cs = arg;
@@ -2288,6 +2295,7 @@ static const TypeInfo spapr_machine_info = {
     .abstract      = true,
     .instance_size = sizeof(sPAPRMachineState),
     .instance_init = spapr_machine_initfn,
+    .instance_finalize = spapr_machine_finalizefn,
     .class_size    = sizeof(sPAPRMachineClass),
     .class_init    = spapr_machine_class_init,
     .interfaces = (InterfaceInfo[]) {
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH 3/4] backends/hostmem-file: fix fb->mem_path leak
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 3/4] backends/hostmem-file: fix fb->mem_path leak Li Zhijian
@ 2015-12-23 13:32   ` Igor Mammedov
  0 siblings, 0 replies; 9+ messages in thread
From: Igor Mammedov @ 2015-12-23 13:32 UTC (permalink / raw)
  To: Li Zhijian; +Cc: qemu-devel

On Wed, 23 Dec 2015 15:43:20 +0800
Li Zhijian <lizhijian@cn.fujitsu.com> wrote:

> Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
> ---
>  backends/hostmem-file.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c
> index e9b6d21..5a73fd0 100644
> --- a/backends/hostmem-file.c
> +++ b/backends/hostmem-file.c
> @@ -116,11 +116,19 @@ file_backend_instance_init(Object *o)
>                              set_mem_path, NULL);
>  }
>  
> +static void file_backend_instance_finalize(Object *o)
> +{
> +    HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(o);
> +
> +    g_free(fb->mem_path);
> +}
> +
>  static const TypeInfo file_backend_info = {
>      .name = TYPE_MEMORY_BACKEND_FILE,
>      .parent = TYPE_MEMORY_BACKEND,
>      .class_init = file_backend_class_init,
>      .instance_init = file_backend_instance_init,
> +    .instance_finalize = file_backend_instance_finalize,
>      .instance_size = sizeof(HostMemoryBackendFile),
>  };
>  

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH 1/4] net/filter: fix nf->netdev_id leak
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 1/4] net/filter: fix nf->netdev_id leak Li Zhijian
@ 2015-12-24  3:24   ` Jason Wang
  0 siblings, 0 replies; 9+ messages in thread
From: Jason Wang @ 2015-12-24  3:24 UTC (permalink / raw)
  To: Li Zhijian, qemu-devel



On 12/23/2015 03:43 PM, Li Zhijian wrote:
> Cc: Jason Wang <jasowang@redhat.com>
> Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
> ---
>  net/filter.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/net/filter.c b/net/filter.c
> index 1365bad..f777ba2 100644
> --- a/net/filter.c
> +++ b/net/filter.c
> @@ -204,6 +204,7 @@ static void netfilter_finalize(Object *obj)
>      if (nf->netdev && !QTAILQ_EMPTY(&nf->netdev->filters)) {
>          QTAILQ_REMOVE(&nf->netdev->filters, nf, next);
>      }
> +    g_free(nf->netdev_id);
>  }
>  
>  static void netfilter_class_init(ObjectClass *oc, void *data)

Apply to my -net.

Thanks

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH 2/4] net/dump: fix nfds->filename leak
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 2/4] net/dump: fix nfds->filename leak Li Zhijian
@ 2015-12-24  3:25   ` Jason Wang
  0 siblings, 0 replies; 9+ messages in thread
From: Jason Wang @ 2015-12-24  3:25 UTC (permalink / raw)
  To: Li Zhijian, qemu-devel



On 12/23/2015 03:43 PM, Li Zhijian wrote:
> Cc: Jason Wang <jasowang@redhat.com>
> Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
> ---
>  net/dump.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/net/dump.c b/net/dump.c
> index ce16a4b..347b5ca 100644
> --- a/net/dump.c
> +++ b/net/dump.c
> @@ -329,6 +329,13 @@ static void filter_dump_instance_init(Object *obj)
>                              file_dump_set_filename, NULL);
>  }
>  
> +static void filter_dump_instance_finalize(Object *obj)
> +{
> +    NetFilterDumpState *nfds = FILTER_DUMP(obj);
> +
> +    g_free(nfds->filename);
> +}
> +
>  static void filter_dump_class_init(ObjectClass *oc, void *data)
>  {
>      NetFilterClass *nfc = NETFILTER_CLASS(oc);
> @@ -343,6 +350,7 @@ static const TypeInfo filter_dump_info = {
>      .parent = TYPE_NETFILTER,
>      .class_init = filter_dump_class_init,
>      .instance_init = filter_dump_instance_init,
> +    .instance_finalize = filter_dump_instance_finalize,
>      .instance_size = sizeof(NetFilterDumpState),
>  };
>  

Applied to my -net.

Thanks

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH 4/4] hw/ppc/spapr: fix spapr->kvm_type leak
  2015-12-23  7:43 ` [Qemu-devel] [PATCH 4/4] hw/ppc/spapr: fix spapr->kvm_type leak Li Zhijian
@ 2015-12-24  8:36   ` David Gibson
  0 siblings, 0 replies; 9+ messages in thread
From: David Gibson @ 2015-12-24  8:36 UTC (permalink / raw)
  To: Li Zhijian; +Cc: qemu-ppc, qemu-devel, Alexander Graf

[-- Attachment #1: Type: text/plain, Size: 1604 bytes --]

On Wed, Dec 23, 2015 at 03:43:21PM +0800, Li Zhijian wrote:
> Cc: David Gibson <david@gibson.dropbear.id.au>
> Cc: Alexander Graf <agraf@suse.de>
> Cc: qemu-ppc@nongnu.org
> Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>

Since the machine has a lifetime basically equal to the runtime of
qemu, it's not a terribly important leak.  Still, might as well get it
right.

Merged into my ppc-for-2.6 branch.

> ---
>  hw/ppc/spapr.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 6bfb908..65b2d61 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -2101,6 +2101,13 @@ static void spapr_machine_initfn(Object *obj)
>                                      NULL);
>  }
>  
> +static char *spapr_machine_finalizefn(Object *obj)
> +{
> +    sPAPRMachineState *spapr = SPAPR_MACHINE(obj);
> +
> +    g_free(spapr->kvm_type);
> +}
> +
>  static void ppc_cpu_do_nmi_on_cpu(void *arg)
>  {
>      CPUState *cs = arg;
> @@ -2288,6 +2295,7 @@ static const TypeInfo spapr_machine_info = {
>      .abstract      = true,
>      .instance_size = sizeof(sPAPRMachineState),
>      .instance_init = spapr_machine_initfn,
> +    .instance_finalize = spapr_machine_finalizefn,
>      .class_size    = sizeof(sPAPRMachineClass),
>      .class_init    = spapr_machine_class_init,
>      .interfaces = (InterfaceInfo[]) {

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-12-24 10:37 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-23  7:43 [Qemu-devel] [PATCH 0/4] fix memory leak which allocted by the setter of object_property_add_str Li Zhijian
2015-12-23  7:43 ` [Qemu-devel] [PATCH 1/4] net/filter: fix nf->netdev_id leak Li Zhijian
2015-12-24  3:24   ` Jason Wang
2015-12-23  7:43 ` [Qemu-devel] [PATCH 2/4] net/dump: fix nfds->filename leak Li Zhijian
2015-12-24  3:25   ` Jason Wang
2015-12-23  7:43 ` [Qemu-devel] [PATCH 3/4] backends/hostmem-file: fix fb->mem_path leak Li Zhijian
2015-12-23 13:32   ` Igor Mammedov
2015-12-23  7:43 ` [Qemu-devel] [PATCH 4/4] hw/ppc/spapr: fix spapr->kvm_type leak Li Zhijian
2015-12-24  8:36   ` David Gibson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).