diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-10 10:05:19 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-10 10:05:19 -0700 |
commit | bc46f9375a286d05f84a9464efc2b7f1f5614ff4 (patch) | |
tree | 8d7959826a254bbc51a5ad6d292d5d67d82dbacb /net | |
parent | ed3ac021e5038696fd38670e83219cea487f66be (diff) | |
parent | 7bdf7415a6b8ec31f86b3ad3eaa241257ecb7c4c (diff) |
Merge tag 'nfs-for-3.4-5' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
Pull a NFS client bugfix from Trond Myklebust:
"Fix for the NFSv4 security negotiation: ensure that the security
negotiation tries all registered security flavours"
* tag 'nfs-for-3.4-5' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
auth_gss: the list of pseudoflavors not being parsed correctly
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/auth_gss/gss_mech_switch.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/sunrpc/auth_gss/gss_mech_switch.c b/net/sunrpc/auth_gss/gss_mech_switch.c index ca8cad8251c..782bfe1b646 100644 --- a/net/sunrpc/auth_gss/gss_mech_switch.c +++ b/net/sunrpc/auth_gss/gss_mech_switch.c @@ -242,12 +242,13 @@ EXPORT_SYMBOL_GPL(gss_mech_get_by_pseudoflavor); int gss_mech_list_pseudoflavors(rpc_authflavor_t *array_ptr) { struct gss_api_mech *pos = NULL; - int i = 0; + int j, i = 0; spin_lock(®istered_mechs_lock); list_for_each_entry(pos, ®istered_mechs, gm_list) { - array_ptr[i] = pos->gm_pfs->pseudoflavor; - i++; + for (j=0; j < pos->gm_pf_num; j++) { + array_ptr[i++] = pos->gm_pfs[j].pseudoflavor; + } } spin_unlock(®istered_mechs_lock); return i; |