Thread (39 messages) flat view 39 messages, 11 authors, 2019-05-15

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

From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2019-05-13 09:13:30
Also in: linux-arch, linux-s390, lkml

On Mon, May 13, 2019 at 08:52:41AM +0000, David Laight wrote:
From: christophe leroy
quoted
Sent: 10 May 2019 18:35
Le 10/05/2019 à 18:24, Steven Rostedt a écrit :
quoted
On Fri, 10 May 2019 10:42:13 +0200
Petr Mladek [off-list ref] wrote:
quoted
quoted
quoted
-	if (probe_kernel_address(ptr, byte))
+	if ((unsigned long)ptr < PAGE_SIZE || IS_ERR_VALUE(ptr))
  		return "(efault)";
"efault" looks a bit like a spellling mistake for "default".
It's a special, thus it's in parenthesis, though somebody can be
misguided.
quoted
Usually, < PAGE_SIZE means NULL pointer dereference (via the member of a
struct)
Maybe the caller should pass in a short buffer so that you can return
"(err-%d)"
or "(null+%#x)" ?
In both cases it should be limited to the size of pointer (8 or 16
characters). Something like "(e:%4d)" would work for error codes.

The "(null)" is good enough by itself and already an established
practice..

-- 
With Best Regards,
Andy Shevchenko

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help