From fab7c80c3a6d83b0e20c67554536bcbb4082ad6f Mon Sep 17 00:00:00 2001 From: Simon Wilkinson Date: Tue, 9 Feb 2010 19:53:40 +0000 Subject: [PATCH] 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 (cherry picked from commit bcdb5220e2db2bf0cd22c6316682046425048d87) Reviewed-on: http://gerrit.openafs.org/1289 --- src/afs/LINUX/osi_file.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/afs/LINUX/osi_file.c b/src/afs/LINUX/osi_file.c index e7c3661cc..1f9e8cf88 100644 --- a/src/afs/LINUX/osi_file.c +++ b/src/afs/LINUX/osi_file.c @@ -82,6 +82,8 @@ osi_UFSOpen(afs_int32 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 -- 2.39.5