[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86: convert BUG_ON()s to WARN_ON()s in read_descriptor()



>>> On 16.12.11 at 10:09, Keir Fraser <keir.xen@xxxxxxxxx> wrote:
> On 15/12/2011 10:25, "Jan Beulich" <JBeulich@xxxxxxxx> wrote:
> 
>> In the light of AMD erratum #700, and given that these checks happen
>> for debugging purposes only and also only in debug builds of the
>> hypervisor, make the failures non-fatal.
> 
> I think the changeset comment should have a brief description of erratum
> #700.

I'd do this, but ...

> I also some reference should be made in a comment above the first
> WARN_ON, explaining why they are now WARN_Ons (again, with reference to #700
> and its symptoms).

... I now think that these should never have been BUG_ON()s in the
first place (despite probably having been the one who introduced
them).

Additionally, on a second look, check_descriptor() would not allow any
of the affected selector types to be installed into a descriptor table,
and we clearly don't put in any such descriptors ourselves, so from the
perspective of the erratum we're okay without the patch.

So if you prefer them to stay BUG_ON(), I think I'll just withdraw the
patch.

Jan

> Apart from that:
> Acked-by: Keir Fraser <keir@xxxxxxx>
> 
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>> 
>> --- a/xen/arch/x86/traps.c
>> +++ b/xen/arch/x86/traps.c
>> @@ -1544,11 +1544,11 @@ static int read_descriptor(unsigned int
>>              asm volatile (
>>                  "larl %2,%0 ; setz %1"
>>                  : "=r" (a), "=qm" (valid) : "rm" (sel));
>> -            BUG_ON(valid && ((a & 0x00f0ff00) != *ar));
>> +            WARN_ON(valid && ((a & 0x00f0ff00) != *ar));
>>              asm volatile (
>>                  "lsll %2,%0 ; setz %1"
>>                  : "=r" (l), "=qm" (valid) : "rm" (sel));
>> -            BUG_ON(valid && (l != *limit));
>> +            WARN_ON(valid && (l != *limit));
>>          }
>>  #endif
>>      }
>> 
>> 
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx 
>> http://lists.xensource.com/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.