From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50934) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDDbE-0004AA-3P for qemu-devel@nongnu.org; Thu, 09 Jul 2015 11:18:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZDDbA-0004hL-GS for qemu-devel@nongnu.org; Thu, 09 Jul 2015 11:18:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39366) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDDbA-0004h7-Ar for qemu-devel@nongnu.org; Thu, 09 Jul 2015 11:18:52 -0400 References: <1435956624-21609-1-git-send-email-ehabkost@redhat.com> <1435956624-21609-6-git-send-email-ehabkost@redhat.com> <559E8139.8030809@redhat.com> <20150709151004.GA4827@in.ibm.com> From: Paolo Bonzini Message-ID: <559E90D8.8080706@redhat.com> Date: Thu, 9 Jul 2015 17:18:48 +0200 MIME-Version: 1.0 In-Reply-To: <20150709151004.GA4827@in.ibm.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PULL 5/6] numa: Store boot memory address range in node_info List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: bharata@linux.vnet.ibm.com Cc: Peter Maydell , "Michael S. Tsirkin" , Eduardo Habkost , qemu-devel@nongnu.org On 09/07/2015 17:10, Bharata B Rao wrote: > On Thu, Jul 09, 2015 at 04:12:09PM +0200, Paolo Bonzini wrote: >> >> >> On 03/07/2015 22:50, Eduardo Habkost wrote: >>> From: Bharata B Rao >>> >>> Store memory address range information of boot memory in address >>> range list of numa_info. >>> >>> This helps to have a common NUMA node lookup by address function that >>> works for both boot-time memory and hotplugged memory. >>> >>> Signed-off-by: Bharata B Rao >>> Reviewed-by: David Gibson >>> Tested-by: Igor Mammedov >>> Signed-off-by: Eduardo Habkost >>> --- >>> numa.c | 27 +++++++++++++++++++++++++++ >>> 1 file changed, 27 insertions(+) >>> >>> diff --git a/numa.c b/numa.c >>> index 116d1fb..a73f648 100644 >>> --- a/numa.c >>> +++ b/numa.c >>> @@ -56,6 +56,14 @@ void numa_set_mem_node_id(ram_addr_t addr, uint64_t size, uint32_t node) >>> { >>> struct numa_addr_range *range = g_malloc0(sizeof(*range)); >>> >>> + /* >>> + * Memory-less nodes can come here with 0 size in which case, >>> + * there is nothing to do. >>> + */ >>> + if (!size) { >>> + return; >> >> This leaks "range". > > Should I post this fix as an independent thread ? Yes, please. Paolo > > numa: Fix memory leak in numa_set_mem_node_id() > > From: Bharata B Rao > > Fix a memory leak in numa_set_mem_node_id(). > > Signed-off-by: Bharata B Rao > --- > numa.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/numa.c b/numa.c > index 3c80059..402804b 100644 > --- a/numa.c > +++ b/numa.c > @@ -54,7 +54,7 @@ NodeInfo numa_info[MAX_NODES]; > > void numa_set_mem_node_id(ram_addr_t addr, uint64_t size, uint32_t node) > { > - struct numa_addr_range *range = g_malloc0(sizeof(*range)); > + struct numa_addr_range *range; > > /* > * Memory-less nodes can come here with 0 size in which case, > @@ -64,6 +64,7 @@ void numa_set_mem_node_id(ram_addr_t addr, uint64_t size, uint32_t node) > return; > } > > + range = g_malloc0(sizeof(*range)); > range->mem_start = addr; > range->mem_end = addr + size - 1; > QLIST_INSERT_HEAD(&numa_info[node].addr, range, entry); >