From ea5215851263c79ca239e5bb4dd74775945d8dd6 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Fri, 21 Aug 2009 17:50:30 -0400 Subject: [PATCH] --- yaml --- r: 158609 b: refs/heads/master c: 5eecfde615894dc1c2e3f85b515a96ae2e408fb5 h: refs/heads/master i: 158607: 868ff0ad3f1239198f9551a7036d676075be34ff v: v3 --- [refs] | 2 +- trunk/fs/nfs/super.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 59ef8bf1f1db..b5f7a81e2eb9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 405d8f8b1d936414da2093d4149ff790ff3f84a5 +refs/heads/master: 5eecfde615894dc1c2e3f85b515a96ae2e408fb5 diff --git a/trunk/fs/nfs/super.c b/trunk/fs/nfs/super.c index 9c85cdb353aa..f3a95df4b95f 100644 --- a/trunk/fs/nfs/super.c +++ b/trunk/fs/nfs/super.c @@ -1337,6 +1337,16 @@ static int nfs_walk_authlist(struct nfs_parsed_mount_data *args, { unsigned int i, j, server_authlist_len = *(request->auth_flav_len); + /* + * Certain releases of Linux's mountd return an empty + * flavor list. To prevent behavioral regression with + * these servers (ie. rejecting mounts that used to + * succeed), revert to pre-2.6.32 behavior (no checking) + * if the returned flavor list is empty. + */ + if (server_authlist_len == 0) + return 0; + /* * We avoid sophisticated negotiating here, as there are * plenty of cases where we can get it wrong, providing