On Fri, Dec 04, 2015 at 05:18:53PM +0100, Pavel Reichl wrote:
On 12/04/2015 03:37 PM, Jakub Hrozek wrote:
>On Thu, Dec 03, 2015 at 03:29:22PM +0100, Pavel Reichl wrote:
>>
>>On 12/03/2015 02:06 PM, Jakub Hrozek wrote:
>>>On Mon, Nov 30, 2015 at 06:45:00PM +0100, Pavel Reichl wrote:
>>>>
>>>>
>>>>On 11/30/2015 06:02 PM, Jakub Hrozek wrote:
>>>>>>>
>>>>>>>Wouldn't it then be better to see if another same object
is already in
>>>>>>>the hashtable and free it before replacing?
>>>>>>
>>>>>>I agree it would be best. I tried that before and failed because
I could not decipher out the relation of talloc contexts.
>>>>>>
>>>>>>I tried that again. Seems that leaks are gone. Segfaults were not
happening during my testing.
>>>>>
>>>>>>Code got even messier :-(
>>>>>
>>>>>I think the code would look nice if it was placed in the else branch
of
>>>>>create_negcache_netgr() :-)
>>>>
>>>>Done, thanks for hint.
>>>>
>>>>>
>>>>>I also don't think we need the tmp_ctx change..
>>>>
>>>>I dare to disagree here. With prev. versions of patch I was experiencing
>>>>segfaults. IIRC step_context is being allocated on context of the
netgroup
>>>>that is freed. I also think that it's not a good idea to allocate
local data
>>>>on context that does not hold any reference to that data. But it might
be
>>>>matter of personal taste.
>>>
>>>What kind of segfaults, what was the backtrace? I think it might be good to
>>>add talloc_zfree() instead of talloc_free() or explicitly NULL the pointer,
>>>that should solve the issue without adding a new context...
>>>
>>>Since it's per-domain, I wonder if step_ctx->dctx might be better
>>>candidate than step_ctx either way.
>>>
>>
>>Hello Jakub, I amended the patch as you proposed. You can now experience the
segfault yourself - just query a non-existing netgroup.
>>I attached the backtrace as well.
>>
>>I can investiage and use talloc reporting if you wish. But still using tmp_ctx
seems as way of the least effort...
>
>I think you are right, the step_ctx hierarchy is tricky, so the
>temporary context looks like the easiest solution. Please do one more
>change in the patch:
OK, please see attached patch.
>
>> From 0160ee92c4d9a9542abfd3e918686526a52e367d Mon Sep 17 00:00:00 2001
>>From: Pavel Reichl <preichl(a)redhat.com>
>>Date: Fri, 27 Nov 2015 07:53:00 -0500
>>Subject: [PATCH] NSS: Fix memory leak netgroup
>
>[...]
>
>>@@ -461,6 +469,11 @@ static errno_t create_negcache_netgr(struct setent_step_ctx
*step_ctx)
>> }
>>
>> done:
>>+ /* Free netgroup after step_ctx is not needed. */
>>+ if (netgr_to_be_freed) {
>>+ talloc_zfree(netgr_to_be_freed);
>>+ }
>
>Since talloc_free(NULL) is a noop, we should drop the if completely.
OK, done.
While testing the patches I found that sometimes (not always, thought) I
see this valgrind error when a non-existing netgroup is requested:
Mon Dec 7 14:53:15 2015) [sssd[nss]] [accept_fd_handler] (0x0400): Client connected!
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_cmd_get_version] (0x0200): Received client
version [1].
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_cmd_get_version] (0x0200): Offered version
[1].
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_parse_name_for_domains] (0x0200): name
'ngr' matched without domain, user is ngr
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [setnetgrent_send] (0x0100): Requesting info for
netgroup [ngr] from [<ALL>]
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [lookup_netgr_step] (0x0100): Requesting info for
[ngr(a)ipa.test]
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [lookup_netgr_step] (0x0040): No results for
netgroup ngr (domain ipa.test)
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [get_dp_name_and_id] (0x0400): Not a LOCAL view,
continuing with provided values.
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_dp_issue_request] (0x0400): Issuing request
for [0x428c3b:4:ngr@ipa.test]
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_dp_get_account_msg] (0x0400): Creating request
for [ipa.test][0x1004][FAST BE_REQ_NETGROUP][1][name=ngr]
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_dp_internal_get_send] (0x0400): Entering
request [0x428c3b:4:ngr@ipa.test]
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_dp_get_reply] (0x1000): Got reply from Data
Provider - DP error code: 0 errno: 0 error message: Success
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [lookup_netgr_step] (0x0100): Requesting info for
[ngr(a)ipa.test]
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [lookup_netgr_step] (0x0400): Returning info for
netgroup [ngr(a)ipa.test]
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [sss_dp_req_destructor] (0x0400): Deleting request:
[0x428c3b:4:ngr@ipa.test]
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [nss_cmd_getnetgrent] (0x0100): Requesting netgroup
data
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [nss_cmd_getnetgrent] (0x0400): Returning results
for [ngr]
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [nss_cmd_getnetgrent_process] (0x0200): No entries
found
(Mon Dec 7 14:53:15 2015) [sssd[nss]] [client_recv] (0x0200): Client disconnected!
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [accept_fd_handler] (0x0400): Client connected!
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_cmd_get_version] (0x0200): Received client
version [1].
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_cmd_get_version] (0x0200): Offered version
[1].
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_parse_name_for_domains] (0x0200): name
'ngr2' matched without domain, user is ngr2
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [setnetgrent_send] (0x0100): Requesting info for
netgroup [ngr2] from [<ALL>]
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [lookup_netgr_step] (0x0100): Requesting info for
[ngr2(a)ipa.test]
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [lookup_netgr_step] (0x0040): No results for
netgroup ngr2 (domain ipa.test)
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [get_dp_name_and_id] (0x0400): Not a LOCAL view,
continuing with provided values.
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_dp_issue_request] (0x0400): Issuing request
for [0x428c3b:4:ngr2@ipa.test]
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_dp_get_account_msg] (0x0400): Creating request
for [ipa.test][0x1004][FAST BE_REQ_NETGROUP][1][name=ngr2]
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_dp_internal_get_send] (0x0400): Entering
request [0x428c3b:4:ngr2@ipa.test]
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_dp_get_reply] (0x1000): Got reply from Data
Provider - DP error code: 0 errno: 0 error message: Success
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [lookup_netgr_step] (0x0100): Requesting info for
[ngr2(a)ipa.test]
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [lookup_netgr_step] (0x0080): No matching domain
found for [ngr2], fail!
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [netgr_hash_remove] (0x1000): netgroup [ngr2] was
already removed
==6830== Invalid read of size 8
==6830== at 0x42469E: setent_notify (responder_cmd.c:218)
==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94)
==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802)
==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96)
==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in
/usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25)
==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd
==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472)
==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632)
==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802)
==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96)
==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in
/usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== Block was alloc'd at
==6830== at 0x4C28C50: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320)
==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248)
==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129)
==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161)
==6830== by 0x42527A: client_cmd_execute (responder_common.c:249)
==6830== by 0x42547C: client_recv (responder_common.c:283)
==6830== by 0x4256B9: client_fd_handler (responder_common.c:335)
==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25)
==6830== Invalid read of size 8
==6830== at 0x42442B: setent_remove_ref (responder_cmd.c:188)
==6830== by 0x89E8492: ??? (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x89E210A: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x87D532F: tevent_req_received (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D5368: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x89E2707: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x418CE9: nss_cmd_setnetgrent_done (nsssrv_netgroup.c:722)
==6830== by 0x87D51C1: _tevent_req_error (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x42462E: setent_notify (responder_cmd.c:225)
==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94)
==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd
==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472)
==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632)
==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802)
==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96)
==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in
/usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== Block was alloc'd at
==6830== at 0x4C28C50: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320)
==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248)
==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129)
==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161)
==6830== by 0x42527A: client_cmd_execute (responder_common.c:249)
==6830== by 0x42547C: client_recv (responder_common.c:283)
==6830== by 0x4256B9: client_fd_handler (responder_common.c:335)
==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25)
==6830== Invalid write of size 8
==6830== at 0x424444: setent_remove_ref (responder_cmd.c:188)
==6830== by 0x89E8492: ??? (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x89E210A: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x87D532F: tevent_req_received (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D5368: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x89E2707: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x418CE9: nss_cmd_setnetgrent_done (nsssrv_netgroup.c:722)
==6830== by 0x87D51C1: _tevent_req_error (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x42462E: setent_notify (responder_cmd.c:225)
==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94)
==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd
==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472)
==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632)
==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802)
==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96)
==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in
/usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== Block was alloc'd at
==6830== at 0x4C28C50: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320)
==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248)
==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129)
==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161)
==6830== by 0x42527A: client_cmd_execute (responder_common.c:249)
==6830== by 0x42547C: client_recv (responder_common.c:283)
==6830== by 0x4256B9: client_fd_handler (responder_common.c:335)
==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25)
==6830==
==6830== Invalid read of size 8
==6830== at 0x42444F: setent_remove_ref (responder_cmd.c:188)
==6830== by 0x89E8492: ??? (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x89E210A: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x87D532F: tevent_req_received (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D5368: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x89E2707: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x418CE9: nss_cmd_setnetgrent_done (nsssrv_netgroup.c:722)
==6830== by 0x87D51C1: _tevent_req_error (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x42462E: setent_notify (responder_cmd.c:225)
==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94)
==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd
==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472)
==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632)
==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802)
==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96)
==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in
/usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== Block was alloc'd at
==6830== at 0x4C28C50: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320)
==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248)
==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129)
==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161)
==6830== by 0x42527A: client_cmd_execute (responder_common.c:249)
==6830== by 0x42547C: client_recv (responder_common.c:283)
==6830== by 0x4256B9: client_fd_handler (responder_common.c:335)
==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25)
==6830==
==6830== Invalid read of size 8
==6830== at 0x4244B1: setent_remove_ref (responder_cmd.c:188)
==6830== by 0x89E8492: ??? (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x89E210A: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x87D532F: tevent_req_received (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D5368: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x89E2707: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x418CE9: nss_cmd_setnetgrent_done (nsssrv_netgroup.c:722)
==6830== by 0x87D51C1: _tevent_req_error (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x42462E: setent_notify (responder_cmd.c:225)
==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94)
==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd
==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472)
==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632)
==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802)
==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96)
==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in
/usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== Block was alloc'd at
==6830== at 0x4C28C50: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320)
==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248)
==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129)
==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161)
==6830== by 0x42527A: client_cmd_execute (responder_common.c:249)
==6830== by 0x42547C: client_recv (responder_common.c:283)
==6830== by 0x4256B9: client_fd_handler (responder_common.c:335)
==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25)
==6830== Invalid read of size 8
==6830== at 0x424633: setent_notify (responder_cmd.c:228)
==6830== by 0x406ED2: nss_setent_notify_error (nsssrv_cmd.c:94)
==6830== by 0x418C0D: lookup_netgr_dp_callback (nsssrv_netgroup.c:681)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802)
==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96)
==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in
/usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25)
==6830== Address 0xbcd03e0 is 112 bytes inside a block of size 160 free'd
==6830== at 0x4C29D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E2262: _talloc_free (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x4182C9: create_negcache_netgr (nsssrv_netgroup.c:472)
==6830== by 0x418A08: lookup_netgr_step (nsssrv_netgroup.c:632)
==6830== by 0x418BD7: lookup_netgr_dp_callback (nsssrv_netgroup.c:672)
==6830== by 0x4094D7: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:885)
==6830== by 0x42969D: sss_dp_internal_get_done (responder_dp.c:802)
==6830== by 0x570C9E1: ??? (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5710400: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.14.6)
==6830== by 0x5080E59: sbus_dispatch (sssd_dbus_connection.c:96)
==6830== by 0x87D81DC: tevent_common_loop_timer_delay (in
/usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D9209: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== Block was alloc'd at
==6830== at 0x4C28C50: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6830== by 0x89E4965: _talloc_zero (in /usr/lib64/libtalloc.so.2.1.3)
==6830== by 0x417D3C: setnetgrent_retry (nsssrv_netgroup.c:320)
==6830== by 0x417B42: setnetgrent_send (nsssrv_netgroup.c:248)
==6830== by 0x41764D: nss_cmd_setnetgrent (nsssrv_netgroup.c:129)
==6830== by 0x4243C9: sss_cmd_execute (responder_cmd.c:161)
==6830== by 0x42527A: client_cmd_execute (responder_common.c:249)
==6830== by 0x42547C: client_recv (responder_common.c:283)
==6830== by 0x4256B9: client_fd_handler (responder_common.c:335)
==6830== by 0x87D93C2: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D7906: ??? (in /usr/lib64/libtevent.so.0.9.25)
==6830== by 0x87D411C: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.25)
==6830==
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [sss_dp_req_destructor] (0x0400): Deleting request:
[0x428c3b:4:ng
(Mon Dec 7 14:53:20 2015) [sssd[nss]] [client_recv] (0x0200): Client disconnected!