Re: [PATCH 4/4] mm: Replace simple_strtoul() with kstrtoul()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sorry I wasn't sure which test to test with. I'll revert this patch then.

On Tue, Nov 5, 2024 at 8:38 AM Shakeel Butt <shakeel.butt@xxxxxxxxx> wrote:
On Mon, Nov 04, 2024 at 02:27:37PM -0800, Keren Sun wrote:
> simple_strtoul() has caveat and is obsolete, use kstrtoul() instead in mmcg.

Did you test this patch? I don't think kstrtoul() can be used here as it
expects a string containing a single number.

>
> Signed-off-by: Keren Sun <kerensun@xxxxxxxxxx>
> ---
>  mm/memcontrol-v1.c | 17 ++++++++---------
>  1 file changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/mm/memcontrol-v1.c b/mm/memcontrol-v1.c
> index 5e1854623824..260b356cea5a 100644
> --- a/mm/memcontrol-v1.c
> +++ b/mm/memcontrol-v1.c
> @@ -1,5 +1,6 @@
>  // SPDX-License-Identifier: GPL-2.0-or-later

> +#include "linux/kstrtox.h"
>  #include <linux/memcontrol.h>
>  #include <linux/swap.h>
>  #include <linux/mm_inline.h>
> @@ -1922,17 +1923,15 @@ static ssize_t memcg_write_event_control(struct kernfs_open_file *of,

>       buf = strstrip(buf);

> -     efd = simple_strtoul(buf, &endp, 10);
> -     if (*endp != ' ')
> +     kstrtoul(buf, 10, efd);
> +     if (*buf != ' ')
>               return -EINVAL;
> -     buf = endp + 1;
> +     buf++;

> -     cfd = simple_strtoul(buf, &endp, 10);
> -     if (*endp == '\0')
> -             buf = endp;
> -     else if (*endp == ' ')
> -             buf = endp + 1;
> -     else
> +     kstrtoul(buf, 10, cfd);
> +     if (*buf == ' ')
> +             buf++;
> +     else if (*buf != '\0')
>               return -EINVAL;

>       event = kzalloc(sizeof(*event), GFP_KERNEL);
> --
> 2.47.0.163.g1226f6d8fa-goog
>

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux