[PATCH -next v3] sh: intc: replace simple_strtoul to kstrtoul

Hongbo Li <[email protected]>
Newsgroups gmane.linux.ports.sh.devel
Message-ID <[email protected]>
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 the simple_strtoul with the safer
alternatives kstrtoul. For fail case, we also print the extra
message.

Signed-off-by: Hongbo Li <[email protected]>

---
v3:
  - Separate declaration and assignment to make it more consistent.

v2: https://lore.kernel.org/all/[email protected]/T/
  - Pass the error code returned by kstrtoul() suggested by Geert.

v1: https://lore.kernel.org/all/[email protected]/T/
---
 drivers/sh/intc/userimask.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/sh/intc/userimask.c b/drivers/sh/intc/userimask.c
index abe9091827cd..a363f77881d1 100644
--- a/drivers/sh/intc/userimask.c
+++ b/drivers/sh/intc/userimask.c
@@ -32,8 +32,11 @@ store_intc_userimask(struct device *dev,
 		     const char *buf, size_t count)
 {
 	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
-- 
2.34.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.