提交 9319cec8 编写于 作者: H Hidetoshi Seto 提交者: H. Peter Anvin

x86, mce: use strict_strtoull

Use strict_strtoull instead of simple_strtoull.
Signed-off-by: NHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Cc: Andi Kleen <andi@firstfloor.org>
Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
上级 8780e8e0
...@@ -1059,18 +1059,17 @@ static ssize_t show_bank(struct sys_device *s, struct sysdev_attribute *attr, ...@@ -1059,18 +1059,17 @@ static ssize_t show_bank(struct sys_device *s, struct sysdev_attribute *attr,
} }
static ssize_t set_bank(struct sys_device *s, struct sysdev_attribute *attr, static ssize_t set_bank(struct sys_device *s, struct sysdev_attribute *attr,
const char *buf, size_t siz) const char *buf, size_t size)
{ {
char *end; u64 new;
u64 new = simple_strtoull(buf, &end, 0);
if (end == buf) if (strict_strtoull(buf, 0, &new) < 0)
return -EINVAL; return -EINVAL;
bank[attr - bank_attrs] = new; bank[attr - bank_attrs] = new;
mce_restart(); mce_restart();
return end-buf; return size;
} }
static ssize_t static ssize_t
......
...@@ -269,14 +269,12 @@ SHOW_FIELDS(interrupt_enable) ...@@ -269,14 +269,12 @@ SHOW_FIELDS(interrupt_enable)
SHOW_FIELDS(threshold_limit) SHOW_FIELDS(threshold_limit)
static ssize_t static ssize_t
store_interrupt_enable(struct threshold_block *b, const char *buf, size_t count) store_interrupt_enable(struct threshold_block *b, const char *buf, size_t size)
{ {
struct thresh_restart tr; struct thresh_restart tr;
unsigned long new; unsigned long new;
char *end;
new = simple_strtoul(buf, &end, 0); if (strict_strtoul(buf, 0, &new) < 0)
if (end == buf)
return -EINVAL; return -EINVAL;
b->interrupt_enable = !!new; b->interrupt_enable = !!new;
...@@ -287,18 +285,16 @@ store_interrupt_enable(struct threshold_block *b, const char *buf, size_t count) ...@@ -287,18 +285,16 @@ store_interrupt_enable(struct threshold_block *b, const char *buf, size_t count)
smp_call_function_single(b->cpu, threshold_restart_bank, &tr, 1); smp_call_function_single(b->cpu, threshold_restart_bank, &tr, 1);
return end - buf; return size;
} }
static ssize_t static ssize_t
store_threshold_limit(struct threshold_block *b, const char *buf, size_t count) store_threshold_limit(struct threshold_block *b, const char *buf, size_t size)
{ {
struct thresh_restart tr; struct thresh_restart tr;
unsigned long new; unsigned long new;
char *end;
new = simple_strtoul(buf, &end, 0); if (strict_strtoul(buf, 0, &new) < 0)
if (end == buf)
return -EINVAL; return -EINVAL;
if (new > THRESHOLD_MAX) if (new > THRESHOLD_MAX)
...@@ -313,7 +309,7 @@ store_threshold_limit(struct threshold_block *b, const char *buf, size_t count) ...@@ -313,7 +309,7 @@ store_threshold_limit(struct threshold_block *b, const char *buf, size_t count)
smp_call_function_single(b->cpu, threshold_restart_bank, &tr, 1); smp_call_function_single(b->cpu, threshold_restart_bank, &tr, 1);
return end - buf; return size;
} }
struct threshold_block_cross_cpu { struct threshold_block_cross_cpu {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册