Re: [PATCH] hwmon: Relax name attribute validation for new APIs

From: Jean Delvare
Date: Tue Jan 31 2017 - 04:07:38 EST


Hi Guenter, Dmitry,

On Fri, 27 Jan 2017 19:49:49 -0800, Guenter Roeck wrote:
> While invalid name attributes are really not desirable and do mess up
> libsensors, enforcing valid names has the detrimental effect of driving
> users away from using the new hardware monitoring API, especially those
> registering name attributes violating the ABI restrictions. Another
> undesirable side effect is that this violation and the resulting error
> may only be discovered some time after a conversion to the new API,
> which in turn may trigger a revert of that conversion.
>
> To solve the problem, relax validation and only issue a warning instead
> of returning an error if a name attribute violating the ABI is provided.
> This lets callers continue to provide invalid name attributes while
> notifying them about it.
>
> Many thanks are due to Dmitry Torokhov for the idea.
>
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---
> drivers/hwmon/hwmon.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
> index affff8195fff..53c54a81f7ad 100644
> --- a/drivers/hwmon/hwmon.c
> +++ b/drivers/hwmon/hwmon.c
> @@ -544,9 +544,10 @@ __hwmon_device_register(struct device *dev, const char *name, void *drvdata,
> struct device *hdev;
> int i, j, err, id;
>
> - /* Do not accept invalid characters in hwmon name attribute */
> + /* Complain about invalid characters in hwmon name attribute */
> if (name && (!strlen(name) || strpbrk(name, "-* \t\n")))
> - return ERR_PTR(-EINVAL);
> + dev_warn(dev, "hwmon: '%s' is not a valid name attribute\n",
> + name);

May I suggest adding ", please fix"?

>
> id = ida_simple_get(&hwmon_ida, 0, 0, GFP_KERNEL);
> if (id < 0)

Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>

Do I understand correctly that in the long run we will make it a fatal
error again?

--
Jean Delvare
SUSE L3 Support