On Sat, Sep 09, 2017 at 07:23:52PM +0200, Markus Trippelsdorf wrote: > Hmm, the output is exactly the same as before your patch.
Bah, that patch doesn't account for the fact that we're rereading the status field again in do_machine_check(). Ok, let's force MCi_ADDR out. Ontop: --- diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index c63c7ef326c7..e5580da2c491 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -240,8 +240,7 @@ static void __print_mce(struct mce *m) } pr_emerg(HW_ERR "TSC %llx ", m->tsc); - if (m->addr) - pr_cont("ADDR %llx ", m->addr); + pr_cont("ADDR %llx ", m->addr); if (m->misc) pr_cont("MISC %llx ", m->misc); @@ -636,8 +635,9 @@ static void mce_read_aux(struct mce *m, int i) if (m->status & MCI_STATUS_MISCV) m->misc = mce_rdmsrl(msr_ops.misc(i)); + m->addr = mce_rdmsrl(msr_ops.addr(i)); + if (m->status & MCI_STATUS_ADDRV) { - m->addr = mce_rdmsrl(msr_ops.addr(i)); /* * Mask the reported address by the reported granularity. --- Thanks. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.