powerpc/rtas: Replaced simple_strtoull() with kstrtoull()
authorChen Huang <chenhuang5@huawei.com>
Wed, 26 May 2021 09:20:18 +0000 (09:20 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 4 May 2022 09:37:44 +0000 (19:37 +1000)
The simple_strtoull() function is deprecated in some situation, since
it does not check for the range overflow, use kstrtoull() instead.

Signed-off-by: Chen Huang <chenhuang5@huawei.com>
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210526092020.554341-1-chenhuang5@huawei.com
arch/powerpc/kernel/rtas-proc.c

index 6857a5b..1178867 100644 (file)
@@ -259,7 +259,6 @@ __initcall(proc_rtas_init);
 static int parse_number(const char __user *p, size_t count, u64 *val)
 {
        char buf[40];
-       char *end;
 
        if (count > 39)
                return -EINVAL;
@@ -269,11 +268,7 @@ static int parse_number(const char __user *p, size_t count, u64 *val)
 
        buf[count] = 0;
 
-       *val = simple_strtoull(buf, &end, 10);
-       if (*end && *end != '\n')
-               return -EINVAL;
-
-       return 0;
+       return kstrtoull(buf, 10, val);
 }
 
 /* ****************************************************************** */