From: Jeffrey Altman Date: Fri, 23 Jun 2006 04:32:48 +0000 (+0000) Subject: windows-cm_syncop-buflocked-20060622 X-Git-Tag: BP-openafs-windows-kdfs-ifs~1256 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=ae9a07a8e0a5d0e83e138ef9bbd71b3e7e0072ea;p=packages%2Fo%2Fopenafs.git windows-cm_syncop-buflocked-20060622 If cm_SyncOp is called with the buffer locked, it must be returned locked even on error. --- diff --git a/src/WINNT/afsd/cm_scache.c b/src/WINNT/afsd/cm_scache.c index cb28ef781..309f972e2 100644 --- a/src/WINNT/afsd/cm_scache.c +++ b/src/WINNT/afsd/cm_scache.c @@ -940,13 +940,13 @@ long cm_SyncOp(cm_scache_t *scp, cm_buf_t *bufp, cm_user_t *userp, cm_req_t *req /* we don't know the required access rights */ if (bufLocked) lock_ReleaseMutex(&bufp->mx); code = cm_GetAccessRights(scp, userp, reqp); - if (code) - return code; if (bufLocked) { lock_ReleaseMutex(&scp->mx); lock_ObtainMutex(&bufp->mx); lock_ObtainMutex(&scp->mx); } + if (code) + return code; continue; } }