[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 10/29] hw/sparc/sun4m.c: Fix memory leak spotted by
From: |
Shannon Zhao |
Subject: |
[Qemu-devel] [PATCH 10/29] hw/sparc/sun4m.c: Fix memory leak spotted by valgrind |
Date: |
Thu, 28 May 2015 20:08:33 +0800 |
From: Shannon Zhao <address@hidden>
valgrind complains about:
==23693== 8 bytes in 1 blocks are definitely lost in loss record 424 of 2,014
==23693== at 0x4C2845D: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23693== by 0x21B93F: malloc_and_trace (vl.c:2556)
==23693== by 0x64C770E: g_malloc (in /usr/lib64/libglib-2.0.so.0.3600.3)
==23693== by 0x2700DF: qemu_extend_irqs (irq.c:55)
==23693== by 0x27016B: qemu_allocate_irqs (irq.c:64)
==23693== by 0x1EC7DE: sun4m_hw_init (sun4m.c:1027)
==23693== by 0x1ECE17: ss5_init (sun4m.c:1374)
==23693== by 0x21FD0A: main (vl.c:4249)
==23693==
==23693== at 0x4C2845D: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23693== by 0x21B93F: malloc_and_trace (vl.c:2556)
==23693== by 0x64C770E: g_malloc (in /usr/lib64/libglib-2.0.so.0.3600.3)
==23693== by 0x2700DF: qemu_extend_irqs (irq.c:55)
==23693== by 0x27016B: qemu_allocate_irqs (irq.c:64)
==23693== by 0x1EC074: cpu_devinit (sun4m.c:882)
==23693== by 0x1EC13A: sun4m_hw_init (sun4m.c:911)
==23693== by 0x1ECE17: ss5_init (sun4m.c:1374)
==23693== by 0x21FD0A: main (vl.c:4249)
==23693==
==23693== 1,920 bytes in 15 blocks are definitely lost in loss record 1,952 of
2,014
==23693== at 0x4C2845D: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23693== by 0x21B93F: malloc_and_trace (vl.c:2556)
==23693== by 0x64C770E: g_malloc (in /usr/lib64/libglib-2.0.so.0.3600.3)
==23693== by 0x2700DF: qemu_extend_irqs (irq.c:55)
==23693== by 0x27016B: qemu_allocate_irqs (irq.c:64)
==23693== by 0x1EC179: sun4m_hw_init (sun4m.c:915)
==23693== by 0x1ECE17: ss5_init (sun4m.c:1374)
==23693== by 0x21FD0A: main (vl.c:4249)
Signed-off-by: Shannon Zhao <address@hidden>
Signed-off-by: Shannon Zhao <address@hidden>
---
hw/sparc/sun4m.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
index a69bf2d..3d5707b 100644
--- a/hw/sparc/sun4m.c
+++ b/hw/sparc/sun4m.c
@@ -897,7 +897,6 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
espdma_irq, ledma_irq;
qemu_irq esp_reset, dma_enable;
qemu_irq fdc_tc;
- qemu_irq *cpu_halt;
unsigned long kernel_size;
DriveInfo *fd[MAX_FD];
FWCfgState *fw_cfg;
@@ -928,6 +927,10 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
hwdef->intctl_base + 0x10000ULL,
cpu_irqs);
+ for (i = 0; i < MAX_CPUS; i++) {
+ g_free(cpu_irqs[i]);
+ }
+
for (i = 0; i < 32; i++) {
slavio_irq[i] = qdev_get_gpio_in(slavio_intctl, i);
}
@@ -1024,9 +1027,8 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
escc_init(hwdef->serial_base, slavio_irq[15], slavio_irq[15],
serial_hds[0], serial_hds[1], ESCC_CLOCK, 1);
- cpu_halt = qemu_allocate_irqs(cpu_halt_signal, NULL, 1);
if (hwdef->apc_base) {
- apc_init(hwdef->apc_base, cpu_halt[0]);
+ apc_init(hwdef->apc_base, qemu_allocate_irq(cpu_halt_signal, NULL, 0));
}
if (hwdef->fd_base) {
@@ -1036,7 +1038,7 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
sun4m_fdctrl_init(slavio_irq[22], hwdef->fd_base, fd,
&fdc_tc);
} else {
- fdc_tc = *qemu_allocate_irqs(dummy_fdc_tc, NULL, 1);
+ fdc_tc = qemu_allocate_irq(dummy_fdc_tc, NULL, 0);
}
slavio_misc_init(hwdef->slavio_base, hwdef->aux1_base, hwdef->aux2_base,
--
2.0.4
- [Qemu-devel] [PATCH 00/29] Fix memory leak relevant to calling qemu_allocate_irqs, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 09/29] hw/sparc/leon3.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 05/29] hw/isa/lpc_ich9.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 10/29] hw/sparc/sun4m.c: Fix memory leak spotted by valgrind,
Shannon Zhao <=
- [Qemu-devel] [PATCH 08/29] hw/intc/exynos4210_gic.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 18/29] hw/m68k/mcf5206.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 17/29] hw/lm32/milkymist.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 16/29] hw/lm32/lm32_boards.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 12/29] hw/ppc/ppc440_bamboo.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 15/29] hw/mips/mips_jazz.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 07/29] hw/timer/arm_timer.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 13/29] hw/ppc/prep.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 19/29] hw/openrisc/pic_cpu.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28
- [Qemu-devel] [PATCH 14/29] hw/mips/mips_int.c: Fix memory leak spotted by valgrind, Shannon Zhao, 2015/05/28