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

Re: [Xen-devel] x86_64: Fix off-by-one error setting up the Interrupt Stack Tables



On 09/05/12 11:31, Ian Campbell wrote:
> On Wed, 2012-05-09 at 11:22 +0100, Andrew Cooper wrote:
>> diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
>> --- a/xen/include/asm-x86/processor.h
>> +++ b/xen/include/asm-x86/processor.h
>> @@ -424,7 +424,9 @@ struct tss_struct {
>>      union { u64 rsp1, esp1; };
>>      union { u64 rsp2, esp2; };
>>      u64 reserved1;
>> -    u64 ist[7];
>> +    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
>> +                 * corresponds to an IST value of 1 in an Interrupt
>> +                 * Descriptor */
> 
> Would it be too sneaky to drop "reserved1" and make ist be 8 elements?
> then ist[1] would actually be the slot corresponding to a value of 1 in
> an IDT entry.

We did discuss this briefly internally and I thought it would be too
sneaky.  But perhaps it is ok if there is also #define IST_RESERVED 0
and a comment.

David


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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