nfsd: ignore requests to disable unsupported versions
authorJeff Layton <jlayton@kernel.org>
Tue, 18 Oct 2022 11:47:54 +0000 (07:47 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 28 Nov 2022 17:54:44 +0000 (12:54 -0500)
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>
fs/nfsd/nfsctl.c

index dc74a94..68ed42f 100644 (file)
@@ -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);