set_tssldt_descriptor(&cpu_gdt_table[cpu][GDT_ENTRY_TSS], (unsigned long)addr, DESC_TSS, sizeof(struct tss_struct) - 1); 
/* * sizeof(unsigned long) coming from an extra "long" at the end * of the iobitmap. See tss_struct definition in processor.h * * -1? seg base+limit should be pointing to the address of the * last valid byte */ set_tssldt_descriptor(&cpu_gdt_table[cpu][GDT_ENTRY_TSS], (unsigned long)addr, DESC_TSS, IO_BITMAP_OFFSET + IO_BITMAP_BYTES + sizeof(unsigned long) - 1); 
static inline void set_tss_desc(unsigned cpu, void *addr){ 	set_tssldt_descriptor(&cpu_gdt_table[cpu][GDT_ENTRY_TSS], (unsigned long)addr, 			      DESC_TSS,			      sizeof(struct tss_struct) - 1);} 
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/47936357c0d14809c3c9547e532511f6625654b2/desc.h/buggy/include/asm-x86_64/desc.h