* [PATCH 20/30] mm/damon: Use kstrtobool() instead of strtobool()
[not found] <cover.1667336095.git.christophe.jaillet@wanadoo.fr>
@ 2022-11-01 21:14 ` Christophe JAILLET
2022-11-01 22:00 ` SeongJae Park
2022-11-01 21:14 ` [PATCH 21/30] mm: " Christophe JAILLET
1 sibling, 1 reply; 6+ messages in thread
From: Christophe JAILLET @ 2022-11-01 21:14 UTC (permalink / raw)
To: SeongJae Park, Andrew Morton
Cc: linux-kernel, kernel-janitors, Christophe JAILLET, damon, linux-mm
strtobool() is the same as kstrtobool().
However, the latter is more used within the kernel.
In order to remove strtobool() and slightly simplify kstrtox.h, switch to
the other function name.
While at it, include the corresponding header file (<linux/kstrtox.h>)
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
This patch is part of a serie that axes all usages of strtobool().
Each patch can be applied independently from the other ones.
The last patch of the serie removes the definition of strtobool().
You may not be in copy of the cover letter. So, if needed, it is available
at [1].
[1]: https://lore.kernel.org/all/cover.1667336095.git.christophe.jaillet@wanadoo.fr/
---
mm/damon/lru_sort.c | 3 ++-
mm/damon/reclaim.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/mm/damon/lru_sort.c b/mm/damon/lru_sort.c
index 2a532e3983df..7b8fce2f67a8 100644
--- a/mm/damon/lru_sort.c
+++ b/mm/damon/lru_sort.c
@@ -8,6 +8,7 @@
#define pr_fmt(fmt) "damon-lru-sort: " fmt
#include <linux/damon.h>
+#include <linux/kstrtox.h>
#include <linux/module.h>
#include "modules-common.h"
@@ -241,7 +242,7 @@ static int damon_lru_sort_enabled_store(const char *val,
bool enable;
int err;
- err = strtobool(val, &enable);
+ err = kstrtobool(val, &enable);
if (err)
return err;
diff --git a/mm/damon/reclaim.c b/mm/damon/reclaim.c
index e57604bec06d..e82631f39481 100644
--- a/mm/damon/reclaim.c
+++ b/mm/damon/reclaim.c
@@ -8,6 +8,7 @@
#define pr_fmt(fmt) "damon-reclaim: " fmt
#include <linux/damon.h>
+#include <linux/kstrtox.h>
#include <linux/module.h>
#include "modules-common.h"
@@ -187,7 +188,7 @@ static int damon_reclaim_enabled_store(const char *val,
bool enable;
int err;
- err = strtobool(val, &enable);
+ err = kstrtobool(val, &enable);
if (err)
return err;
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 21/30] mm: Use kstrtobool() instead of strtobool()
[not found] <cover.1667336095.git.christophe.jaillet@wanadoo.fr>
2022-11-01 21:14 ` [PATCH 20/30] mm/damon: Use kstrtobool() instead of strtobool() Christophe JAILLET
@ 2022-11-01 21:14 ` Christophe JAILLET
2022-11-01 22:47 ` Kees Cook
2022-11-05 2:58 ` Pasha Tatashin
1 sibling, 2 replies; 6+ messages in thread
From: Christophe JAILLET @ 2022-11-01 21:14 UTC (permalink / raw)
To: Pasha Tatashin, Andrew Morton, Kees Cook
Cc: linux-kernel, kernel-janitors, Christophe JAILLET, linux-mm,
linux-hardening
strtobool() is the same as kstrtobool().
However, the latter is more used within the kernel.
In order to remove strtobool() and slightly simplify kstrtox.h, switch to
the other function name.
While at it, include the corresponding header file (<linux/kstrtox.h>)
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
This patch is part of a serie that axes all usages of strtobool().
Each patch can be applied independently from the other ones.
The last patch of the serie removes the definition of strtobool().
You may not be in copy of the cover letter. So, if needed, it is available
at [1].
[1]: https://lore.kernel.org/all/cover.1667336095.git.christophe.jaillet@wanadoo.fr/
---
mm/page_table_check.c | 3 ++-
mm/usercopy.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/mm/page_table_check.c b/mm/page_table_check.c
index 433dbce13fe1..93e633c1d587 100644
--- a/mm/page_table_check.c
+++ b/mm/page_table_check.c
@@ -4,6 +4,7 @@
* Copyright (c) 2021, Google LLC.
* Pasha Tatashin <pasha.tatashin@soleen.com>
*/
+#include <linux/kstrtox.h>
#include <linux/mm.h>
#include <linux/page_table_check.h>
@@ -23,7 +24,7 @@ EXPORT_SYMBOL(page_table_check_disabled);
static int __init early_page_table_check_param(char *buf)
{
- return strtobool(buf, &__page_table_check_enabled);
+ return kstrtobool(buf, &__page_table_check_enabled);
}
early_param("page_table_check", early_page_table_check_param);
diff --git a/mm/usercopy.c b/mm/usercopy.c
index c1ee15a98633..4c3164beacec 100644
--- a/mm/usercopy.c
+++ b/mm/usercopy.c
@@ -12,6 +12,7 @@
#include <linux/mm.h>
#include <linux/highmem.h>
+#include <linux/kstrtox.h>
#include <linux/slab.h>
#include <linux/sched.h>
#include <linux/sched/task.h>
@@ -258,7 +259,7 @@ static bool enable_checks __initdata = true;
static int __init parse_hardened_usercopy(char *str)
{
- if (strtobool(str, &enable_checks))
+ if (kstrtobool(str, &enable_checks))
pr_warn("Invalid option string for hardened_usercopy: '%s'\n",
str);
return 1;
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 20/30] mm/damon: Use kstrtobool() instead of strtobool()
2022-11-01 21:14 ` [PATCH 20/30] mm/damon: Use kstrtobool() instead of strtobool() Christophe JAILLET
@ 2022-11-01 22:00 ` SeongJae Park
0 siblings, 0 replies; 6+ messages in thread
From: SeongJae Park @ 2022-11-01 22:00 UTC (permalink / raw)
To: Christophe JAILLET
Cc: SeongJae Park, Andrew Morton, linux-kernel, kernel-janitors,
damon, linux-mm
On Tue, 1 Nov 2022 22:14:08 +0100 Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote:
> strtobool() is the same as kstrtobool().
> However, the latter is more used within the kernel.
>
> In order to remove strtobool() and slightly simplify kstrtox.h, switch to
> the other function name.
>
> While at it, include the corresponding header file (<linux/kstrtox.h>)
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: SeongJae Park <sj@kernel.org>
Thanks,
SJ
[...]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 21/30] mm: Use kstrtobool() instead of strtobool()
2022-11-01 21:14 ` [PATCH 21/30] mm: " Christophe JAILLET
@ 2022-11-01 22:47 ` Kees Cook
2022-11-02 11:29 ` Andy Shevchenko
2022-11-05 2:58 ` Pasha Tatashin
1 sibling, 1 reply; 6+ messages in thread
From: Kees Cook @ 2022-11-01 22:47 UTC (permalink / raw)
To: Christophe JAILLET
Cc: Pasha Tatashin, Andrew Morton, linux-kernel, kernel-janitors,
linux-mm, linux-hardening
On Tue, Nov 01, 2022 at 10:14:09PM +0100, Christophe JAILLET wrote:
> strtobool() is the same as kstrtobool().
> However, the latter is more used within the kernel.
>
> In order to remove strtobool() and slightly simplify kstrtox.h, switch to
> the other function name.
>
> While at it, include the corresponding header file (<linux/kstrtox.h>)
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> This patch is part of a serie that axes all usages of strtobool().
> Each patch can be applied independently from the other ones.
>
> The last patch of the serie removes the definition of strtobool().
>
> You may not be in copy of the cover letter. So, if needed, it is available
> at [1].
>
> [1]: https://lore.kernel.org/all/cover.1667336095.git.christophe.jaillet@wanadoo.fr/
This seems in keeping with the removal of the simple_*str*() helpers:
https://docs.kernel.org/process/deprecated.html#simple-strtol-simple-strtoll-simple-strtoul-simple-strtoull
Reviewed-by: Kees Cook <keescook@chromium.org>
--
Kees Cook
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 21/30] mm: Use kstrtobool() instead of strtobool()
2022-11-01 22:47 ` Kees Cook
@ 2022-11-02 11:29 ` Andy Shevchenko
0 siblings, 0 replies; 6+ messages in thread
From: Andy Shevchenko @ 2022-11-02 11:29 UTC (permalink / raw)
To: Kees Cook
Cc: Christophe JAILLET, Pasha Tatashin, Andrew Morton, linux-kernel,
kernel-janitors, linux-mm, linux-hardening
On Tue, Nov 01, 2022 at 03:47:20PM -0700, Kees Cook wrote:
> On Tue, Nov 01, 2022 at 10:14:09PM +0100, Christophe JAILLET wrote:
...
> This seems in keeping with the removal of the simple_*str*() helpers:
> https://docs.kernel.org/process/deprecated.html#simple-strtol-simple-strtoll-simple-strtoul-simple-strtoull
That piece of the documentation is partially wrong. Nobody will going to remove
simple_strtox() due to their convenience when it's related to parse something
from the stream. Yes, overflow is possible, but here is a trade-off.
Note, kstrtox() may not work at early boot stages when we need to parse stream
(with mixed digits and text and symbols) without acquiring space from the heap,
i.o.w. RO strings.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 21/30] mm: Use kstrtobool() instead of strtobool()
2022-11-01 21:14 ` [PATCH 21/30] mm: " Christophe JAILLET
2022-11-01 22:47 ` Kees Cook
@ 2022-11-05 2:58 ` Pasha Tatashin
1 sibling, 0 replies; 6+ messages in thread
From: Pasha Tatashin @ 2022-11-05 2:58 UTC (permalink / raw)
To: Christophe JAILLET
Cc: Andrew Morton, Kees Cook, linux-kernel, kernel-janitors,
linux-mm, linux-hardening
On Tue, Nov 1, 2022 at 5:15 PM Christophe JAILLET
<christophe.jaillet@wanadoo.fr> wrote:
>
> strtobool() is the same as kstrtobool().
> However, the latter is more used within the kernel.
>
> In order to remove strtobool() and slightly simplify kstrtox.h, switch to
> the other function name.
>
> While at it, include the corresponding header file (<linux/kstrtox.h>)
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> This patch is part of a serie that axes all usages of strtobool().
> Each patch can be applied independently from the other ones.
>
> The last patch of the serie removes the definition of strtobool().
>
> You may not be in copy of the cover letter. So, if needed, it is available
> at [1].
>
> [1]: https://lore.kernel.org/all/cover.1667336095.git.christophe.jaillet@wanadoo.fr/
> ---
> mm/page_table_check.c | 3 ++-
> mm/usercopy.c | 3 ++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/mm/page_table_check.c b/mm/page_table_check.c
> index 433dbce13fe1..93e633c1d587 100644
> --- a/mm/page_table_check.c
> +++ b/mm/page_table_check.c
> @@ -4,6 +4,7 @@
> * Copyright (c) 2021, Google LLC.
> * Pasha Tatashin <pasha.tatashin@soleen.com>
> */
> +#include <linux/kstrtox.h>
> #include <linux/mm.h>
> #include <linux/page_table_check.h>
>
> @@ -23,7 +24,7 @@ EXPORT_SYMBOL(page_table_check_disabled);
>
> static int __init early_page_table_check_param(char *buf)
> {
> - return strtobool(buf, &__page_table_check_enabled);
> + return kstrtobool(buf, &__page_table_check_enabled);
> }
Acked-by: Pasha Tatashin <pasha.tatashin@soleen.com>
>
> early_param("page_table_check", early_page_table_check_param);
> diff --git a/mm/usercopy.c b/mm/usercopy.c
> index c1ee15a98633..4c3164beacec 100644
> --- a/mm/usercopy.c
> +++ b/mm/usercopy.c
> @@ -12,6 +12,7 @@
>
> #include <linux/mm.h>
> #include <linux/highmem.h>
> +#include <linux/kstrtox.h>
> #include <linux/slab.h>
> #include <linux/sched.h>
> #include <linux/sched/task.h>
> @@ -258,7 +259,7 @@ static bool enable_checks __initdata = true;
>
> static int __init parse_hardened_usercopy(char *str)
> {
> - if (strtobool(str, &enable_checks))
> + if (kstrtobool(str, &enable_checks))
> pr_warn("Invalid option string for hardened_usercopy: '%s'\n",
> str);
> return 1;
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-11-05 2:59 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <cover.1667336095.git.christophe.jaillet@wanadoo.fr>
2022-11-01 21:14 ` [PATCH 20/30] mm/damon: Use kstrtobool() instead of strtobool() Christophe JAILLET
2022-11-01 22:00 ` SeongJae Park
2022-11-01 21:14 ` [PATCH 21/30] mm: " Christophe JAILLET
2022-11-01 22:47 ` Kees Cook
2022-11-02 11:29 ` Andy Shevchenko
2022-11-05 2:58 ` Pasha Tatashin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox