[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.

I considered that, but given no particular preference, I went with the
visibly safer fix.

I can change it if general opinion is that it would be clearer that way.

~Andrew

>
>>      u64 reserved2;
>>      u16 reserved3; 

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
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®.