From: Simon Wilkinson Date: Tue, 9 Feb 2010 19:53:40 +0000 (+0000) Subject: Linux: Use current_creds() if stashed creds fail X-Git-Tag: openafs-devel-1_5_72~4 X-Git-Url: http://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=bcdb5220e2db2bf0cd22c6316682046425048d87 Linux: Use current_creds() if stashed creds fail If we can't use our stashed credentials (because SELinux hates us, most likely), then fall back to trying the processes current credentials instead of just oopsing. Change-Id: Ib3676ff66f8400e86cccb97fb207a5f094ceb4ad Reviewed-on: http://gerrit.openafs.org/1283 Tested-by: Derrick Brashear Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear --- diff --git a/src/afs/LINUX/osi_file.c b/src/afs/LINUX/osi_file.c index 9b9aa37..f5e21d5 100644 --- a/src/afs/LINUX/osi_file.c +++ b/src/afs/LINUX/osi_file.c @@ -56,6 +56,8 @@ afs_linux_raw_open(afs_dcache_id_t *ainode) #if defined(STRUCT_TASK_HAS_CRED) /* Use stashed credentials - prevent selinux/apparmor problems */ filp = dentry_open(dp, mntget(afs_cacheMnt), O_RDWR, cache_creds); + if (IS_ERR(filp)) + filp = dentry_open(dp, mntget(afs_cacheMnt), O_RDWR, current_cred()); #else filp = dentry_open(dp, mntget(afs_cacheMnt), O_RDWR); #endif