aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2022-10-18 07:47:54 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-03-06 14:45:15 +0000
commitbfef0cfab41cb4894bc5cf8b93e76327ac04b9b9 (patch)
tree360fc48cd6fd96b203d5bf261ddfb31b6d738cf0
parent0a49efb94888b6381d9c43fda17115ffda40a039 (diff)
downloadlinux-bfef0cfab41cb4894bc5cf8b93e76327ac04b9b9.tar.gz
nfsd: ignore requests to disable unsupported versions
[ Upstream commit 8e823bafff2308753d430566256c83d8085952da ] The kernel currently errors out if you attempt to enable or disable a version that it doesn't recognize. Change it to ignore attempts to disable an unrecognized version. If we don't support it, then there is no harm in doing so. Signed-off-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Tom Talpey <tom@talpey.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/nfsd/nfsctl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
index 573de0d49e1729..c21f5815d72644 100644
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -601,7 +601,9 @@ static ssize_t __write_versions(struct file *file, char *buf, size_t size)
}
break;
default:
- return -EINVAL;
+ /* Ignore requests to disable non-existent versions */
+ if (cmd == NFSD_SET)
+ return -EINVAL;
}
vers += len + 1;
} while ((len = qword_get(&mesg, vers, size)) > 0);