x86: mce, inject: Use real inject-msg in raise_local
authorHuang Ying <ying.huang@intel.com>
Tue, 22 Sep 2009 06:35:57 +0000 (14:35 +0800)
committerIngo Molnar <mingo@elte.hu>
Tue, 22 Sep 2009 19:06:37 +0000 (21:06 +0200)
commit14c0abf14a5e67e793131116bd97f57da37ccce3
treedb58321efd5a4a16e9e107d82c8230d1bae9d375
parentb417c9fd8690637f0c91479435ab3e2bf450c038
x86: mce, inject: Use real inject-msg in raise_local

Current raise_local() uses a struct mce that comes from mce_write()
as a parameter instead of the real inject-msg, so when we set
mce.finished = 0 to clear injected MCE, the real inject stays
valid.

This will cause the remaining inject-msg affect the next injection,
which is not desired.

To fix this, real inject-msg is used in raise_local instead of the
one on the stack.

This patch is based on the diagnosis and the fixes by Dean Nelson.

Reported-by: Dean Nelson <dnelson@redhat.com>
Signed-off-by: Huang Ying <ying.huang@intel.com>
Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Cc: Andi Kleen <ak@linux.intel.com>
LKML-Reference: <1253601357.15717.757.camel@yhuang-dev.sh.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/cpu/mcheck/mce-inject.c