Re: [PATCH] vsprintf: Do not break early boot with probing addresses
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2019-05-14 19:13:22
Also in:
linux-arch, linux-s390, lkml
Hi Steve, On Tue, May 14, 2019 at 8:37 PM Steven Rostedt [off-list ref] wrote:
On Tue, 14 May 2019 11:02:17 +0200 Geert Uytterhoeven [off-list ref] wrote:quoted
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)" -ssOr: if (ptr < PAGE_SIZE) return ptr ? "(null+)" : "(null)";Hmm, that is useful.quoted
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.quoted
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.
I would immediately understand there's a missing IS_ERR() check in a
function that can return -EINVAL, without having to add a new printk()
to find out what kind of bogus value has been received, and without
having to reboot, and trying to reproduce...
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds