NFSD: Fix TP_printk() format specifier in nfsd_clid_class
authorChuck Lever <chuck.lever@oracle.com>
Fri, 14 May 2021 19:55:17 +0000 (15:55 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:05:50 +0000 (16:05 +0200)
[ Upstream commit a948b1142cae66785521a389cab2cce74069b547 ]

Since commit 9a6944fee68e ("tracing: Add a verifier to check string
pointers for trace events"), which was merged in v5.13-rc1,
TP_printk() no longer tacitly supports the "%.*s" format specifier.

These are low value tracepoints, so just remove them.

Reported-by: David Wysochanski <dwysocha@redhat.com>
Fixes: dd5e3fbc1f47 ("NFSD: Add tracepoints to the NFSD state management code")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/nfsd/nfs4state.c
fs/nfsd/trace.h

index ac20f79..80e394a 100644 (file)
@@ -7158,7 +7158,6 @@ nfs4_client_to_reclaim(struct xdr_netobj name, struct xdr_netobj princhash,
        unsigned int strhashval;
        struct nfs4_client_reclaim *crp;
 
-       trace_nfsd_clid_reclaim(nn, name.len, name.data);
        crp = alloc_reclaim();
        if (crp) {
                strhashval = clientstr_hashval(name);
@@ -7208,8 +7207,6 @@ nfsd4_find_reclaim_client(struct xdr_netobj name, struct nfsd_net *nn)
        unsigned int strhashval;
        struct nfs4_client_reclaim *crp = NULL;
 
-       trace_nfsd_clid_find(nn, name.len, name.data);
-
        strhashval = clientstr_hashval(name);
        list_for_each_entry(crp, &nn->reclaim_str_hashtbl[strhashval], cr_strhash) {
                if (compare_blob(&crp->cr_name, &name) == 0) {
index 99bf078..c8ca73d 100644 (file)
@@ -368,35 +368,6 @@ DEFINE_EVENT(nfsd_net_class, nfsd_##name, \
 DEFINE_NET_EVENT(grace_start);
 DEFINE_NET_EVENT(grace_complete);
 
-DECLARE_EVENT_CLASS(nfsd_clid_class,
-       TP_PROTO(const struct nfsd_net *nn,
-                unsigned int namelen,
-                const unsigned char *namedata),
-       TP_ARGS(nn, namelen, namedata),
-       TP_STRUCT__entry(
-               __field(unsigned long long, boot_time)
-               __field(unsigned int, namelen)
-               __dynamic_array(unsigned char,  name, namelen)
-       ),
-       TP_fast_assign(
-               __entry->boot_time = nn->boot_time;
-               __entry->namelen = namelen;
-               memcpy(__get_dynamic_array(name), namedata, namelen);
-       ),
-       TP_printk("boot_time=%16llx nfs4_clientid=%.*s",
-               __entry->boot_time, __entry->namelen, __get_str(name))
-)
-
-#define DEFINE_CLID_EVENT(name) \
-DEFINE_EVENT(nfsd_clid_class, nfsd_clid_##name, \
-       TP_PROTO(const struct nfsd_net *nn, \
-                unsigned int namelen, \
-                const unsigned char *namedata), \
-       TP_ARGS(nn, namelen, namedata))
-
-DEFINE_CLID_EVENT(find);
-DEFINE_CLID_EVENT(reclaim);
-
 TRACE_EVENT(nfsd_clid_inuse_err,
        TP_PROTO(const struct nfs4_client *clp),
        TP_ARGS(clp),