From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53808) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yye6E-000621-I1 for qemu-devel@nongnu.org; Sat, 30 May 2015 06:34:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yye6D-0004LO-Ji for qemu-devel@nongnu.org; Sat, 30 May 2015 06:34:42 -0400 Sender: Paolo Bonzini Message-ID: <55699237.7070702@redhat.com> Date: Sat, 30 May 2015 12:34:31 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1432814932-12608-1-git-send-email-zhaoshenglong@huawei.com> <1432814932-12608-30-git-send-email-zhaoshenglong@huawei.com> In-Reply-To: <1432814932-12608-30-git-send-email-zhaoshenglong@huawei.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 29/29] hw/s390x/sclpcpu.c: Fix memory leak spotted by valgrind List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Shannon Zhao , qemu-devel@nongnu.org Cc: qemu-trivial@nongnu.org, peter.maydell@linaro.org, mjt@tls.msk.ru, shannon.zhao@linaro.org On 28/05/2015 14:08, Shannon Zhao wrote: > -static qemu_irq *irq_cpu_hotplug; /* Only used in this file */ > +static qemu_irq irq_cpu_hotplug; /* Only used in this file */ > > #define EVENT_QUAL_CPU_CHANGE 1 > > void raise_irq_cpu_hotplug(void) > { > - qemu_irq_raise(*irq_cpu_hotplug); > + qemu_irq_raise(irq_cpu_hotplug); > } > > static unsigned int send_mask(void) > @@ -81,7 +81,10 @@ static void trigger_signal(void *opaque, int n, int level) > > static int irq_cpu_hotplug_init(SCLPEvent *event) > { > - irq_cpu_hotplug = qemu_allocate_irqs(trigger_signal, event, 1); > + qemu_irq irq = qemu_allocate_irq(trigger_signal, event, 0); > + > + irq_cpu_hotplug = irq; > + qemu_free_irq(irq); > return 0; This is wrong, you cannot free the IRQ after you have stored it in irq_cpu_hotplug. Paolo