Commit f571287b authored by LABBE Corentin's avatar LABBE Corentin Committed by Alexandre Belloni

rtc: Replace simple_strtoul by kstrtoul

The simple_strtoul function is obsolete.
This patch replace it by kstrtoul.

Since kstrtoul is more strict, it permits to filter some invalid input that
simple_strtoul accept. For example:
echo '1022xxx' > /sys/devices/pnp0/00:03/rtc/rtc0/max_user_freq
cat /sys/devices/pnp0/00:03/rtc/rtc0/max_user_freq
1022
Signed-off-by: default avatarLABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
parent 718a820a
...@@ -91,7 +91,12 @@ max_user_freq_store(struct device *dev, struct device_attribute *attr, ...@@ -91,7 +91,12 @@ max_user_freq_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t n) const char *buf, size_t n)
{ {
struct rtc_device *rtc = to_rtc_device(dev); struct rtc_device *rtc = to_rtc_device(dev);
unsigned long val = simple_strtoul(buf, NULL, 0); unsigned long val;
int err;
err = kstrtoul(buf, 0, &val);
if (err)
return err;
if (val >= 4096 || val == 0) if (val >= 4096 || val == 0)
return -EINVAL; return -EINVAL;
...@@ -175,7 +180,9 @@ wakealarm_store(struct device *dev, struct device_attribute *attr, ...@@ -175,7 +180,9 @@ wakealarm_store(struct device *dev, struct device_attribute *attr,
} else } else
adjust = 1; adjust = 1;
} }
alarm = simple_strtoul(buf_ptr, NULL, 0); retval = kstrtoul(buf_ptr, 0, &alarm);
if (retval)
return retval;
if (adjust) { if (adjust) {
alarm += now; alarm += now;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment