Subject: Re: [PATCH] SUNRPC: Mark buffer used for debug printks with __maybe_unused

From: Pavel Emelyanov <[email-masked]>
Date: Wed, 20 Feb 2008 18:36:40 +0300

Joe Perches wrote:
> On Wed, 2008-02-20 at 17:02 +0300, Pavel Emelyanov wrote:
>> There are tree 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.
> 
> What about the uses in fs?
> 
> fs/lockd/svc.c:         char buf[RPC_MAX_ADDRBUFLEN];
> fs/lockd/svc4proc.c:            char buf[RPC_MAX_ADDRBUFLEN];
> fs/lockd/svcproc.c:             char buf[RPC_MAX_ADDRBUFLEN];
> fs/nfs/callback.c:      char buf[RPC_MAX_ADDRBUFLEN];
> fs/nfsd/nfsfh.c:                char buf[RPC_MAX_ADDRBUFLEN];
> fs/nfsd/nfsproc.c:              char buf[RPC_MAX_ADDRBUFLEN];
> 
> Perhaps there should be a DECLARE_RPC_BUF(buf) macro?
> 
> #define DECLARE_RPC_BUF(var) char var[MAC_BUF_SIZE] __maybe_unused

Sigh... Why is that better than a strait declaration with attribute?