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 <prei...@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 [n...@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:n...@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:n...@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 [n...@ipa.test]
(Mon Dec  7 14:53:15 2015) [sssd[nss]] [lookup_netgr_step] (0x0400): Returning 
info for netgroup [n...@ipa.test]
(Mon Dec  7 14:53:15 2015) [sssd[nss]] [sss_dp_req_destructor] (0x0400): 
Deleting request: [0x428c3b:4:n...@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 [n...@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:n...@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:n...@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 [n...@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!
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org

Reply via email to