This patch removes the deprecated simple_strtol function from the option parsing logic in the loopback device driver. It also introduces a range check for the max_loop parameter to ensure that negative and out-of-range values (that cannot be represented by int max_loop) are ignored. Signed-off-by: Florian Knauf <florian.knauf@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Ewert <christian.ewert@xxxxxxxxxxxxxxxxxxxx> --- drivers/block/loop.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 102d79575895..acdd028ed486 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -2289,7 +2289,17 @@ module_exit(loop_exit); #ifndef MODULE static int __init max_loop_setup(char *str) { - max_loop = simple_strtol(str, NULL, 0); + long max_loop_long = 0; + + /* + * Range check for max_loop: negative values and values not + * representable by int are ignored. + */ + if (kstrtol(str, 0, &max_loop_long) == 0 && + max_loop_long >= 0 && + max_loop_long <= INT_MAX) + max_loop = (int) max_loop_long; + return 1; } -- 2.17.1