[PATCH] i386: fix bound check IDT gate
Jan Beulich [Fri, 6 Jan 2006 08:11:49 +0000 (00:11 -0800)]
Other than apparently commonly assumed, the bound instruction does not
require the corresponding IDT entry to have DPL 3.

Acked-by: "Seth, Rohit" <rohit.seth@intel.com>
Acked-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

arch/i386/kernel/traps.c

index f0c4060..53ad954 100644 (file)
@@ -1078,9 +1078,9 @@ void __init trap_init(void)
        set_trap_gate(0,&divide_error);
        set_intr_gate(1,&debug);
        set_intr_gate(2,&nmi);
-       set_system_intr_gate(3, &int3); /* int3-5 can be called from all */
+       set_system_intr_gate(3, &int3); /* int3/4 can be called from all */
        set_system_gate(4,&overflow);
-       set_system_gate(5,&bounds);
+       set_trap_gate(5,&bounds);
        set_trap_gate(6,&invalid_op);
        set_trap_gate(7,&device_not_available);
        set_task_gate(8,GDT_ENTRY_DOUBLEFAULT_TSS);