Re: [PATCH] fbdev/core: Replace deprecated simple_strtol with kstrtol
From: Jani Nikula <jani.nikula@linux.intel.com>
Date: 2024-02-01 10:04:00
Also in:
dri-devel, lkml
On Thu, 01 Feb 2024, Cong Liu [off-list ref] wrote:
This patch replaces the use of the deprecated simple_strtol [1] function in the modedb.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 <redacted>
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.
quoted hunk ↗ jump to hunk
--- drivers/video/fbdev/core/modedb.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)diff --git a/drivers/video/fbdev/core/modedb.c b/drivers/video/fbdev/core/modedb.c index 7196b055f2bd..eebbbc7e2aa3 100644 --- a/drivers/video/fbdev/core/modedb.c +++ b/drivers/video/fbdev/core/modedb.c@@ -661,7 +661,7 @@ int fb_find_mode(struct fb_var_screeninfo *var, namelen = i; if (!refresh_specified && !bpp_specified && !yres_specified) { - refresh = simple_strtol(&name[i+1], NULL, + refresh = kstrtol(&name[i+1], NULL, 10); refresh_specified = 1; if (cvt || rb)@@ -672,7 +672,7 @@ int fb_find_mode(struct fb_var_screeninfo *var, case '-': namelen = i; if (!bpp_specified && !yres_specified) { - bpp = simple_strtol(&name[i+1], NULL, + bpp = kstrtol(&name[i+1], NULL, 10); bpp_specified = 1; if (cvt || rb)@@ -682,7 +682,7 @@ int fb_find_mode(struct fb_var_screeninfo *var, break; case 'x': if (!yres_specified) { - yres = simple_strtol(&name[i+1], NULL, + yres = kstrtol(&name[i+1], NULL, 10); yres_specified = 1; } else@@ -719,7 +719,7 @@ int fb_find_mode(struct fb_var_screeninfo *var, } } if (i < 0 && yres_specified) { - xres = simple_strtol(name, NULL, 10); + xres = kstrtol(name, NULL, 10); res_specified = 1; } done:
-- Jani Nikula, Intel