s3: Fix a deadlock between notify_onelevel.tdb and notify.tdb
authorVolker Lendecke <vl@samba.org>
Wed, 22 Sep 2010 12:23:43 +0000 (05:23 -0700)
committerMichael Adam <obnox@samba.org>
Thu, 30 Sep 2010 10:36:13 +0000 (12:36 +0200)
commitb34035ebcbe4724f5530a15761c8f9aed237287e
tree5650ac4846a5aa226836ceb603ea6c3176b7d859
parent298fcbe656e5a8ae4bf7722d49211636a97d505d
s3: Fix a deadlock between notify_onelevel.tdb and notify.tdb

notify_add() locks notify_onlevel.tdb while having notify.tdb locked.
file_free() calls notify_remove_onelevel(), and due to this talloc hierarchy
problem the tdb record is not unlocked again timely. Thus notify.tdb will be
locked while notify_onelevel still has a lock.

Sorry, Ronnie, for causing you some grey hair and thanks for the stacktraces.

Volker
source3/smbd/notify_internal.c