2024-04-26 20:27:23

by Haoyang Liu

[permalink] [raw]
Subject: [PATCH] firmware_loader: Replace simple_strtol() with kstrtoint()

simple_strtol() is obsolete, use kstrtoint() instead.

Signed-off-by: Haoyang Liu <[email protected]>
Reviewed-by: Dan Carpenter <[email protected]>
---
drivers/base/firmware_loader/sysfs.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/base/firmware_loader/sysfs.c b/drivers/base/firmware_loader/sysfs.c
index c9c93b47d9a5..4de1cb243bee 100644
--- a/drivers/base/firmware_loader/sysfs.c
+++ b/drivers/base/firmware_loader/sysfs.c
@@ -47,8 +47,12 @@ static ssize_t timeout_show(const struct class *class, const struct class_attrib
static ssize_t timeout_store(const struct class *class, const struct class_attribute *attr,
const char *buf, size_t count)
{
- int tmp_loading_timeout = simple_strtol(buf, NULL, 10);
+ int tmp_loading_timeout;
+ int res;

+ res = kstrtoint(buf, 10, &tmp_loading_timeout);
+ if (res < 0)
+ return res;
if (tmp_loading_timeout < 0)
tmp_loading_timeout = 0;

@@ -157,8 +161,12 @@ static ssize_t firmware_loading_store(struct device *dev,
struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev);
struct fw_priv *fw_priv;
ssize_t written = count;
- int loading = simple_strtol(buf, NULL, 10);
+ int loading;
+ int res;

+ res = kstrtoint(buf, 10, &loading);
+ if (res < 0)
+ return res;
mutex_lock(&fw_lock);
fw_priv = fw_sysfs->fw_priv;
if (fw_state_is_aborted(fw_priv) || fw_state_is_done(fw_priv))
--
2.25.1



2024-04-29 20:50:54

by Russ Weight

[permalink] [raw]
Subject: Re: [PATCH] firmware_loader: Replace simple_strtol() with kstrtoint()

On Sat, Apr 27, 2024 at 04:25:32AM +0800, Haoyang Liu wrote:
> simple_strtol() is obsolete, use kstrtoint() instead.
>
> Signed-off-by: Haoyang Liu <[email protected]>
> Reviewed-by: Dan Carpenter <[email protected]>

Reviewed-by: Russ Weight <[email protected]>

> ---
> drivers/base/firmware_loader/sysfs.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/base/firmware_loader/sysfs.c b/drivers/base/firmware_loader/sysfs.c
> index c9c93b47d9a5..4de1cb243bee 100644
> --- a/drivers/base/firmware_loader/sysfs.c
> +++ b/drivers/base/firmware_loader/sysfs.c
> @@ -47,8 +47,12 @@ static ssize_t timeout_show(const struct class *class, const struct class_attrib
> static ssize_t timeout_store(const struct class *class, const struct class_attribute *attr,
> const char *buf, size_t count)
> {
> - int tmp_loading_timeout = simple_strtol(buf, NULL, 10);
> + int tmp_loading_timeout;
> + int res;
>
> + res = kstrtoint(buf, 10, &tmp_loading_timeout);
> + if (res < 0)
> + return res;
> if (tmp_loading_timeout < 0)
> tmp_loading_timeout = 0;
>
> @@ -157,8 +161,12 @@ static ssize_t firmware_loading_store(struct device *dev,
> struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev);
> struct fw_priv *fw_priv;
> ssize_t written = count;
> - int loading = simple_strtol(buf, NULL, 10);
> + int loading;
> + int res;
>
> + res = kstrtoint(buf, 10, &loading);
> + if (res < 0)
> + return res;
> mutex_lock(&fw_lock);
> fw_priv = fw_sysfs->fw_priv;
> if (fw_state_is_aborted(fw_priv) || fw_state_is_done(fw_priv))
> --
> 2.25.1
>

2024-05-04 18:23:28

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH] firmware_loader: Replace simple_strtol() with kstrtoint()

Sat, Apr 27, 2024 at 04:25:32AM +0800, Haoyang Liu kirjoitti:
> simple_strtol() is obsolete, use kstrtoint() instead.

It's not, but kstrtox() is preferred.

..


While I'm in support of this move, this might break userspace by making
stricter requirement on the input.

So this is just informative message.

--
With Best Regards,
Andy Shevchenko



2024-05-05 06:35:43

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] firmware_loader: Replace simple_strtol() with kstrtoint()

On Sat, May 04, 2024 at 09:22:08PM +0300, Andy Shevchenko wrote:
> Sat, Apr 27, 2024 at 04:25:32AM +0800, Haoyang Liu kirjoitti:
> > simple_strtol() is obsolete, use kstrtoint() instead.
>
> It's not, but kstrtox() is preferred.
>
> ...
>
>
> While I'm in support of this move, this might break userspace by making
> stricter requirement on the input.

Good point, I've dropped this so that others can test it better first.

thanks,

greg k-h