diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2022-11-12 15:06:07 -0500 |
---|---|---|
committer | Chuck Lever <chuck.lever@oracle.com> | 2022-11-14 08:43:35 -0500 |
commit | 5a01c805441bdc86e7af206d8a03735cc9394ffb (patch) | |
tree | 3b2e082f67fe222e8d4dded3a37f33e7fde5e37d | |
parent | 50256e4793a5e5ab77703c82a47344ad2e774a59 (diff) |
NFSD: Fix trace_nfsd_fh_verify_err() crasher
Now that the nfsd_fh_verify_err() tracepoint is always called on
error, it needs to handle cases where the filehandle is not yet
fully formed.
Fixes: 93c128e709ae ("nfsd: ensure we always call fh_verify_error tracepoint")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
-rw-r--r-- | fs/nfsd/trace.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index 06a96e955bd0..d4b6839bb459 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -254,7 +254,10 @@ TRACE_EVENT_CONDITION(nfsd_fh_verify_err, rqstp->rq_xprt->xpt_remotelen); __entry->xid = be32_to_cpu(rqstp->rq_xid); __entry->fh_hash = knfsd_fh_hash(&fhp->fh_handle); - __entry->inode = d_inode(fhp->fh_dentry); + if (fhp->fh_dentry) + __entry->inode = d_inode(fhp->fh_dentry); + else + __entry->inode = NULL; __entry->type = type; __entry->access = access; __entry->error = be32_to_cpu(error); |