diff options
author | J. Bruce Fields <bfields@redhat.com> | 2013-07-31 17:51:42 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2013-08-01 08:42:01 -0400 |
commit | 7193bd17ea92c4c89016c304362c9be93ce50050 (patch) | |
tree | bac4d38cb3caae832b115e287474d499783d280a /net/sunrpc | |
parent | 743e217129f69aab074abe520a464fd0c6b1cca1 (diff) |
svcrpc: set cr_gss_mech from gss-proxy as well as legacy upcall
The change made to rsc_parse() in
0dc1531aca7fd1440918bd55844a054e9c29acad "svcrpc: store gss mech in
svc_cred" should also have been propagated to the gss-proxy codepath.
This fixes a crash in the gss-proxy case.
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc')
-rw-r--r-- | net/sunrpc/auth_gss/svcauth_gss.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c index d0347d148b34..09fb638bcaa4 100644 --- a/net/sunrpc/auth_gss/svcauth_gss.c +++ b/net/sunrpc/auth_gss/svcauth_gss.c | |||
@@ -1180,6 +1180,7 @@ static int gss_proxy_save_rsc(struct cache_detail *cd, | |||
1180 | gm = gss_mech_get_by_OID(&ud->mech_oid); | 1180 | gm = gss_mech_get_by_OID(&ud->mech_oid); |
1181 | if (!gm) | 1181 | if (!gm) |
1182 | goto out; | 1182 | goto out; |
1183 | rsci.cred.cr_gss_mech = gm; | ||
1183 | 1184 | ||
1184 | status = -EINVAL; | 1185 | status = -EINVAL; |
1185 | /* mech-specific data: */ | 1186 | /* mech-specific data: */ |
@@ -1195,7 +1196,6 @@ static int gss_proxy_save_rsc(struct cache_detail *cd, | |||
1195 | rscp = rsc_update(cd, &rsci, rscp); | 1196 | rscp = rsc_update(cd, &rsci, rscp); |
1196 | status = 0; | 1197 | status = 0; |
1197 | out: | 1198 | out: |
1198 | gss_mech_put(gm); | ||
1199 | rsc_free(&rsci); | 1199 | rsc_free(&rsci); |
1200 | if (rscp) | 1200 | if (rscp) |
1201 | cache_put(&rscp->h, cd); | 1201 | cache_put(&rscp->h, cd); |