[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [RFC PATCH 6/6] pc: Support firmware configuration with
Re: [Qemu-block] [RFC PATCH 6/6] pc: Support firmware configuration with -blockdev
Tue, 5 Mar 2019 18:08:11 +0100
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1
On 03/04/19 18:50, Markus Armbruster wrote:
> Alright, we can call object_get_class(dev_obj)->unparent(dev_obj).
> Final complication: if I call just that, the device's reference counter
> goes down to zero in the middle of device_unparent(), and we use after
> free. So I bracket he call with object_ref() and object_unref().
I don't think that requiring such a bracketing is necessarily a problem.
I vaguely remember reviewing a kernel patch 6 or so years ago where the
patch used the same idea, with those "get" and "put" functions (the bug
the patch was fixing was that the last reference was "temporarily" lost
So perhaps this can be addressed, for the general case, by extending the
documentation of device_unparent(). (The function has no documentation
at all, at the moment.)