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: LABBE Corentin <clabbe.montjoie@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
This commit is contained in:
Родитель
718a820a30
Коммит
f571287bda
|
@ -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,
|
||||||
} 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;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче