diff -urP -X patch.exclude linux-2.4.0-test9-kb-rts/arch/i386/kernel/traps.c linux/arch/i386/kernel/traps.c --- linux-2.4.0-test9-kb-rts/arch/i386/kernel/traps.c Mon Oct 30 21:04:29 2000 +++ linux/arch/i386/kernel/traps.c Wed Nov 1 12:42:40 2000 @@ -1028,7 +1028,7 @@ set_trap_gate(11,&segment_not_present); set_trap_gate(12,&stack_segment); set_trap_gate(13,&general_protection); - set_trap_gate(14,&page_fault); + set_intr_gate(14,&page_fault); set_trap_gate(15,&spurious_interrupt_bug); set_trap_gate(16,&coprocessor_error); set_trap_gate(17,&alignment_check); diff -urP -X patch.exclude linux-2.4.0-test9-kb-rts/arch/i386/mm/fault.c linux/arch/i386/mm/fault.c --- linux-2.4.0-test9-kb-rts/arch/i386/mm/fault.c Mon Oct 30 21:04:29 2000 +++ linux/arch/i386/mm/fault.c Thu Nov 2 09:57:02 2000 @@ -130,7 +130,7 @@ /* get the address */ __asm__("movl %%cr2,%0":"=r" (address)); - + __sti(); tsk = current; mm = tsk->mm; info.si_code = SEGV_MAPERR;