Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 May 2009 11:35:24 -0700
From:      Sam Leffler <sam@freebsd.org>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r192591 - head/sys/fs/nfsserver
Message-ID:  <4A1841EC.9030303@freebsd.org>
In-Reply-To: <20090523210556.Y826@delplex.bde.org>
References:  <200905221810.n4MIAe4J014419@svn.freebsd.org> <20090522184846.GA34437@FreeBSD.org> <4A16F40B.4020404@freebsd.org> <20090523210556.Y826@delplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote:
> On Fri, 22 May 2009, Sam Leffler wrote:
>
>> Alexey Dokuchaev wrote:
>>> On Fri, May 22, 2009 at 06:10:40PM +0000, Rick Macklem wrote:
>>>> ...
>>>> Log:
>>>>   Modified the printf message of r192590 to remove the
>>>>   possible DOS attack, as suggested by Sam.
>>>>   -    printf("out of clientids, possible DOS attack\n");
>>>> +    printf("out of clientids\n");
>>>>
>>>
>>> Previously, panic() message referred "nfs4", now it does not, making it
>>> rather cryptic without grepping through the source code.
>>> .
>> I requested the printf identify the call site; e.g.
>>
>> printf("%s: out of clientids\n", __func__);
>
> That is equally cryptic _with_ grepping through the source code, and
> much uglier.  __func__ should only be used when the function name is
> not a literal constant (mainly in macros).  The new nfs code only uses
> __func__ in 2 places, now including this one.  The old nfs code only
> uses it in a few more than 2 places.

IMO use of __func__ is far preferred to static strings as it follows the 
printf when it's moved to another function and allows fmt strings to be 
coalesced by the compiler/loader.  I can't count the times I've had a 
printf w/ the wrong function name send me on a wild goose chase until I 
grep'd for the remainder of the string.  IMO we should be replacing 
static function names w/ __func__ at every opportunity.

Regardless my advise was just that "advise".  So long as I can identify 
the call site in case this error msg gets duplicated I don't care.

    Sam




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A1841EC.9030303>