]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
x86: fix ldt limit for 64 bit
authorMichael Karcher <kernel@mkarcher.dialup.fu-berlin.de>
Fri, 11 Jul 2008 16:04:46 +0000 (18:04 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 13 Jul 2008 17:54:09 +0000 (10:54 -0700)
commit 5ac37f87ff18843aabab84cf75b2f8504c2d81fe upstream

Fix size of LDT entries. On x86-64, ldt_desc is a double-sized descriptor.

Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/asm-x86/desc.h

index 5b6a05d3a7712aa7b29b26a37aff2c843ba78819..76ea17a52586a040818c00b93a53a8cf9dc88a92 100644 (file)
@@ -191,8 +191,8 @@ static inline void native_set_ldt(const void *addr, unsigned int entries)
                unsigned cpu = smp_processor_id();
                ldt_desc ldt;
 
-               set_tssldt_descriptor(&ldt, (unsigned long)addr,
-                                     DESC_LDT, entries * sizeof(ldt) - 1);
+               set_tssldt_descriptor(&ldt, (unsigned long)addr, DESC_LDT,
+                                     entries * LDT_ENTRY_SIZE - 1);
                write_gdt_entry(get_cpu_gdt_table(cpu), GDT_ENTRY_LDT,
                                &ldt, DESC_LDT);
                __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8));