On Fri, 03 Nov 2023, Andy Shevchenko wrote: > sscanf() is a heavy one and moreover requires additional boundary checks. > Convert driver to use kstrtou8() in gpio_trig_inverted_store(). > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > drivers/leds/trigger/ledtrig-gpio.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/leds/trigger/ledtrig-gpio.c b/drivers/leds/trigger/ledtrig-gpio.c > index d91ae7fde3cf..8a30f9228186 100644 > --- a/drivers/leds/trigger/ledtrig-gpio.c > +++ b/drivers/leds/trigger/ledtrig-gpio.c > @@ -53,14 +53,12 @@ static ssize_t gpio_trig_brightness_store(struct device *dev, > struct device_attribute *attr, const char *buf, size_t n) > { > struct gpio_trig_data *gpio_data = led_trigger_get_drvdata(dev); > - unsigned desired_brightness; > + u8 desired_brightness; > int ret; > > - ret = sscanf(buf, "%u", &desired_brightness); > - if (ret < 1 || desired_brightness > 255) { > - dev_err(dev, "invalid value\n"); > - return -EINVAL; > - } > + ret = kstrtou8(buf, 10, &desired_brightness); Where does 10 come from? > + if (ret) > + return ret; > > gpio_data->desired_brightness = desired_brightness; > > -- > 2.40.0.1.gaa8946217a0b > -- Lee Jones [李琼斯]