On 14:55 Thu 21 Aug     , Peter Maydell wrote:
> On Wed, 20 Aug 2025 at 08:19, Luc Michel <luc.mic...@amd.com> wrote:
> > > It would be helpful if you could run "make check" under
> > > the clang leak sanitizer with your patches added, to see
> > > if it complains about anything. (Unfortunately it will
> > > definitely complain about at least some pre-existing
> > > leaks, I suspect.)
> > Yes I did that before sending my series and fixed all my leaks. As you
> > say there are some existing ones, mainly in the register API (IIRC it
> > does create an object that is not correctly parented).
> 
> Yeah, register_init_block() seems to be broken in two ways:
>  (1) it calls object_initialize() rather than
>      object_initialize_child(), so the objects won't
>      be automatically unreffed; but it doesn't manually
>      unref them in register_finalize_block() either
>  (2) the TYPE_REGISTER objects are a subclass of TYPE_DEVICE,
>      but the code never calls realize on them. This means that
>      if you fix point (1) then you trip the assert in
>      qdev_assert_realized_properly_cb() which checks that
>      every TYPE_DEVICE in the QOM tree was realized...
> 

I'm willing to address this in a follow-up series.

Luc

Reply via email to