summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorFrank Sorenson <sorenson@redhat.com>2016-09-29 17:44:40 +0200
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2016-09-30 21:47:13 +0200
commita960f8d6db431f5785ee28dbe903d61d821f368e (patch)
treebffd882be6c2e5addf136606c0aeb45850543574 /net
parentsunrpc: add auth_unix hash_cred() function (diff)
downloadlinux-a960f8d6db431f5785ee28dbe903d61d821f368e.tar.xz
linux-a960f8d6db431f5785ee28dbe903d61d821f368e.zip
sunrpc: add RPCSEC_GSS hash_cred() function
Add a hash_cred() function for RPCSEC_GSS, using only the uid from the auth_cred. Signed-off-by: Frank Sorenson <sorenson@redhat.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'net')
-rw-r--r--net/sunrpc/auth_gss/auth_gss.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c
index 976c7812bbd5..d8bd97a5a7c9 100644
--- a/net/sunrpc/auth_gss/auth_gss.c
+++ b/net/sunrpc/auth_gss/auth_gss.c
@@ -1298,6 +1298,12 @@ gss_destroy_cred(struct rpc_cred *cred)
gss_destroy_nullcred(cred);
}
+static int
+gss_hash_cred(struct auth_cred *acred, unsigned int hashbits)
+{
+ return hash_64(from_kuid(&init_user_ns, acred->uid), hashbits);
+}
+
/*
* Lookup RPCSEC_GSS cred for the current process
*/
@@ -1982,6 +1988,7 @@ static const struct rpc_authops authgss_ops = {
.au_name = "RPCSEC_GSS",
.create = gss_create,
.destroy = gss_destroy,
+ .hash_cred = gss_hash_cred,
.lookup_cred = gss_lookup_cred,
.crcreate = gss_create_cred,
.list_pseudoflavors = gss_mech_list_pseudoflavors,