sh: intc: Replace simple_strtoul() with kstrtoul()

The function simple_strtoul() performs no error checking
in scenarios where the input value overflows the intended
output variable.

We can replace the use of simple_strtoul() with the safer
alternative kstrtoul(). This also allows us to print an
error message in case of failure.

Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
This commit is contained in:
Hongbo Li 2024-09-02 10:45:34 +08:00 committed by John Paul Adrian Glaubitz
parent 977fae6d61
commit c3e878ca7b

View file

@ -32,8 +32,11 @@ store_intc_userimask(struct device *dev,
const char *buf, size_t count) const char *buf, size_t count)
{ {
unsigned long level; unsigned long level;
int ret;
level = simple_strtoul(buf, NULL, 10); ret = kstrtoul(buf, 10, &level);
if (ret != 0)
return ret;
/* /*
* Minimal acceptable IRQ levels are in the 2 - 16 range, but * Minimal acceptable IRQ levels are in the 2 - 16 range, but