x86: fix ldt limit for 64 bit
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>
This commit is contained in:
Родитель
a361ee5cb8
Коммит
5ac37f87ff
|
@ -192,8 +192,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));
|
||||
|
|
Загрузка…
Ссылка в новой задаче