[Date Prev][Date Next]
Re: (ITS#8064) SIGSEGV in monitor-shutdown code
- To: openldap-its@OpenLDAP.org
- Subject: Re: (ITS#8064) SIGSEGV in monitor-shutdown code
- From: firstname.lastname@example.org
- Date: Wed, 25 Feb 2015 14:47:14 +0000
- Auto-submitted: auto-generated (OpenLDAP-ITS)
> back-monitor was designed before back-config, without considering the
> possibility of database removal during regular operations. There might
> be several flaws of that kind.
Removal is not supported in 2.4. All of that is work-in-progress for 2.5. Patches welcome, but this is not a 2.4 bug.
> My suggestion is that back-monitor is never shut down (it should be
> inhibited) except at slapd shutdown. Meanwhile, the code initialization
> and shutdown could be redesigned to properly handle those cases.
> On 25/02/2015 15:18, email@example.com wrote:
>> Full_Name: Leonid Yuriev
>> Version: 2.4-HEAD
>> OS: RHEL7
>> URL: ftp://ftp.openldap.org/incoming/
>> Submission from: (NULL) (188.8.131.52)
>> Monitor-backend shutdown code could call a callback from registered subsystem
>> after it is already destroyed.
>> For instance, currently ldap-backend frees its own registered context (lmi_mss
>> from ldap_monitor_info_t) before than monitor_back_db_destroy() will be called.
>> Therefore SIGSEGV would be occur on monitor shutdown if any ldap-backend
>> database is configured and such freed context will be overwrited.
>> This bug could be reproduced by a filling-memory-with-non-zero before calling
>> free() from glibc.
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/