From: Chuck Lever Date: Fri, 23 Oct 2020 14:41:07 +0000 (-0400) Subject: SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() X-Git-Tag: v5.10-rc4~42^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d321ff589c16d8c2207485a6d7fbdb14e873d46e;p=thirdparty%2Flinux.git SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() The TP_fast_assign() section is careful enough not to dereference xdr->rqst if it's NULL. The TP_STRUCT__entry section is not. Fixes: 5582863f450c ("SUNRPC: Add XDR overflow trace event") Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields --- diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h index f45b3c01370ca..2477014e3fa6f 100644 --- a/include/trace/events/sunrpc.h +++ b/include/trace/events/sunrpc.h @@ -655,10 +655,10 @@ TRACE_EVENT(rpc_xdr_overflow, __field(size_t, tail_len) __field(unsigned int, page_len) __field(unsigned int, len) - __string(progname, - xdr->rqst->rq_task->tk_client->cl_program->name) - __string(procedure, - xdr->rqst->rq_task->tk_msg.rpc_proc->p_name) + __string(progname, xdr->rqst ? + xdr->rqst->rq_task->tk_client->cl_program->name : "unknown") + __string(procedure, xdr->rqst ? + xdr->rqst->rq_task->tk_msg.rpc_proc->p_name : "unknown") ), TP_fast_assign(