From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
To: "Joe Perches" <joe@perches.com>,
"Sergey Senozhatsky" <sergey.senozhatsky.work@gmail.com>,
"Uwe Kleine-König" <uwe@kleine-koenig.org>,
"Petr Mladek" <pmladek@suse.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Jani Nikula <jani.nikula@linux.intel.com>,
Juergen Gross <jgross@suse.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] printf: add support for printing symbolic error codes
Date: Sat, 31 Aug 2019 00:50:42 +0200 [thread overview]
Message-ID: <516ab378-e79a-4e1c-8099-ccb22dfd5508@rasmusvillemoes.dk> (raw)
In-Reply-To: <92108c09c37a9355566b579db152a05e19f54ccf.camel@perches.com>
On 31/08/2019 00.21, Joe Perches wrote:
> On Sat, 2019-08-31 at 00:03 +0200, Rasmus Villemoes wrote:
>> On 30/08/2019 23.53, Joe Perches wrote:
>>>> diff --git a/lib/vsprintf.c b/lib/vsprintf.c
>>> []
>>>> @@ -2178,8 +2204,6 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
>>>> return flags_string(buf, end, ptr, spec, fmt);
>>>> case 'O':
>>>> return kobject_string(buf, end, ptr, spec, fmt);
>>>> - case 'x':
>>>> - return pointer_string(buf, end, ptr, spec);
>>>> }
>>>>
>>>> /* default is to _not_ leak addresses, hash before printing */
>>>
>>> why remove this?
>>>
>>
>> The handling of %px is moved above the test for ptr being an ERR_PTR, so
>> that %px, ptr continues to be (roughly) equivalent to %08lx, (long)ptr.
>
> Ah.
> Pity the flow of the switch/case is disrupted.
Agree, but I don't think it's that bad.
> That now deserves a separate comment.
You mean a comment like /* %px means the user explicitly wanted the
pointer formatted as a hex value. */. Or do you want (the|an additional)
comment somewhere inside the switch()?
> But why not just extend check_pointer_msg?
Partly because that would rely on all %p<foo> actually eventually
passing ptr through to that (notably plain %p does not), partly because
the way check_pointer_msg works means that it has to return a string for
its caller to print - which is ok when the errcode is found, but breaks
if it needs to format a decimal. It can't even snprintf() to a stack
buffer and return that, because, well, you can't do that, and it would
be a silly recursive snprintf anyway.
OK, so perhaps you meant check_pointer() where it might be doable, but
again, with plain %p and possibly others we don't get to that.
Rasmus
next prev parent reply other threads:[~2019-08-30 22:50 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-30 21:46 [PATCH] printf: add support for printing symbolic error codes Rasmus Villemoes
2019-08-30 21:53 ` Joe Perches
2019-08-30 22:03 ` Rasmus Villemoes
2019-08-30 22:21 ` Joe Perches
2019-08-30 22:50 ` Rasmus Villemoes [this message]
2019-09-02 9:07 ` David Laight
2019-08-31 9:38 ` kbuild test robot
2019-09-02 15:29 ` Uwe Kleine-König
2019-09-04 9:13 ` Rasmus Villemoes
2019-09-04 9:21 ` Uwe Kleine-König
2019-09-04 16:19 ` Andy Shevchenko
2019-09-04 16:28 ` Uwe Kleine-König
2019-09-05 11:40 ` Rasmus Villemoes
2019-09-09 20:38 ` [PATCH v2] " Rasmus Villemoes
2019-09-10 15:26 ` Andy Shevchenko
2019-09-11 0:15 ` Joe Perches
2019-09-11 6:43 ` Rasmus Villemoes
2019-09-11 9:37 ` Uwe Kleine-König
2019-09-11 10:14 ` Rasmus Villemoes
2019-09-15 9:43 ` Pavel Machek
2019-09-16 12:23 ` Uwe Kleine-König
2019-09-16 13:23 ` Rasmus Villemoes
2019-09-16 13:36 ` Uwe Kleine-König
2019-09-17 6:59 ` [PATCH v3] " Rasmus Villemoes
2019-09-25 14:36 ` Petr Mladek
2019-09-29 20:09 ` Rasmus Villemoes
2019-10-02 8:34 ` Petr Mladek
2019-10-05 21:48 ` Andrew Morton
2019-10-11 13:36 ` [PATCH v4 0/1] printf: add support for printing symbolic error names Rasmus Villemoes
2019-10-11 13:36 ` [PATCH v4 1/1] " Rasmus Villemoes
2019-10-14 5:51 ` Uwe Kleine-König
2019-10-14 13:02 ` Petr Mladek
2019-10-14 13:10 ` Andy Shevchenko
2019-10-15 12:17 ` Rasmus Villemoes
2019-10-15 13:44 ` David Laight
2019-10-15 19:07 ` [PATCH v5] " Rasmus Villemoes
2019-10-16 13:49 ` Andy Shevchenko
2019-10-16 14:52 ` Petr Mladek
2019-10-16 16:31 ` Andy Shevchenko
2019-10-17 15:02 ` Petr Mladek
2019-11-26 14:04 ` [PATCH v4 0/1] " Geert Uytterhoeven
2019-11-27 8:54 ` Petr Mladek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=516ab378-e79a-4e1c-8099-ccb22dfd5508@rasmusvillemoes.dk \
--to=linux@rasmusvillemoes.dk \
--cc=akpm@linux-foundation.org \
--cc=jani.nikula@linux.intel.com \
--cc=jgross@suse.com \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pmladek@suse.com \
--cc=sergey.senozhatsky.work@gmail.com \
--cc=uwe@kleine-koenig.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).