SUNRPC: Compile out bufs for debug printks
Subsystems (4)
PATCH 1/1 SUNRPC: Compile out bufs for debug printks
There are many places, which declare the char buf[...] on the stack to push it later into dprintk(). Since the dprintk sometimes (if the CONFIG_SYSCTL=n) becomes an empty do { } while (0) stub, these buffers cause gcc to produce appropriate warnings.
Introduce a macro that declares that buf as __maybe_unused.
More candidates for patching are found by Joe Perches.
Signed-off-by Pavel Emelyanov <[email protected]>
---
fs/lockd/svc.c +1 -1
@@ -153,7 +153,7 @@ lockd(struct svc_rqst *rqstp)*/ while ((nlmsvc_users || !signalled ()) && nlmsvc_pid == current->pid) {long timeout =MAX_SCHEDULE_TIMEOUT ; -char buf[RPC_MAX_ADDRBUFLEN ]; +DECLARE_RPC_BUF (buf);if (signalled ()) {flush_signals (current);
fs/lockd/svc4proc.c +1 -1
@@ -436,7 +436,7 @@ nlm4svc_proc_sm_notify(struct svc_rqst *rqstp, struct nlm_reboot *argp,dprintk ("lockd: SM_NOTIFY called\n" );if (saddr.sin_addr.s_addr !=htonl (INADDR_LOOPBACK ) ||ntohs (saddr.sin_port) >=1024 ) { -char buf[RPC_MAX_ADDRBUFLEN ]; +DECLARE_RPC_BUF (buf);printk (KERN_WARNING "lockd: rejected NSM callback from %s\n" ,svc_print_addr (rqstp, buf,sizeof (buf)));return rpc_system_err;
fs/lockd/svcproc.c +1 -1
@@ -468,7 +468,7 @@ nlmsvc_proc_sm_notify(struct svc_rqst *rqstp, struct nlm_reboot *argp,dprintk ("lockd: SM_NOTIFY called\n" );if (saddr.sin_addr.s_addr !=htonl (INADDR_LOOPBACK ) ||ntohs (saddr.sin_port) >=1024 ) { -char buf[RPC_MAX_ADDRBUFLEN ]; +DECLARE_RPC_BUF (buf);printk (KERN_WARNING "lockd: rejected NSM callback from %s\n" ,svc_print_addr (rqstp, buf,sizeof (buf)));return rpc_system_err;
fs/nfs/callback.c +1 -1
@@ -165,7 +165,7 @@ void nfs_callback_down(void)static int nfs_callback_authenticate (struct svc_rqst *rqstp) {struct nfs_client *clp; -char buf[RPC_MAX_ADDRBUFLEN ]; +DECLARE_RPC_BUF (buf);/* Don't talk to strangers */ clp =nfs_find_client (svc_addr (rqstp),4 );
fs/nfsd/nfsfh.c +1 -1
@@ -101,7 +101,7 @@ static __be32 nfsd_setuser_and_check_port(struct svc_rqst *rqstp, {/* Check if the request originated from a secure port. */ if (!rqstp->rq_secure &&EX_SECURE (exp)) { -char buf[RPC_MAX_ADDRBUFLEN ]; +DECLARE_RPC_BUF (buf);dprintk (KERN_WARNING "nfsd: request from insecure port %s!\n" ,svc_print_addr (rqstp, buf,sizeof (buf)));
fs/nfsd/nfsproc.c +1 -1
@@ -148,7 +148,7 @@ nfsd_proc_read(struct svc_rqst *rqstp, struct nfsd_readargs *argp,*/ if (NFSSVC_MAXBLKSIZE_V2 < argp->count) { -char buf[RPC_MAX_ADDRBUFLEN ]; +DECLARE_RPC_BUF (buf); printk(KERN_NOTICE "oversized read request from %s (%d bytes)\n", svc_print_addr(rqstp, buf, sizeof(buf)),
include/linux/sunrpc/svc.h +2 -0
@@ -402,6 +402,8 @@ char * svc_print_addr(struct svc_rqst *, char *, size_t);#define RPC_MAX_ADDRBUFLEN (63U) +#define DECLARE_RPC_BUF (name) char name[RPC_MAX_ADDRBUFLEN] __maybe_unused +/* * When we want to reduce the size of the reserved space in the response * buffer, we need to take into account the size of any checksum data that
net/sunrpc/svc.c +1 -1
@@ -813,7 +813,7 @@ svc_printk(struct svc_rqst *rqstp, const char *fmt, ...) {va_list args;int r; -char buf[RPC_MAX_ADDRBUFLEN ]; +DECLARE_RPC_BUF (buf);if (!net_ratelimit ())return 0 ;
net/sunrpc/svcsock.c +3 -3
@@ -175,7 +175,7 @@ static int svc_sendto(struct svc_rqst *rqstp, struct xdr_buf *xdr)size_t base = xdr->page_base;unsigned int pglen = xdr->page_len;unsigned int flags =MSG_MORE ; -char buf[RPC_MAX_ADDRBUFLEN ]; +DECLARE_RPC_BUF (buf); slen = xdr->len;
@@ -716,7 +716,7 @@ static struct svc_xprt *svc_tcp_accept(struct svc_xprt *xprt)struct socket *newsock;struct svc_sock *newsvsk;int err, slen; -char buf[RPC_MAX_ADDRBUFLEN ]; +DECLARE_RPC_BUF (buf);dprintk ("svc: tcp_accept %p sock %p\n" , svsk, sock);if (!sock)
@@ -1206,7 +1206,7 @@ static struct svc_xprt *svc_create_socket(struct svc_serv *serv,struct socket *sock;int error;int type; -char buf[RPC_MAX_ADDRBUFLEN ]; +DECLARE_RPC_BUF (buf);struct sockaddr_storage addr;struct sockaddr *newsin = (struct sockaddr *)&addr;int newlen;