openafs (1.4.10+dfsg1-2) UNRELEASED; urgency=low
+ * Apply upstream CVS deltas:
+ - STABLE14-linux26-defer-cred-changing-20090511: defer changing groups
+ when the real and effective credentials of a process differ to avoid
+ running afoul of checks in newer Linux kernels that cause oops.
+ (Closes: #528785)
* Provide an openafs-modules-dkms package that uses DKMS to dynamically
build kernel modules for the local kernel and document this option in
README.modules. This is an alternative to installing
#include "afs/param.h"
RCSID
- ("$Header: /cvs/openafs/src/afs/LINUX/osi_cred.c,v 1.10.2.4 2009/01/15 13:27:43 shadow Exp $");
+ ("$Header: /cvs/openafs/src/afs/LINUX/osi_cred.c,v 1.10.2.6 2009/05/11 14:55:40 shadow Exp $");
#include "afs/sysincludes.h"
#include "afsincludes.h"
#if defined(STRUCT_TASK_HAS_CRED)
struct cred *new_creds;
+ /* If our current task doesn't have identical real and effective
+ * credentials, commit_cred won't let us change them, so we just
+ * bail here.
+ */
+ if (current->cred != current->real_cred)
+ return;
new_creds = prepare_creds();
new_creds->fsuid = cr->cr_uid;
new_creds->uid = cr->cr_ruid;