2008-07-11 16:56:25

by Michael Karcher

[permalink] [raw]
Subject: [PATCH] x86: Fix ldt limit for 64 bit

From: Michael Karcher <[email protected]>

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

Signed-off-by: Michael Karcher <[email protected]>
---
include/asm-x86/desc.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/asm-x86/desc.h b/include/asm-x86/desc.h
index 268a012..28bddbc 100644
--- a/include/asm-x86/desc.h
+++ b/include/asm-x86/desc.h
@@ -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));
--
1.5.5.4


2008-07-12 05:21:50

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86: Fix ldt limit for 64 bit


* Michael Karcher <[email protected]> wrote:

> From: Michael Karcher <[email protected]>
>
> Fix size of LDT entries. On x86-64, ldt_desc is a double-sized
> descriptor.

applied, thanks Michael.

Ingo