summaryrefslogtreecommitdiffstats
path: root/fs/nfs/dir.c
diff options
context:
space:
mode:
authorWeston Andros Adamson <dros@netapp.com>2013-09-03 15:18:49 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2013-09-03 15:25:10 -0400
commita5250def7c4549a6a1cd8257900bef9c12ffc2fc (patch)
tree99de00dbe175fc2a04eaf61530c342abb3921a39 /fs/nfs/dir.c
parent35fa5f7b35ca2076d594b2670a32d66dd3ae9eec (diff)
downloadblackbird-op-linux-a5250def7c4549a6a1cd8257900bef9c12ffc2fc.tar.gz
blackbird-op-linux-a5250def7c4549a6a1cd8257900bef9c12ffc2fc.zip
NFSv4: use the mach cred for SECINFO w/ integrity
Commit 5ec16a8500d339b0e7a0cc76b785d18daad354d4 introduced a regression that causes SECINFO to fail without actualy sending an RPC if: 1) the nfs_client's rpc_client was using KRB5i/p (now tried by default) 2) the current user doesn't have valid kerberos credentials This situation is quite common - as of now a sec=sys mount would use krb5i for the nfs_client's rpc_client and a user would hardly be faulted for not having run kinit. The solution is to use the machine cred when trying to use an integrity protected auth flavor for SECINFO. Older servers may not support using the machine cred or an integrity protected auth flavor for SECINFO in every circumstance, so we fall back to using the user's cred and the filesystem's auth flavor in this case. We run into another problem when running against linux nfs servers - they return NFS4ERR_WRONGSEC when using integrity auth flavor (unless the mount is also that flavor) even though that is not a valid error for SECINFO*. Even though it's against spec, handle WRONGSEC errors on SECINFO by falling back to using the user cred and the filesystem's auth flavor. Signed-off-by: Weston Andros Adamson <dros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/dir.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud