Re: [patch 2.6.13-rc1] i386: fix incorrect TSS entry for LDT

From: Ingo Molnar
Date: Fri Jul 01 2005 - 02:17:38 EST



* Chuck Ebbert <76306.1226@xxxxxxxxxxxxxx> wrote:

> The LDT entry in the i386 TSS needs to be a selector, not an entry
> number.

you are right - but this shouldnt really matter, because this TSS field
is only loaded by a CPU upon a real TSS switch, which we never do. We
load the LDT selector manually, via the lldt instruction (load_LDT*()).
(It could at most matter when we do a double-fault, but the TSS of the
doublefault handler is set up separately, which has the .ldt field
cleared.)

so i'd rather suggest to remove the initialization altogether, as per
the (tested) patch below.

Ingo

---

noticed by Chuck Ebbert: the .ldt entry of the TSS was set up
incorrectly. It never mattered since this was a leftover from
old times, so remove it.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

include/asm-i386/processor.h | 1 -
1 files changed, 1 deletion(-)

Index: linux/include/asm-i386/processor.h
===================================================================
--- linux.orig/include/asm-i386/processor.h
+++ linux/include/asm-i386/processor.h
@@ -474,7 +474,6 @@ struct thread_struct {
.esp0 = sizeof(init_stack) + (long)&init_stack, \
.ss0 = __KERNEL_DS, \
.ss1 = __KERNEL_CS, \
- .ldt = GDT_ENTRY_LDT, \
.io_bitmap_base = INVALID_IO_BITMAP_OFFSET, \
.io_bitmap = { [ 0 ... IO_BITMAP_LONGS] = ~0 }, \
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/