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