mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 13:38:01 +00:00
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 <shadow@dementix.org> Tested-by: BuildBot <buildbot@rampaginggeek.com> (cherry picked from commit 7461fa11939556d3b6f3ea38da7ff65607805579) Change-Id: I7a33cf96d2031dd1798f7598918396eb8fbde611 Reviewed-on: http://gerrit.openafs.org/6494 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementix.org>
This commit is contained in:
parent
fa6aeb6106
commit
70fe8ec109
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user