Re: [PATCH] x86 page fault handler not interrupt safe

Brian Gerst (bgerst@didntduck.org)
Mon, 07 May 2001 17:25:41 -0400


Nigel Gamble wrote:
>
> On Mon, 7 May 2001, Linus Torvalds wrote:
> > On Mon, 7 May 2001, Brian Gerst wrote:
> > > This patch will still cause the user process to seg fault: The error
> > > code on the stack will not match the address in %cr2.
> >
> > You've convinced me. Good thinking. Let's do the irq thing.
>
> I've actually seen user processes seg faulting because of this with the
> fully preemptible kernel patch applied. The fix we used in that patch
> was to use an interrupt gate for the fault handler, then to simply
> restore the interrupt state:

Keep in mind that regs->eflags could be from user space, and could have
some undesirable flags set. That's why I did a test/sti instead of
reloading eflags. Plus my patch leaves interrupts disabled for the
minimum time possible.

--

Brian Gerst - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/