[PATCH v2] malloc: Fix list_lock/arena lock deadlock [BZ #19182]

Carlos O'Donell carlos@redhat.com
Tue Dec 22 20:16:00 GMT 2015


On 12/22/2015 02:32 PM, Florian Weimer wrote:
> On 12/21/2015 10:54 PM, Carlos O'Donell wrote:
> 
>>> +   list_lock also prevents concurrent forks.  When list_lock is
>>> +   acquired, no arena lock must be acquired, but it is permitted to
>>> +   acquire arena locks after list_lock.  */
>>
>> This last sentence seems ambiguous to me. I assume you mean to say that
>> at the point at which list_lock is acquired there are no other arena
>> locks held, but that after list_lock is acquired, other arena locks may
>> be acquired afterwards?
> 
> That was my intent.  Is this clearer?
> 
>   list_lock also prevents concurrent forks.  At the time list_lock is
>   acquired, no arena lock must have been acquired, but it is permitted
>   to acquire arena locks subsequently, while list_lock is acquired.
> 
> I'm following Torvald's earlier guidance not to speak of “held” locks.

Looks good to me.

Cheers,
Carlos.



More information about the Libc-alpha mailing list