Skip Menu |

Subject: git commit

Fix lock inconsistency in ctx_unlock()

The lock inconsistency fixed here is quite possibly the same as
described in .

The problem is that ctx_unlock() fails to unlock the principal DB if
it fails to unlock the policy DB, and this happens when ctx_lock()
fails to lock the policy DB (likely because the caller is racing
against a kdb5_util load, which will be using a "permanent" lock,
meaning that the lock file will be unlinked after acquiring the
lock). The fix is to perform both unlock operations *then* handle
any errors that either or both might have returned.

(cherry picked from commit 29ee39baa919361ae08e26caab896890d5cb3eb4)
Author: Nicolas Williams <>
Committer: Tom Yu <>
Commit: aa21e706c4922c2db9e0e279dbdd7cb7ddb0a094
Branch: krb5-1.10
src/plugins/kdb/db2/kdb_db2.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)