process in a PAG exits. Thanks, Chaskiel Grundman.
with i386 and amd64. Newer versions of glibc change internal
structures in ways that cause the old LWP code to have stack
overflows. (Closes: #419903)
+ * Apply upstream patch to crashes on contention in afs_xuser when a
+ process in a PAG exits. Thanks, Chaskiel Grundman.
* When determining the AFS sysname for kernel module builds, add
explicit cases for 2.6 kernels for all architectures that support them
(everything except non-64-bit sparc_linux). Fixes build problems with
{
afs_uint32 pag = key->payload.value;
struct unixuser *pu;
+ int locked = ISAFS_GLOCK();
+ if (!locked)
+ AFS_GLOCK();
pu = afs_FindUser(pag, -1, READ_LOCK);
if (pu) {
pu->ct.EndTimestamp = 0;
pu->tokenTime = 0;
afs_PutUser(pu, READ_LOCK);
}
+ if (!locked)
+ AFS_GUNLOCK();
}
struct key_type key_type_afs_pag =