Re: [PATCH v2 1/7] gpio: mockup: improve the debugfs input sanitization

From: Andy Shevchenko
Date: Tue May 30 2017 - 14:52:48 EST


On Tue, May 30, 2017 at 11:58 AM, Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
> We're currently only checking the first character of the input to the
> debugfs event files, so a string like '0sdfdsf' is valid and indicates
> a falling edge event.
>
> Be more strict and only allow '0', '1', '0\n' & '1\n'.
>
> While we're at it: move the sanitization code before the irq_enabled
> check so that we indicate an error on invalid input even if nobody is
> waiting for events.

> - int val;
> - char buf;
> + int rv, val;

> + rv = kstrtoint_from_user(usr_buf, size, 0, &val);
> + if (rv)
> + return rv;

> + if (val != 0 && val != 1)

Wouldn't be easier to have

u8 rv;

ret = kstrtu8_from_user();
if (ret >= 2)
return ...;

?

> + return -EINVAL;

--
With Best Regards,
Andy Shevchenko