Re: [PATCH] vsprintf: Do not break early boot with probing addresses

From
Steven Rostedt <rostedt@goodmis.org>
Date
2019-05-14 18:37:55
Also in
linux-arch, linux-s390, lkml
Reply to
Geert Uytterhoeven, 2019-05-14
[ Purple is a nice shade on the bike shed. ;-) ]

On Tue, 14 May 2019 11:02:17 +0200
Geert Uytterhoeven [off-list ref] wrote:
On Tue, May 14, 2019 at 10:29 AM David Laight [off-list ref] wrote:
quoted
quoted
And I like Steven's "(fault)" idea.
How about this:

      if ptr < PAGE_SIZE              -> "(null)"
      if IS_ERR_VALUE(ptr)            -> "(fault)"

      -ss  
Or:
        if (ptr < PAGE_SIZE)
                return ptr ? "(null+)" : "(null)";
Hmm, that is useful.
quoted
        if IS_ERR_VALUE(ptr)
                return "(errno)"  
I still prefer "(fault)" as is pretty much all I would expect from a
pointer dereference, even if it is just bad parsing of, say, a parsing
an MAC address. "fault" is generic enough. "errno" will be confusing,
because that's normally a variable not a output.
Do we care about the value? "(-E%u)"?
That too could be confusing. What would (-E22) be considered by a user
doing an sprintf() on some string. I know that would confuse me, or I
would think that it was what the %pX displayed, and wonder why it
displayed it that way. Whereas "(fault)" is quite obvious for any %p
use case.

-- Steve
Thread (39 messages) 39 messages, 11 authors, last reply 2019-05-15
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help