--- zzzz-none-000/linux-2.6.32.61/arch/x86/kernel/cpu/mcheck/mce.c 2013-06-10 09:43:48.000000000 +0000 +++ virian-300e-630/linux-2.6.32.61/arch/x86/kernel/cpu/mcheck/mce.c 2010-04-08 11:00:21.000000000 +0000 @@ -431,13 +431,6 @@ if (regs && (m->mcgstatus & (MCG_STATUS_RIPV|MCG_STATUS_EIPV))) { m->ip = regs->ip; m->cs = regs->cs; - /* - * When in VM86 mode make the cs look like ring 3 - * always. This is a lie, but it's better than passing - * the additional vm86 bit around everywhere. - */ - if (v8086_mode(regs)) - m->cs |= 3; } else { m->ip = 0; m->cs = 0; @@ -975,7 +968,6 @@ */ add_taint(TAINT_MACHINE_CHECK); - mce_get_rip(&m, regs); severity = mce_severity(&m, tolerant, NULL); /* @@ -1014,6 +1006,7 @@ if (severity == MCE_AO_SEVERITY && mce_usable_address(&m)) mce_ring_add(m.addr >> PAGE_SHIFT); + mce_get_rip(&m, regs); mce_log(&m); if (severity > worst) {