[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 Wed, 2012-05-09 at 11:55 +0100, Jan Beulich wrote: > >>> On 09.05.12 at 12:31, Ian Campbell <Ian.Campbell@xxxxxxxxxx> 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. > > While appealing at a first glance, I wouldn't recommend doing so: > Documentation specifies it the way it's defined currently, and Linux > also uses the same definition, so we'd only call for future bugs if > we did it differently in our code. I thought someone would say something like that ;-) OK then. > > Jan > > >> u64 reserved2; > >> u16 reserved3; > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |