svn commit: r192591 - head/sys/fs/nfsserver
Sam Leffler
sam at freebsd.org
Sat May 23 18:35:27 UTC 2009
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
More information about the svn-src-all
mailing list