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