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.
Change-Id: Ifeda229b444abd75b0f22c7acf18a7553d833964
Reviewed-on: http://gerrit.openafs.org/6431
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
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);
}
}
ReleaseReadLock(&setp->lock);
+ afs_icl_SetRele(setp);
return 0;
}