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:30:45 +0000 (12:30 +0200)
commitbf0a27edecdfb366217b2e87cb842e598b3ec413
tree23a04e04c1c700c7fa98f9a9fa871459def1162f
parented96d1e748adbbd451093317d2ca5f359b1bcba4
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