qemu-e2k/hw/ppc
Greg Kurz 27607c1cdc spapr_cpu_core: fix potential leak in spapr_cpu_core_realize()
Commit 94ad93bd97 (QEMU 2.12) switched to instantiate CPUs separately
but it missed to adapt the error path accordingly. If something fails in
the CPU creation loop, then the CPU object that was just created is leaked.

The error paths in this function are a bit obfuscated, and adding
yet another label to free this CPU object makes it worse. We should
move the block of the loop to a separate function, with a proper
rollback path, but this is a bigger cleanup.

For now, let's just fix the bug by adding the missing calls to
object_unref(). This will allow easier backport to older QEMU
versions.

Signed-off-by: Greg Kurz <groug@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-06-16 16:32:33 +10:00
..
e500-ccsr.h
e500.c
e500.h
e500plat.c
fdt.c
mac_newworld.c mac_newworld: add PMU device 2018-06-16 16:32:33 +10:00
mac_oldworld.c
mac.h mac_newworld: add PMU device 2018-06-16 16:32:33 +10:00
Makefile.objs
mpc8544_guts.c
mpc8544ds.c
pnv_bmc.c
pnv_core.c pnv: Add cpu unrealize path 2018-06-16 16:32:33 +10:00
pnv_lpc.c ppc/pnv: fix LPC HC firmware address space 2018-06-12 10:44:36 +10:00
pnv_occ.c
pnv_psi.c
pnv_xscom.c
pnv.c pnv_core: Allocate cpu thread objects individually 2018-06-16 16:32:33 +10:00
ppc4xx_devs.c
ppc4xx_pci.c
ppc405_boards.c
ppc405_uc.c
ppc405.h
ppc440_bamboo.c
ppc440_pcix.c ppc440_pcix: Fix a typo in setting a register (Coverity CID1390577) 2018-06-12 09:33:52 +10:00
ppc440_uc.c
ppc440.h
ppc_booke.c
ppc.c
ppce500_spin.c
prep_systemio.c
prep.c prep: fix keyboard for the 40p machine 2018-06-12 09:33:52 +10:00
rs6000_mc.c
sam460ex.c acpi, vhost, misc: fixes, features 2018-06-04 10:15:16 +01:00
spapr_caps.c ppc/spapr_caps: Don't disable cap_cfpc on POWER8 by default 2018-06-16 16:32:33 +10:00
spapr_cpu_core.c spapr_cpu_core: fix potential leak in spapr_cpu_core_realize() 2018-06-16 16:32:33 +10:00
spapr_drc.c hw/ppc/spapr_drc: Replace error_setg(&error_abort) by error_report() + abort() 2018-06-12 09:33:52 +10:00
spapr_events.c
spapr_hcall.c spapr: fix leak in h_client_architecture_support() 2018-06-16 16:32:33 +10:00
spapr_iommu.c iommu: Add IOMMU index argument to translate method 2018-06-15 15:23:34 +01:00
spapr_ovec.c Purge uses of banned g_assert_FOO() 2018-06-13 13:47:35 +02:00
spapr_pci_vfio.c
spapr_pci.c spapr_pci: Remove unhelpful pagesize warning 2018-06-12 10:44:36 +10:00
spapr_rng.c
spapr_rtas_ddw.c
spapr_rtas.c
spapr_rtc.c
spapr_vio.c spapr/vio: deprecate the "irq" property 2018-06-12 10:44:35 +10:00
spapr.c spapr: handle cpu core unplug via hotplug handler chain 2018-06-12 10:44:36 +10:00
trace-events
virtex_ml507.c