Skip to content

Commit d9d6b74

Browse files
Olga Kornievskaiachucklever
authored andcommitted
nfsd: fix __fh_verify for localio
__fh_verify() added a call to svc_xprt_set_valid() to help do connection management but during LOCALIO path rqstp argument is NULL, leading to NULL pointer dereferencing and a crash. Fixes: eccbbc7 ("nfsd: don't use sv_nrthreads in connection limiting calculations.") Signed-off-by: Olga Kornievskaia <okorniev@redhat.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1 parent 5fb2516 commit d9d6b74

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

fs/nfsd/nfsfh.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,8 +381,9 @@ __fh_verify(struct svc_rqst *rqstp,
381381
error = check_nfsd_access(exp, rqstp, may_bypass_gss);
382382
if (error)
383383
goto out;
384-
385-
svc_xprt_set_valid(rqstp->rq_xprt);
384+
/* During LOCALIO call to fh_verify will be called with a NULL rqstp */
385+
if (rqstp)
386+
svc_xprt_set_valid(rqstp->rq_xprt);
386387

387388
/* Finally, check access permissions. */
388389
error = nfsd_permission(cred, exp, dentry, access);

0 commit comments

Comments
 (0)