In 1.11 we switched from non-blocking to blocking locks in the DB2
module, but we missed one call to krb5_lock_file() in ctx_create_db().
This non-blocking lock can cause krb5_db_promote() to fail if the
database is locked when we try to promote the DB, in turn causing
kdb5_util load to fail. Correct this call to make krb5_db_promote()
more robust.
(cherry picked from commit
1868916dbb60a64b92da217257b4ed021262afd3)
ticket: 8367
version_fixed: 1.13.4
tags: -pullup
status: resolved
retval = errno;
goto cleanup;
}
- retval = krb5_lock_file(context, dbc->db_lf_file,
- KRB5_LOCKMODE_EXCLUSIVE | KRB5_LOCKMODE_DONTBLOCK);
+ retval = krb5_lock_file(context, dbc->db_lf_file, KRB5_LOCKMODE_EXCLUSIVE);
if (retval != 0)
goto cleanup;
set_cloexec_fd(dbc->db_lf_file);