ukernel: Fix AFS_GUNLOCK panic in rx_ServerProc

At the beginning of UKERNEL's rx_ServerProc a call to AFS_GUNLOCK
panics with 'afs global lock not held'.

The commit 'afs: Drop GLOCK for various Rx calls' (d5e1428a3b) altered
afs_RXCallBackServer so the global lock is released prior to calling
rx_ServerProc, and to reacquire the lock after rx_ServerProc returns.

Remove the AFS_GUNLOCK at the start and the AFS_GLOCK at the end of
UKERNEL's rx_ServerProc.

Change-Id: Id0e2fef574e4d3473e83f77615d194448f55ab47
Reviewed-on: https://gerrit.openafs.org/14963
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
This commit is contained in:
Cheyenne Wills 2022-05-25 12:54:50 -06:00 committed by Benjamin Kaduk
parent 52aafbb1a2
commit 07076d63ed

View File

@ -155,7 +155,6 @@ rx_ServerProc(void *unused)
* number of threads handling incoming calls */
threadID = rxi_availProcs++;
AFS_GUNLOCK();
while (1) {
sock = OSI_NULLSOCKET;
rxi_ServerProc(threadID, newcall, &sock);
@ -168,7 +167,6 @@ rx_ServerProc(void *unused)
/* assert(threadID != -1); */
/* assert(newcall != NULL); */
}
AFS_GLOCK();
return NULL;
}