You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/hw/misc
Peter Maydell 4dec497264 hw/misc/xlnx-versal-cframe-reg: Free FIFO, g_tree on deinit
In the xlnx-versal-cframe-reg device we create a FIFO in
instance_init but don't destroy it on deinit, causing ASAN
to report a leak in the device-introspect-test:

Direct leak of 400 byte(s) in 1 object(s) allocated from:
    #0 0x5aded4d54e23 in malloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/qemu-system-aarch64+0x24ffe23) (BuildId: 9f1e6c53fecd904ba5fc1f521d7da080a0e4103b)
    #1 0x71fbfac9bb09 in g_malloc (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x62b09) (BuildId: 1eb6131419edb83b2178b682829a6913cf682d75)
    #2 0x5aded850059d in fifo8_create /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../util/fifo8.c:27:18
    #3 0x5aded582b9e4 in fifo32_create /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/include/qemu/fifo32.h:35:5
    #4 0x5aded582b326 in cframe_reg_init /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../hw/misc/xlnx-versal-cframe-reg.c:693:5

Similarly, we don't clean up the g_tree we create:
Direct leak of 48 byte(s) in 1 object(s) allocated from:
    #0 0x5aded4d54e23 in malloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/qemu-system-aarch64+0x24ffe23) (BuildId: 9f1e6c5
3fecd904ba5fc1f521d7da080a0e4103b)
    #1 0x71fbfac9bb09 in g_malloc (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x62b09) (BuildId: 1eb6131419edb83b2178b682829a6913cf682d75)
    #2 0x71fbfaccc799 in g_tree_new_full (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x93799) (BuildId: 1eb6131419edb83b2178b682829a6913cf682d7
5)
    #3 0x5aded582b21a in cframe_reg_init /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../hw/misc/xlnx-versal-cframe-reg.c:691:18

Add an instance_finalize method to clean up what we
allocated in instance_init.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com>
Message-ID: <20250826174956.3010274-2-peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
6 days ago
..
macio qom: Make InterfaceInfo[] uses const 5 months ago
Kconfig hw/mips: Restrict ITU to TCG 2 months ago
a9scu.c qom: Have class_init() take a const data argument 5 months ago
allwinner-a10-ccm.c qom: Have class_init() take a const data argument 5 months ago
allwinner-a10-dramc.c qom: Have class_init() take a const data argument 5 months ago
allwinner-cpucfg.c qom: Have class_init() take a const data argument 5 months ago
allwinner-h3-ccu.c qom: Have class_init() take a const data argument 5 months ago
allwinner-h3-dramc.c qom: Have class_init() take a const data argument 5 months ago
allwinner-h3-sysctrl.c qom: Have class_init() take a const data argument 5 months ago
allwinner-r40-ccu.c qom: Have class_init() take a const data argument 5 months ago
allwinner-r40-dramc.c qom: Have class_init() take a const data argument 5 months ago
allwinner-sid.c qom: Have class_init() take a const data argument 5 months ago
allwinner-sramc.c qom: Have class_init() take a const data argument 5 months ago
applesmc.c qom: Make InterfaceInfo[] uses const 5 months ago
arm11scu.c qom: Have class_init() take a const data argument 5 months ago
arm_integrator_debug.c arm: Update infocenter.arm.com URLs 5 years ago
arm_l2x0.c qom: Have class_init() take a const data argument 5 months ago
arm_sysctl.c qom: Have class_init() take a const data argument 5 months ago
armsse-cpu-pwrctrl.c qom: Have class_init() take a const data argument 5 months ago
armsse-cpuid.c qom: Have class_init() take a const data argument 5 months ago
armsse-mhu.c qom: Have class_init() take a const data argument 5 months ago
armv7m_ras.c qom: Have class_init() take a const data argument 5 months ago
aspeed_hace.c hw/misc/aspeed_hace: skip automatic zero-init of large array 3 months ago
aspeed_i3c.c qom: Have class_init() take a const data argument 5 months ago
aspeed_lpc.c qom: Have class_init() take a const data argument 5 months ago
aspeed_peci.c qom: Have class_init() take a const data argument 5 months ago
aspeed_sbc.c qom: Have class_init() take a const data argument 5 months ago
aspeed_scu.c hw/misc/aspeed_scu: Handle AST2600 protection key registers correctly 2 months ago
aspeed_sdmc.c hw/misc/aspeed_sdmc: Skipping dram_init in u-boot for AST2700 2 months ago
aspeed_sli.c qom: Have class_init() take a const data argument 5 months ago
aspeed_xdma.c qom: Have class_init() take a const data argument 5 months ago
auxbus.c qom: Have class_init() take a const data argument 5 months ago
avr_power.c qom: Have class_init() take a const data argument 5 months ago
axp2xx.c qom: Have class_init() take a const data argument 5 months ago
bcm2835_cprman.c qom: Have class_init() take a const data argument 5 months ago
bcm2835_mbox.c qom: Have class_init() take a const data argument 5 months ago
bcm2835_mphi.c qom: Have class_init() take a const data argument 5 months ago
bcm2835_powermgt.c qom: Have class_init() take a const data argument 5 months ago
bcm2835_property.c qom: Have class_init() take a const data argument 5 months ago
bcm2835_rng.c qom: Have class_init() take a const data argument 5 months ago
bcm2835_thermal.c qom: Have class_init() take a const data argument 5 months ago
debugexit.c qom: Have class_init() take a const data argument 5 months ago
djmemc.c qom: Have class_init() take a const data argument 5 months ago
eccmemctl.c qom: Have class_init() take a const data argument 5 months ago
edu.c qom: Make InterfaceInfo[] uses const 5 months ago
empty_slot.c qom: Have class_init() take a const data argument 5 months ago
exynos4210_clk.c qom: Have class_init() take a const data argument 5 months ago
exynos4210_pmu.c qom: Have class_init() take a const data argument 5 months ago
exynos4210_rng.c qom: Have class_init() take a const data argument 5 months ago
grlib_ahb_apb_pnp.c qom: Have class_init() take a const data argument 5 months ago
i2c-echo.c qom: Have class_init() take a const data argument 5 months ago
imx6_ccm.c qom: Have class_init() take a const data argument 5 months ago
imx6_src.c qom: Have class_init() take a const data argument 5 months ago
imx6ul_ccm.c qom: Have class_init() take a const data argument 5 months ago
imx7_ccm.c qom: Have class_init() take a const data argument 5 months ago
imx7_gpr.c qom: Have class_init() take a const data argument 5 months ago
imx7_snvs.c qom: Have class_init() take a const data argument 5 months ago
imx7_src.c qom: Have class_init() take a const data argument 5 months ago
imx8mp_analog.c qom: Have class_init() take a const data argument 5 months ago
imx8mp_ccm.c qom: Have class_init() take a const data argument 5 months ago
imx25_ccm.c qom: Have class_init() take a const data argument 5 months ago
imx31_ccm.c qom: Have class_init() take a const data argument 5 months ago
imx_ccm.c hw: Do not include qemu/log.h if it is not necessary 4 years ago
imx_rngc.c qom: Have class_init() take a const data argument 5 months ago
iosb.c qom: Have class_init() take a const data argument 5 months ago
iotkit-secctl.c qom: Have class_init() take a const data argument 5 months ago
iotkit-sysctl.c qom: Have class_init() take a const data argument 5 months ago
iotkit-sysinfo.c qom: Have class_init() take a const data argument 5 months ago
ivshmem-flat.c treewide: update docs file extensions (.txt -> .rst) in comments 2 months ago
ivshmem-pci.c hw/misc/ivshmem-pci: Improve error handling 2 months ago
lasi.c qom: Have class_init() take a const data argument 5 months ago
led.c qom: Have class_init() take a const data argument 5 months ago
mac_via.c qom: Have class_init() take a const data argument 5 months ago
max78000_aes.c hw/misc/max78000_aes: Comment Internal Key Storage 2 months ago
max78000_gcr.c MAX78000: AES implementation 2 months ago
max78000_icc.c MAX78000: ICC Implementation 2 months ago
max78000_trng.c MAX78000: TRNG Implementation 2 months ago
mchp_pfsoc_dmc.c qom: Have class_init() take a const data argument 5 months ago
mchp_pfsoc_ioscb.c qom: Have class_init() take a const data argument 5 months ago
mchp_pfsoc_sysreg.c hw/misc: Add MPFS system reset support 4 months ago
meson.build MAX78000: AES implementation 2 months ago
mips_cmgcr.c qom: Have class_init() take a const data argument 5 months ago
mips_cpc.c qom: Have class_init() take a const data argument 5 months ago
mips_itu.c qom: Have class_init() take a const data argument 5 months ago
mos6522.c qom: Have class_init() take a const data argument 5 months ago
mps2-fpgaio.c qom: Have class_init() take a const data argument 5 months ago
mps2-scc.c qom: Have class_init() take a const data argument 5 months ago
msf2-sysreg.c qom: Have class_init() take a const data argument 5 months ago
npcm7xx_mft.c qom: Have class_init() take a const data argument 5 months ago
npcm7xx_pwm.c qom: Have class_init() take a const data argument 5 months ago
npcm7xx_rng.c qom: Have class_init() take a const data argument 5 months ago
npcm_clk.c qom: Have class_init() take a const data argument 5 months ago
npcm_gcr.c qom: Have class_init() take a const data argument 5 months ago
nrf51_rng.c qom: Have class_init() take a const data argument 5 months ago
omap_clk.c hw/arm: Replace TABs for spaces in OMAP board and device code 4 months ago
pc-testdev.c qom: Have class_init() take a const data argument 5 months ago
pci-testdev.c pci-testdev.c: Add membar-backed option for backing membar 4 months ago
pvpanic-isa.c qom: Make InterfaceInfo[] uses const 5 months ago
pvpanic-mmio.c qom: Have class_init() take a const data argument 5 months ago
pvpanic-pci.c qom: Make InterfaceInfo[] uses const 5 months ago
pvpanic.c include: Rename sysemu/ -> system/ 9 months ago
sbsa_ec.c qom: Have class_init() take a const data argument 5 months ago
sifive_e_aon.c qom: Have class_init() take a const data argument 5 months ago
sifive_e_prci.c hw: Remove superfluous includes of hw/hw.h 4 years ago
sifive_test.c include: Rename sysemu/ -> system/ 9 months ago
sifive_u_otp.c qom: Have class_init() take a const data argument 5 months ago
sifive_u_prci.c qom: Have class_init() take a const data argument 5 months ago
slavio_misc.c qom: Have class_init() take a const data argument 5 months ago
stm32_rcc.c hw/misc/stm32_rcc: Fix stm32_rcc_write() arguments order 3 months ago
stm32f2xx_syscfg.c qom: Have class_init() take a const data argument 5 months ago
stm32f4xx_exti.c qom: Have class_init() take a const data argument 5 months ago
stm32f4xx_syscfg.c qom: Have class_init() take a const data argument 5 months ago
stm32l4x5_exti.c qom: Have class_init() take a const data argument 5 months ago
stm32l4x5_rcc.c qom: Have class_init() take a const data argument 5 months ago
stm32l4x5_syscfg.c qom: Have class_init() take a const data argument 5 months ago
trace-events hw/misc/aspeed_hace: Support to dump plaintext and digest for better debugging 4 months ago
trace.h trace: switch position of headers to what Meson requires 5 years ago
tz-mpc.c qom: Have class_init() take a const data argument 5 months ago
tz-msc.c qom: Have class_init() take a const data argument 5 months ago
tz-ppc.c qom: Have class_init() take a const data argument 5 months ago
unimp.c qom: Have class_init() take a const data argument 5 months ago
virt_ctrl.c qom: Have class_init() take a const data argument 5 months ago
vmcoreinfo.c qom: Have class_init() take a const data argument 5 months ago
xlnx-cfi-if.c hw/misc: Introduce the Xilinx CFI interface 2 years ago
xlnx-versal-cframe-reg.c hw/misc/xlnx-versal-cframe-reg: Free FIFO, g_tree on deinit 6 days ago
xlnx-versal-cfu.c qom: Make InterfaceInfo[] uses const 5 months ago
xlnx-versal-crl.c qom: Have class_init() take a const data argument 5 months ago
xlnx-versal-pmc-iou-slcr.c qom: Have class_init() take a const data argument 5 months ago
xlnx-versal-trng.c qom: Have class_init() take a const data argument 5 months ago
xlnx-versal-xramc.c qom: Have class_init() take a const data argument 5 months ago
xlnx-zynqmp-apu-ctrl.c qom: Have class_init() take a const data argument 5 months ago
xlnx-zynqmp-crf.c qom: Have class_init() take a const data argument 5 months ago
zynq_slcr.c qom: Have class_init() take a const data argument 5 months ago