LKML Archive on
help / color / mirror / Atom feed
* reiserfs: inconsistent format in __RASSERT
@ 2015-03-16 12:55 Nicolas Iooss
  2015-03-16 13:05 ` Jeff Mahoney
  0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Iooss @ 2015-03-16 12:55 UTC (permalink / raw)
  To: reiserfs-devel, Jeff Mahoney; +Cc: linux-kernel


When adding a __printf attribute to reiserfs_panic, gcc reported an
inconsistent format for __RASSERT.  This macro is currently defined in
fs/reiserfs/reiserfs.h as:

    reiserfs_panic(NULL, "assertion failure", "(" #cond ") at " \
        __FILE__ ":%i:%s: " format "\n",                        \
        in_interrupt() ? -1 : task_pid_nr(current),             \
        __LINE__, __func__ , ##args);

In the format string, the first parameter is a line number, but in the
arguments there is a PID before.  Before c3a9c2109f84 ("reiserfs: rework
reiserfs_panic") [1], the format string began with "reiserfs[%i]" [2],
which explains the PID in the arguments.

I see three possibilities:

* I missed something in my analysis and in fact the PID argument is
processed by reiserfs_panic (don't know where), or
* the PID argument is not used and should be removed, or
* the PID is useful and "[%i]" should be added somewhere in the format

Which one would you prefer?

Also, I found this when building the kernel with "allmodconfig" on
x86_64.  With "defconfig" gcc does not report this error, but I guess it
is because without CONFIG_REISERFS_CHECK, __RASSERT is never used.




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-03-17 15:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-16 12:55 reiserfs: inconsistent format in __RASSERT Nicolas Iooss
2015-03-16 13:05 ` Jeff Mahoney
2015-03-16 13:18   ` Nicolas Iooss
2015-03-16 13:45     ` [PATCH] reiserfs: fix __RASSERT format string Nicolas Iooss
2015-03-17 14:26       ` Jeff Mahoney
2015-03-17 15:22         ` Jan Kara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).