x86, MCE: Do not taint when handling correctable errors
Correctable errors are considered something rather normal on modern hardware these days. Even more importantly, correctable errors mean exactly that - they've been corrected by the hardware - and there's no need to taint the kernel since execution hasn't been compromised so far. Also, drop tainting in the thermal throttling code for a similar reason: crossing a thermal threshold does not mean corruption. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com> Acked-by: Tony Luck <tony.luck@intel.com> Acked-by: Nagananda Chumbalkar <Nagananda.Chumbalkar@hp.com> Cc: Prarit Bhargava <prarit@redhat.com> Cc: Russ Anderson <rja@sgi.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Link: http://lkml.kernel.org/r/1303135222-17118-1-git-send-email-bp@amd64.org Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
f0e615c3cb
commit
7b70bd3441
@@ -590,7 +590,6 @@ void machine_check_poll(enum mcp_flags flags, mce_banks_t *b)
|
|||||||
if (!(flags & MCP_DONTLOG) && !mce_dont_log_ce) {
|
if (!(flags & MCP_DONTLOG) && !mce_dont_log_ce) {
|
||||||
mce_log(&m);
|
mce_log(&m);
|
||||||
atomic_notifier_call_chain(&x86_mce_decoder_chain, 0, &m);
|
atomic_notifier_call_chain(&x86_mce_decoder_chain, 0, &m);
|
||||||
add_taint(TAINT_MACHINE_CHECK);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -187,8 +187,6 @@ static int therm_throt_process(bool new_event, int event, int level)
|
|||||||
this_cpu,
|
this_cpu,
|
||||||
level == CORE_LEVEL ? "Core" : "Package",
|
level == CORE_LEVEL ? "Core" : "Package",
|
||||||
state->count);
|
state->count);
|
||||||
|
|
||||||
add_taint(TAINT_MACHINE_CHECK);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (old_event) {
|
if (old_event) {
|
||||||
@@ -393,7 +391,6 @@ static void unexpected_thermal_interrupt(void)
|
|||||||
{
|
{
|
||||||
printk(KERN_ERR "CPU%d: Unexpected LVT thermal interrupt!\n",
|
printk(KERN_ERR "CPU%d: Unexpected LVT thermal interrupt!\n",
|
||||||
smp_processor_id());
|
smp_processor_id());
|
||||||
add_taint(TAINT_MACHINE_CHECK);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void (*smp_thermal_vector)(void) = unexpected_thermal_interrupt;
|
static void (*smp_thermal_vector)(void) = unexpected_thermal_interrupt;
|
||||||
|
Reference in New Issue
Block a user