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.

Reviewed-on: https://gerrit.openafs.org/14963
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 07076d63edfb9fe7a2311958e9410d5eadb227d9)

Change-Id: If7b0b755e693cb5d892d3300c47fbbdaf76f2f59
Reviewed-on: https://gerrit.openafs.org/15539
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
This commit is contained in:
Cheyenne Wills 2022-05-25 12:54:50 -06:00 committed by Stephan Wiesand
parent e5d871ab40
commit f900670194

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;
}