Re: [PATCH v6 9/9] vsprintf: Avoid confusion between invalid address and value

From: Andy Shevchenko
Date: Wed Feb 13 2019 - 08:55:02 EST


On Tue, Feb 12, 2019 at 04:45:30PM +0100, Petr Mladek wrote:
> On Fri 2019-02-08 19:27:17, Andy Shevchenko wrote:
> > On Fri, Feb 08, 2019 at 04:23:10PM +0100, Petr Mladek wrote:
> > > We are able to detect invalid values handled by %p[iI] printk specifier.
> > > The current error message is "invalid address". It might cause confusion
> > > against "(efault)" reported by the generic valid_pointer_address() check.
> > >
> > > Let's unify the style and use the more appropriate error code description
> > > "(einval)".
> >
> > The proper one should be "invalid address family". The proposed change
> > increases confusion.
>
> I am confused. Is there any error code for "invalid address family"?

I'm not sure.
There is EAFNOSUPPORT. I don't know if it suits better.

> EINVAL is standard error code used when a wrong value is passed
> as a parameter. In this case, the code is not able to handle
> the given address family.

This is possible, but it will produce more generic message.


> IMHO, the original message "invalid address" has been even more
> confusing. Oops would happen if it was invalid. In fact, the value
> was invalid.

I agree with this. "Address" may be treated as "memory address", while in
practice it's a "network address".

--
With Best Regards,
Andy Shevchenko