OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-3122-ge1d149c

Gerrit Code Review
Thu, 15 Nov 2012 08:46:25 -0800 (PST)

The following commit has been merged in the master branch:
commit e1d149c925cfcc2656086bee2416fb319e1bd9ca
Author: Jeffrey Altman <>
Date:   Wed Nov 14 07:02:01 2012 -0500

    Windows: Hold ProcessTreeLock across AFSValidateProcessEntry
    AFSValidateProcessEntry() is called from AFSProcessCreate() which
    holds the ProcessTree.TreeLock exclusive across the call and from
    AFSCreate() and AFSRetrieveAuthGroup() where it is not held at all.
    Add a parameter to AFSValidateProcessEntry() that indicates whether
    or not the ProcessTree.TreeLock is held.  If it is held, it must be
    held exclusive.  If it is not held, the lock must be acquired within
    AFSValidateProcessEntry() and it must be held for the entire lifetime
    of the pParentProcessCB reference.  Failure to hold the TreeLock
    for the lifetime of the reference permits a race with AFSProcessDestroy()
    that can result in the parent ProcessCB being destroyed while its
    Resource is held.
    Change-Id: I7cf0dff6bd541b0588a060d677a8e3d724858b96
    Tested-by: BuildBot <>
    Reviewed-by: Rod Widdowson <>
    Tested-by: Jeffrey Altman <>
    Reviewed-by: Jeffrey Altman <>

 src/WINNT/afsrdr/kernel/fs/AFSAuthGroupSupport.cpp |    4 +-
 src/WINNT/afsrdr/kernel/fs/AFSCreate.cpp           |    3 +-
 src/WINNT/afsrdr/kernel/fs/AFSProcessSupport.cpp   |   52 +++++++++++++-------
 src/WINNT/afsrdr/kernel/fs/Include/AFSCommon.h     |    3 +-
 4 files changed, 41 insertions(+), 21 deletions(-)

OpenAFS Master Repository