On Thu, 01 Feb 2024, Cong Liu <liucong2@xxxxxxxxxx> 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 <liucong2@xxxxxxxxxx> 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/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