From 70fe8ec10943e0ef56b60880064b30ed7804071d Mon Sep 17 00:00:00 2001 From: Andrew Deason Date: Mon, 26 Dec 2011 21:22:08 -0500 Subject: [PATCH] afs: Grab a reference to setp in afs_icl_Event4 We can drop GLOCK in several places in afs_icl_Event4 and the afs_icl_AppendRecord callee. To ensure that the given afs_icl_set does not get freed while we have GLOCK dropped, grab a reference to the set. Thanks to Ryan C. Underwood for reporting an issue triggered by this. Reviewed-on: http://gerrit.openafs.org/6431 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 7461fa11939556d3b6f3ea38da7ff65607805579) Change-Id: I7a33cf96d2031dd1798f7598918396eb8fbde611 Reviewed-on: http://gerrit.openafs.org/6494 Tested-by: BuildBot Reviewed-by: Derrick Brashear --- src/afs/afs_icl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/afs/afs_icl.c b/src/afs/afs_icl.c index 7c3d17595..7b99e904e 100644 --- a/src/afs/afs_icl.c +++ b/src/afs/afs_icl.c @@ -407,6 +407,7 @@ afs_icl_Event4(struct afs_icl_set *setp, afs_int32 eventID, return 0; AFS_ASSERT_GLOCK(); + afs_icl_SetHold(setp); mask = lAndT >> 24 & 0xff; /* mask of which logs to log to */ ix = ICL_EVENTBYTE(eventID); ObtainReadLock(&setp->lock); @@ -422,6 +423,7 @@ afs_icl_Event4(struct afs_icl_set *setp, afs_int32 eventID, } } ReleaseReadLock(&setp->lock); + afs_icl_SetRele(setp); return 0; } -- 2.39.5