OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-3122-ge1d149c
Gerrit Code Review
gerrit@openafs.org
Thu, 15 Nov 2012 08:46:25 -0800 (PST)
The following commit has been merged in the master branch:
commit e1d149c925cfcc2656086bee2416fb319e1bd9ca
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.
Change-Id: I7cf0dff6bd541b0588a060d677a8e3d724858b96
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>
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