]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
nfsd: fix access checking for NLM under XPRTSEC policies
authorOlga Kornievskaia <okorniev@redhat.com>
Sat, 22 Mar 2025 00:13:04 +0000 (20:13 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 Oct 2025 14:34:06 +0000 (16:34 +0200)
commit 0813c5f01249dbc32ccbc68d27a24fde5bf2901c upstream.

When an export policy with xprtsec policy is set with "tls"
and/or "mtls", but an NFS client is doing a v3 xprtsec=tls
mount, then NLM locking calls fail with an error because
there is currently no support for NLM with TLS.

Until such support is added, allow NLM calls under TLS-secured
policy.

Fixes: 4cc9b9f2bf4d ("nfsd: refine and rename NFSD_MAY_LOCK")
Cc: stable@vger.kernel.org
Signed-off-by: Olga Kornievskaia <okorniev@redhat.com>
Reviewed-by: NeilBrown <neil@brown.name>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfsd/export.c

index aa4712362b3b3d5823eb4211887c3d7e45960cee..1a8a94dcc60aefdbafb5c853d23f9b1e0811dda1 100644 (file)
@@ -1115,7 +1115,8 @@ __be32 check_nfsd_access(struct svc_export *exp, struct svc_rqst *rqstp,
                    test_bit(XPT_PEER_AUTH, &xprt->xpt_flags))
                        goto ok;
        }
-       goto denied;
+       if (!may_bypass_gss)
+               goto denied;
 
 ok:
        /* legacy gss-only clients are always OK: */