提交 a81a5a17 编写于 作者: K Kees Cook 提交者: Linus Torvalds

lib: add "on"/"off" support to kstrtobool

Add support for "on" and "off" when converting to boolean.
Signed-off-by: NKees Cook <keescook@chromium.org>
Cc: Amitkumar Karwar <akarwar@marvell.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Joe Perches <joe@perches.com>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nishant Sarmukadam <nishants@marvell.com>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Steve French <sfrench@samba.org>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 1404297e
...@@ -326,9 +326,9 @@ EXPORT_SYMBOL(kstrtos8); ...@@ -326,9 +326,9 @@ EXPORT_SYMBOL(kstrtos8);
* @s: input string * @s: input string
* @res: result * @res: result
* *
* This routine returns 0 iff the first character is one of 'Yy1Nn0'. * This routine returns 0 iff the first character is one of 'Yy1Nn0', or
* Otherwise it will return -EINVAL. Value pointed to by res is * [oO][NnFf] for "on" and "off". Otherwise it will return -EINVAL. Value
* updated upon finding a match. * pointed to by res is updated upon finding a match.
*/ */
int kstrtobool(const char *s, bool *res) int kstrtobool(const char *s, bool *res)
{ {
...@@ -346,6 +346,20 @@ int kstrtobool(const char *s, bool *res) ...@@ -346,6 +346,20 @@ int kstrtobool(const char *s, bool *res)
case '0': case '0':
*res = false; *res = false;
return 0; return 0;
case 'o':
case 'O':
switch (s[1]) {
case 'n':
case 'N':
*res = true;
return 0;
case 'f':
case 'F':
*res = false;
return 0;
default:
break;
}
default: default:
break; break;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册