[Linux-cachefs] [PATCH] FS-Cache: print hexadecimal value for special cookies type

Andy Shevchenko andy.shevchenko at gmail.com
Mon Apr 24 21:47:41 UTC 2017


On Sat, Apr 22, 2017 at 2:09 AM, Jérémy Lefaure
<jeremy.lefaure at lse.epita.fr> wrote:
> On Fri, 21 Apr 2017 22:41:54 +0300
> Andy Shevchenko <andy.shevchenko at gmail.com> wrote:
>> On Wed, Apr 19, 2017 at 11:38 PM, Jérémy Lefaure
>> <jeremy.lefaure at lse.epita.fr> wrote:
>> > When building object-list.o, gcc 6 raises a warning on the sprintf call
>> > in fscache_objlist_show:
>> >
>> >   CC      fs/fscache/object-list.o
>> > fs/fscache/object-list.c: In function ‘fscache_objlist_show’:
>> > fs/fscache/object-list.c:265:19: warning: ‘sprintf’ may write a
>> > terminating nul past the end of the destination [-Wformat-overflow=]
>> >     sprintf(_type, "%02u", cookie->def->type);
>> >                    ^~~~~~
>> > fs/fscache/object-list.c:265:4: note: ‘sprintf’ output between 3 and 4
>> > bytes into a destination of size 3
>> >     sprintf(_type, "%02u", cookie->def->type);
>> >     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> >
>> > Moreover, the documentation says that we should have an hex value for
>> > special cookies (see Documentation/filesystems/caching/fscache.txt).
>> >
>> > Printing hexadecimal value for special cookies fixes the overflow
>> > warning and complies with the documentation.
>>
>> If this is used by some user space tool the safest fix is to print in
>> BCD and fix documentation.
>>
> Are you talking about the Binary Coded Decimal format ?

Yes.

> I don't get why
> it would be better. If we change the printed format, it would break
> user space tool anyway, right ?

If userspace tool is bound to the format it might go crazy about hex
digits in the cookie.

Is that cookie important somehow? (for example, user space might
request something based on it?) It might be a case when you got let
say '75' and then ask for 117 (0x75), however real value is 75.

So, if it's okay in this, perhaps paragraph explaining side effects in
commit message would be good to have/

-- 
With Best Regards,
Andy Shevchenko




More information about the Linux-cachefs mailing list