[libvirt] [PATCH] lxc_monitor: Avoid AB / BA lock race

Michal Privoznik mprivozn at redhat.com
Tue Sep 25 15:14:55 UTC 2018


On 09/25/2018 04:31 PM, Mark Asselstine wrote:
> On Tuesday, September 25, 2018 5:20:26 AM EDT Michal Privoznik wrote:
>> On 09/24/2018 05:11 PM, Mark Asselstine wrote:

> 
> Here is my read, again I have to caveat that this code is rather new to me.
> 
> The object poisoning in virObjectUnref() would prevent a double free as the 
> second call would fail VIR_OBJECT_NOTVALID(). However, you are still correct 
> as the mon object would potentially be destroyed and cleaned up before the 
> close callback is run and thus when the the close callback is eventually run 
> it would be operating on an old, no longer valid object.
> 
> So good catch on your part, thanks.

Yep, makes sense. I've ACKed and pushed this.

Congratulations on your first libvirt contribution. Usually it is just a
typo fix but you fixed a deadlock. Impressive.

Michal




More information about the libvir-list mailing list