Re: [PATCH] vsprintf: Make "null" pointer dereference more robust

Andy Shevchenko
2018-03-05T15:25:16Z

On Mon, 2018-03-05 at 16:16 +0100, Rasmus Villemoes wrote:
> On 2 March 2018 at 13:53, Petr Mladek <pmladek@suse.com> wrote:

> > - if (!ptr && *fmt != 'K' && *fmt != 'x') {
> > + if ((unsigned long)ptr < PAGE_SIZE && *fmt != 'K' && *fmt !=
> > 'x') {
>
> ISTM that accidentally passing an ERR_PTR would be just as likely as
> passing a NULL pointer (or some small offset from one), so if we do
> this, shouldn't the test also cover IS_ERR values?

We (will) have such check in two places, perhaps a helper

static bool is_pointer_valid(void *ptr)
{
return !IS_ERR(ptr) && (unsigned long)ptr >= PAGE_SIZE;
}

?

--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy