OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_19-13-gc621fe4

Gerrit Code Review gerrit@openafs.org
Thu, 15 Nov 2012 09:30:37 -0800 (PST)


The following commit has been merged in the openafs-devel-1_7_x branch:
commit c621fe4b9912b22a49ae064736e5d3c1eeef66fe
Author: Jeffrey Altman <jaltman@your-file-system.com>
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.
    
    Reviewed-on: http://gerrit.openafs.org/8455
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    (cherry picked from commit e1d149c925cfcc2656086bee2416fb319e1bd9ca)
    
    Change-Id: I466cbc82cf4a7a54e82236cdcc01982c6c0baeb1
    Reviewed-on: http://gerrit.openafs.org/8468
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

 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