fbdev/sh_mobile_lcdcfb: Replace deprecated simple_strtol with kstrtol

Message ID 20240201070127.3290465-1-liucong2@kylinos.cn
State New
Headers
Series fbdev/sh_mobile_lcdcfb: Replace deprecated simple_strtol with kstrtol |

Commit Message

Cong Liu Feb. 1, 2024, 7:01 a.m. UTC
  This patch replaces the use of the deprecated simple_strtol [1] function
in the sh_mobile_lcdcfb.c file with the recommended kstrtol function.
This change improves error handling and boundary checks.

[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#simple-strtol-simple-strtoll-simple-strtoul-simple-strtoull

Signed-off-by: Cong Liu <liucong2@kylinos.cn>
---
 drivers/video/fbdev/sh_mobile_lcdcfb.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Jani Nikula Feb. 1, 2024, 10:04 a.m. UTC | #1
On Thu, 01 Feb 2024, Cong Liu <liucong2@kylinos.cn> wrote:
> This patch replaces the use of the deprecated simple_strtol [1] function
> in the sh_mobile_lcdcfb.c file with the recommended kstrtol function.
> This change improves error handling and boundary checks.
>
> [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#simple-strtol-simple-strtoll-simple-strtoul-simple-strtoull
>
> Signed-off-by: Cong Liu <liucong2@kylinos.cn>

This is completely wrong, and obviously not tested at all.

The recommended replacements are *not* drop-in replacements. Look into
the documentation of the functions.

BR,
Jani.

> ---
>  drivers/video/fbdev/sh_mobile_lcdcfb.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/video/fbdev/sh_mobile_lcdcfb.c b/drivers/video/fbdev/sh_mobile_lcdcfb.c
> index eb2297b37504..5fc7d74b273e 100644
> --- a/drivers/video/fbdev/sh_mobile_lcdcfb.c
> +++ b/drivers/video/fbdev/sh_mobile_lcdcfb.c
> @@ -1278,11 +1278,11 @@ overlay_position_store(struct device *dev, struct device_attribute *attr,
>  	int pos_x;
>  	int pos_y;
>  
> -	pos_x = simple_strtol(buf, &endp, 10);
> +	pos_x = kstrtol(buf, &endp, 10);
>  	if (*endp != ',')
>  		return -EINVAL;
>  
> -	pos_y = simple_strtol(endp + 1, &endp, 10);
> +	pos_y = kstrtol(endp + 1, &endp, 10);
>  	if (isspace(*endp))
>  		endp++;
  

Patch

diff --git a/drivers/video/fbdev/sh_mobile_lcdcfb.c b/drivers/video/fbdev/sh_mobile_lcdcfb.c
index eb2297b37504..5fc7d74b273e 100644
--- a/drivers/video/fbdev/sh_mobile_lcdcfb.c
+++ b/drivers/video/fbdev/sh_mobile_lcdcfb.c
@@ -1278,11 +1278,11 @@  overlay_position_store(struct device *dev, struct device_attribute *attr,
 	int pos_x;
 	int pos_y;
 
-	pos_x = simple_strtol(buf, &endp, 10);
+	pos_x = kstrtol(buf, &endp, 10);
 	if (*endp != ',')
 		return -EINVAL;
 
-	pos_y = simple_strtol(endp + 1, &endp, 10);
+	pos_y = kstrtol(endp + 1, &endp, 10);
 	if (isspace(*endp))
 		endp++;