OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-1164-g03f0c65
Gerrit Code Review
gerrit@openafs.org
Mon, 9 May 2011 05:04:48 -0700 (PDT)
The following commit has been merged in the master branch:
commit 03f0c656c1734b9be4debdf19b8f10771ff4420a
Author: Andrew Deason <adeason@sinenomine.net>
Date: Thu May 5 11:18:08 2011 -0500
libafs: Get rx conn ref with afs conn ref
When we get a reference to an afs_conn with afs_Conn and its variants,
we assume we can use the tc->id rx connection without holding any
locks. However, if tc->forceConnectFS gets set, the tc->id connection
can be destroyed and recreated out from under us. So, to avoid using a
possibly freed rx connection, grab a reference to the rx connection at
the same time as we grab a reference to the afs conn. And also put
back the same reference with afs_PutConn.
Change-Id: I442886ee89c6f3fa609e47261317e647e124eecc
Reviewed-on: http://gerrit.openafs.org/4625
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/afs/VNOPS/afs_vnop_create.c | 7 ++--
src/afs/VNOPS/afs_vnop_dirops.c | 14 +++++---
src/afs/VNOPS/afs_vnop_flock.c | 28 +++++++++-------
src/afs/VNOPS/afs_vnop_link.c | 7 ++--
src/afs/VNOPS/afs_vnop_lookup.c | 15 +++++----
src/afs/VNOPS/afs_vnop_remove.c | 7 ++--
src/afs/VNOPS/afs_vnop_rename.c | 7 ++--
src/afs/VNOPS/afs_vnop_symlink.c | 9 +++--
src/afs/afs_analyze.c | 27 ++++++++-------
src/afs/afs_bypasscache.c | 9 +++--
src/afs/afs_conn.c | 32 +++++++++++++-----
src/afs/afs_dcache.c | 7 ++--
src/afs/afs_disconnected.c | 53 +++++++++++++++++++-----------
src/afs/afs_fetchstore.c | 27 +++++++++------
src/afs/afs_pioctl.c | 65 +++++++++++++++++++++----------------
src/afs/afs_prototypes.h | 23 +++++++++-----
src/afs/afs_segments.c | 7 ++--
src/afs/afs_server.c | 32 ++++++++++--------
src/afs/afs_vcache.c | 35 +++++++++++---------
src/afs/afs_volume.c | 23 +++++++------
20 files changed, 255 insertions(+), 179 deletions(-)
--
OpenAFS Master Repository