qemu/hw/arm
Peter Maydell b6fdef9c99 hw/arm/stm32f205_soc: Don't leak TYPE_OR_IRQ objects
In stm32f250_soc_initfn() we mostly use the standard pattern
for child objects of calling object_initialize_child(). However
for s->adc_irqs we call object_new() and then later qdev_realize(),
and we never unref the object on deinit. This causes a leak,
detected by ASAN on the device-introspect-test:

Indirect leak of 10 byte(s) in 1 object(s) allocated from:
    #0 0x5b9fc4789de3 in malloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/qemu-system-arm+0x21f1de3) (BuildId: 267a2619a026ed91c78a07b1eb2ef15381538efe)
    #1 0x740de3f28b09 in g_malloc (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x62b09) (BuildId: 1eb6131419edb83b2178b682829a6913cf682d75)
    #2 0x740de3f3e4d8 in g_strdup (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x784d8) (BuildId: 1eb6131419edb83b2178b682829a6913cf682d75)
    #3 0x5b9fc70159e1 in g_strdup_inline /usr/include/glib-2.0/glib/gstrfuncs.h:321:10
    #4 0x5b9fc70159e1 in object_property_try_add /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:1276:18
    #5 0x5b9fc7015f94 in object_property_add /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:1294:12
    #6 0x5b9fc701b900 in object_add_link_prop /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:2021:10
    #7 0x5b9fc701b3fc in object_property_add_link /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:2037:12
    #8 0x5b9fc4c299fb in qdev_init_gpio_out_named /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../hw/core/gpio.c:90:9
    #9 0x5b9fc4c29b26 in qdev_init_gpio_out /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../hw/core/gpio.c:101:5
    #10 0x5b9fc4c0f77a in or_irq_init /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../hw/core/or-irq.c:70:5
    #11 0x5b9fc70257e1 in object_init_with_type /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:428:9
    #12 0x5b9fc700cd4b in object_initialize_with_type /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:570:5
    #13 0x5b9fc700e66d in object_new_with_type /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:774:5
    #14 0x5b9fc700e750 in object_new /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:789:12
    #15 0x5b9fc68b2162 in stm32f205_soc_initfn /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../hw/arm/stm32f205_soc.c:69:26

Switch to using object_initialize_child() like all our
other child objects for this SoC object.

Cc: qemu-stable@nongnu.org
Fixes: b63041c8f6 ("STM32F205: Connect the ADC devices")
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20250821154229.2417453-1-peter.maydell@linaro.org
(cherry picked from commit 2e27650bdd)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2025-08-31 08:08:33 +03:00
..
allwinner-a10.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-h3.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-r40.c qemu: Declare all load/store helper in 'qemu/bswap.h' 2025-07-15 02:56:39 -04:00
armsse.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
armv7m.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_ast10x0.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_ast27x0-fc.c hw/arm/aspeed_ast27x0-fc: Map ca35 memory into system memory 2025-05-25 23:39:11 +02:00
aspeed_ast27x0-ssp.c hw/arm/aspeed_ast27x0-ssp: Introduce AST27x0 A1 SSP SoC 2025-05-05 09:38:55 +02:00
aspeed_ast27x0-tsp.c hw/arm/aspeed_ast27x0-tsp: Introduce AST27x0 A1 TSP SoC 2025-05-05 09:38:55 +02:00
aspeed_ast27x0.c hw/arm/aspeed_ast27x0: Fix unimplemented region overlap with vbootrom 2025-05-25 23:39:11 +02:00
aspeed_ast2400.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_ast2600.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_eeprom.c hw/arm/aspeed: Add GB200 BMC target 2025-07-03 17:36:45 +02:00
aspeed_eeprom.h hw/arm/aspeed: Add GB200 BMC target 2025-07-03 17:36:45 +02:00
aspeed_soc_common.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed.c hw/arm/aspeed: Add GB200 BMC target 2025-07-03 17:36:45 +02:00
b-l475e-iot01a.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bananapi_m2u.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
bcm2835_peripherals.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2836.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2838_peripherals.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2838.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
boot.c qemu: Declare all load/store helper in 'qemu/bswap.h' 2025-07-15 02:56:39 -04:00
collie.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cubieboard.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
digic_boards.c hw/arm/digic_boards: prepare compilation unit to be common 2025-04-23 15:07:32 -07:00
digic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4_boards.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4210.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fby35.c hw/arm/fby35: Map BMC memory into system memory 2025-05-25 23:39:11 +02:00
fsl-imx6.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx6ul.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx7.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx8mp.c hw/arm/fsl-imx8mp: Wire VIRQ and VFIQ 2025-07-10 09:24:51 +01:00
fsl-imx25.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx31.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
highbank.c hw/arm/highbank: Mark the "highbank" and the "midway" machine as deprecated 2025-07-04 13:39:30 +01:00
imx8mp-evk.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
imx25_pdk.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
integratorcp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
Kconfig hw/arm/virt-acpi-build: Let non hotplug ports support static acpi-index 2025-07-15 02:56:40 -04:00
kzm.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
max78000_soc.c MAX78000: Add AES to SOC 2025-07-08 17:31:59 +01:00
max78000fthr.c MAX78000: Add MAX78000FTHR Machine 2025-07-08 17:31:38 +01:00
mcimx6ul-evk.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
mcimx7d-sabre.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
meson.build MAX78000: Add MAX78000FTHR Machine 2025-07-08 17:31:38 +01:00
microbit.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mps2-tz.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
mps2.c hw/arm/mps2: Configure the AN500 CPU with 16 MPU regions 2025-06-16 11:26:25 +01:00
mps3r.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
msf2-soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
msf2-som.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
musca.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
musicpal.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
netduino2.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
netduinoplus2.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
npcm7xx_boards.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm7xx.c qemu: Declare all load/store helper in 'qemu/bswap.h' 2025-07-15 02:56:39 -04:00
npcm8xx_boards.c hw/arm/npcm8xx_boards: Correct valid_cpu_types setting of NPCM8XX SoC 2025-05-06 15:01:22 +01:00
npcm8xx.c hw/arm: Add missing psci_conduit to NPCM8XX SoC boot info 2025-05-29 17:45:10 +01:00
nrf51_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
olimex-stm32-h405.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
omap1.c hw/arm: Replace TABs for spaces in OMAP board and device code 2025-05-14 14:29:47 +01:00
omap_sx1.c hw/arm: Replace TABs for spaces in OMAP board and device code 2025-05-14 14:29:47 +01:00
orangepi.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
raspi4b.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
raspi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
realview.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
sabrelite.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
sbsa-ref.c hw/arm/sbsa-ref: Tidy up use of RAMLIMIT_GB definition 2025-07-01 15:08:35 +01:00
smmu-common.c hw/arm/smmu-common: Avoid using inlined functions with external linkage 2025-07-25 10:35:18 +01:00
smmu-internal.h hw/arm/smmu: Introduce smmu_configs_inv_sid_range() helper 2025-03-07 10:59:25 +00:00
smmuv3-internal.h hw/arm/smmuv3: Assert input to oas2bits() is valid 2024-07-29 13:34:18 +01:00
smmuv3.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stellaris.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32f100_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32f205_soc.c hw/arm/stm32f205_soc: Don't leak TYPE_OR_IRQ objects 2025-08-31 08:08:33 +03:00
stm32f405_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32l4x5_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32vldiscovery.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
strongarm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
strongarm.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
trace-events hw/arm/smmu: Introduce smmu_configs_inv_sid_range() helper 2025-03-07 10:59:25 +00:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
versatilepb.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vexpress.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virt-acpi-build.c hw/arm/virt-acpi-build: Modify the DSDT ACPI table to enable ACPI PCI hotplug 2025-07-15 02:56:40 -04:00
virt.c hw/arm/virt: Let virt support pci hotplug/unplug GED event 2025-07-15 02:56:40 -04:00
xen-pvh.c hw/arm/xen-pvh: Remove unnecessary 'hw/xen/arch_hvm.h' header 2025-07-15 19:12:18 +02:00
xen-stubs.c cleanup: Drop pointless return at end of function 2025-04-24 09:33:42 +02:00
xilinx_zynq.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-versal-virt.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-versal.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-zcu102.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-zynqmp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00