[Freeipa-devel] [PATCH 0078] Use automatic connection management in LDAP modification code to prevent potential deadlock

Petr Spacek pspacek at redhat.com
Mon Mar 25 13:40:56 UTC 2013


On 25.3.2013 11:17, Adam Tkac wrote:
> On Tue, Mar 05, 2013 at 05:24:26PM +0100, Petr Spacek wrote:
>> >On 15.10.2012 13:10, Petr Spacek wrote:
>>> > >On 10/09/2012 03:49 PM, Petr Spacek wrote:
>>>> > >>On 10/09/2012 01:21 PM, Adam Tkac wrote:
>>>>> > >>>On Mon, Oct 08, 2012 at 04:46:54PM +0200, Petr Spacek wrote:
>>>>>> > >>>>Hello,
>>>>>> > >>>>
>>>>>> > >>>>     Use automatic connection management in LDAP modification code to
>>>>>> > >>>>     prevent potential deadlock.
>>>>>> > >>>>
>>>>>> > >>>>     Without this patch the plugin will deadlock when modify_ldap_common()
>>>>>> > >>>>     is called with PTR synchronization enabled and only single
>>>>>> > >>>>     connection is available in the connection pool.
>>>>> > >>>
>>>>> > >>>Nack
>>>>> > >>>
>>>>> > >>>If I read the patch correctly, it leaves unused ldap_conn parameters in
>>>>> > >>>ldap_modify_do() and modify_soa_record() functions.
>>>>> > >>>
>>>>> > >>>Those params are always NULL so they can be safely removed. Please also remove
>>>>> > >>>the "autoconn" variable from ldap_modify_do()
>>>> > >>
>>>> > >>My intent was to keep the same connection management abilities as are in
>>>> > >>ldap_query(): You can avoid repetitive ldap_pool_get/putconnection() calls by
>>>> > >>passing connection via parameter.
>>>> > >>
>>>> > >>I can remove it if it isn't worth. (Actually *_modify_*() functions do not use
>>>> > >>this capability now.)
>>> > >
>>> > >I forgot to send the patch after our discussion on IRC. Attached patch removes
>>> > >unused parameters.
>> >
>> >Patch rebased on top of master branch. No functional changes.
> Ack.

Pushed to master:
7b8ebb8cf459991d20297913b9abb756981201bb

This patch fixes https://fedorahosted.org/bind-dyndb-ldap/ticket/113 in master 
branch, v2 branch needs a bit different approach.

-- 
Petr^2 Spacek




More information about the Freeipa-devel mailing list