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)
|
||||
{
|
||||
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)
|
||||
return -EINVAL;
|
||||
|
@ -175,7 +180,9 @@ wakealarm_store(struct device *dev, struct device_attribute *attr,
|
|||
} else
|
||||
adjust = 1;
|
||||
}
|
||||
alarm = simple_strtoul(buf_ptr, NULL, 0);
|
||||
retval = kstrtoul(buf_ptr, 0, &alarm);
|
||||
if (retval)
|
||||
return retval;
|
||||
if (adjust) {
|
||||
alarm += now;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче