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...

-- PMM

Reply via email to