lkml.org 
[lkml]   [2018]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 003/157] x86/mce: Improve error message when kernel cannot recover
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Tony Luck <tony.luck@intel.com>

    commit c7d606f560e4c698884697fef503e4abacdd8c25 upstream.

    Since we added support to add recovery from some errors inside the kernel in:

    commit b2f9d678e28c ("x86/mce: Check for faults tagged in EXTABLE_CLASS_FAULT exception table entries")

    we have done a less than stellar job at reporting the cause of recoverable
    machine checks that occur in other parts of the kernel. The user just gets
    the unhelpful message:

    mce: [Hardware Error]: Machine check: Action required: unknown MCACOD

    doubly unhelpful when they check the manual for the reported IA32_MSR_STATUS.MCACOD
    and see that it is listed as one of the standard recoverable values.

    Add an extra rule to the MCE severity table to catch this case and report it
    as:

    mce: [Hardware Error]: Machine check: Data load in unrecoverable area of kernel

    Fixes: b2f9d678e28c ("x86/mce: Check for faults tagged in EXTABLE_CLASS_FAULT exception table entries")
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
    Cc: Ashok Raj <ashok.raj@intel.com>
    Cc: stable@vger.kernel.org # 4.6+
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Link: https://lkml.kernel.org/r/4cc7c465150a9a48b8b9f45d0b840278e77eb9b5.1527283897.git.tony.luck@intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/x86/kernel/cpu/mcheck/mce-severity.c | 5 +++++
    1 file changed, 5 insertions(+)

    --- a/arch/x86/kernel/cpu/mcheck/mce-severity.c
    +++ b/arch/x86/kernel/cpu/mcheck/mce-severity.c
    @@ -143,6 +143,11 @@ static struct severity {
    SER, MASK(MCI_STATUS_OVER|MCI_UC_SAR|MCI_ADDR|MCACOD, MCI_UC_SAR|MCI_ADDR|MCACOD_INSTR),
    USER
    ),
    + MCESEV(
    + PANIC, "Data load in unrecoverable area of kernel",
    + SER, MASK(MCI_STATUS_OVER|MCI_UC_SAR|MCI_ADDR|MCACOD, MCI_UC_SAR|MCI_ADDR|MCACOD_DATA),
    + KERNEL
    + ),
    #endif
    MCESEV(
    PANIC, "Action required: unknown MCACOD",

    \
     
     \ /
      Last update: 2018-07-01 20:01    [W:3.583 / U:0.108 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site