summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Karcher <kernel@mkarcher.dialup.fu-berlin.de>2008-07-11 20:04:46 +0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-07-13 21:54:09 +0400
commit74454a6a286bfce4bb23d89bd465f856fa6a6e19 (patch)
treee44dbe7e39ed26a87676d83fc81a61f5b9659bb3
parent76605033bb81028b4c603a324dcec6793b7da8ae (diff)
downloadlinux-sunxi-74454a6a286bfce4bb23d89bd465f856fa6a6e19.tar.xz
x86: fix ldt limit for 64 bit
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>
-rw-r--r--include/asm-x86/desc.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-x86/desc.h b/include/asm-x86/desc.h
index 5b6a05d3a771..76ea17a52586 100644
--- a/include/asm-x86/desc.h
+++ b/include/asm-x86/desc.h
@@ -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));