From: Igor Mammedov <imamm...@redhat.com> SOC object returned by object_new() is leaked in current code. Set SOC parent explicitly to board and then unref to SOC object to make sure that refererence returned by object_new() is taken care of.
The SOC object will be kept alive by its parent (machine) and will be automatically freed when MachineState is destroyed. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reported-by: Andrew Jones <drjo...@redhat.com> Tested-by: Niek Linnenbank <nieklinnenb...@gmail.com> Message-id: 20200303091254.22373-1-imamm...@redhat.com Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> --- hw/arm/cubieboard.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 871b1beef4c..d791817646b 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -54,6 +54,9 @@ static void cubieboard_init(MachineState *machine) } a10 = AW_A10(object_new(TYPE_AW_A10)); + object_property_add_child(OBJECT(machine), "soc", OBJECT(a10), + &error_abort); + object_unref(OBJECT(a10)); object_property_set_int(OBJECT(&a10->emac), 1, "phy-addr", &err); if (err != NULL) { -- 2.20.1