lkml.org 
[lkml]   [2009]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [boot crash] Re: [tip:x86/mce3] x86, mce: use 64bit machine check code on 32bit

* Andi Kleen <ak@linux.intel.com> wrote:

> Ingo Molnar wrote:
>> * Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> wrote:
>>
>>> One possibility is: if the BIOS doesn't clear status in banks, new
>>> mce codes will try to log such junks. If the junk is totally junk
>>> but can be decoded as a valid log with MISCV or ADDRV bit, and if
>>> the cpu try to access register which is not implemented (e.g.
>>> IA32_MCi_MISC/ADDR), then such access might cause a general
>>> protection exception. (ref. ASDM 3A 15.3.2.3)
>>
>> btw., that reminds me: mce_rdmsrl() needs to be fixed to use
>> rdmsrl_safe() and it should emit a WARN_ONCE() if it ever hits an
>> error while trying to access registers.
>
> In general systems (like VMs) who don't have MCA MSRs don't
> declare the capability bits (there are own capability bits for all
> of this) and then the MSRs are never touched. So far I've not had
> a single report of this going wrong.
>
> I suspect the problem on your system is something else too we just
> need to debug properly.

That sidenote was unrelated to this bug.

We obviously dont #GP fault in the MSR access, i'd see that in the
crash.

We want to use rdmsr_safe()/wrmsr_safe() in general as a defensive
measure, for all code that does not actually add functionality but
is diagnostic (like MCE).

Ingo


\
 
 \ /
  Last update: 2009-08-17 13:27    [W:0.075 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site