[PATCH 18/18] x86/mce: Fix monarch timeout setting through the mce= cmdline option

Borislav Petkov
2015-05-26T08:30:05Z

From: Xie XiuQi <xiexiuqi@huawei.com>

Using "mce=1,10000000" on the kernel cmdline to change the monarch
timeout does not work. The cause is that get_option() does parse a
subsequent comma in the option string and signals that with a return
value. So we don't need to check for a second comma ourselves.

Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Link: http://lkml.kernel.org/r/1432120943-25028-1-git-send-email-xiexiuqi@huawei.com
Signed-off-by: Borislav Petkov <bp@suse.de>
---
arch/x86/kernel/cpu/mcheck/mce.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index e535533d5ab8..e6580b9255de 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -2008,11 +2008,8 @@ static int __init mcheck_enable(char *str)
else if (!strcmp(str, "bios_cmci_threshold"))
cfg->bios_cmci_threshold = true;
else if (isdigit(str[0])) {
- get_option(&str, &(cfg->tolerant));
- if (*str == ',') {
- ++str;
+ if (get_option(&str, &(cfg->tolerant)) == 2)
get_option(&str, &(cfg->monarch_timeout));
- }
} else {
pr_info("mce argument %s ignored. Please use /sys\n", str);
return 0;
--
1.9.0.258.g00eda23