[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] hw/arm/virt: fix cpu object reference leak
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH] hw/arm/virt: fix cpu object reference leak |
Date: |
Thu, 16 Feb 2017 14:18:05 +0000 |
On 16 February 2017 at 13:57, Igor Mammedov <address@hidden> wrote:
> object_new(FOO) returns an object with ref_cnt == 1
> and following
> object_property_set_bool(cpuobj, true, "realized", NULL)
> set parent of cpuobj to '/machine/unattached' which makes
> ref_cnt == 2.
>
> Since machvirt_init() doesn't take ownership of cpuobj
> returned by object_new() it should explicitly drop
> reference to cpuobj when dangling pointer is about to
> go out of scope like it's done pc_new_cpu() to avoid
> object leak.
I've always found the object reference semantics somewhat
confusing (why does realizing a device add a reference,
for instance?). Do we document them anywhere?
thanks
-- PMM