]> git.michaelhowe.org Git - packages/o/openafs.git/commit
LINUX: Hold GLOCK for proc traversal
authorAndrew Deason <adeason@sinenomine.net>
Thu, 26 Jul 2012 21:40:03 +0000 (16:40 -0500)
committerDerrick Brashear <shadow@dementix.org>
Sat, 28 Jul 2012 03:19:27 +0000 (20:19 -0700)
commit5237d3d232f22aaf4f67f3a8727a293f4058a7ae
tree207b4ba220eee5085f57c5adfb37c82c1eab7f86
parent23f2f1232b03ed02f87582c12b4c4e8474bc9b5d
LINUX: Hold GLOCK for proc traversal

The functions that traverse unixuser structures for display via /proc
(uu_start et al) call various libafs functions hold and release locks,
etc. To do any of that, we need GLOCK. Amongst other issues, we can
panic if we try to acquire a contested lock without GLOCK, since we
assert glock is held when we sleep for the lock or try to wake other
waiters. The same goes for the legacy CellServDB proc file.

So, hold and release GLOCK as appropriate.

Change-Id: I9ec2051bc5d914521d12a9d20d28da1076c090fc
Reviewed-on: http://gerrit.openafs.org/7885
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
src/afs/LINUX/osi_proc.c