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

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

 



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