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

Brian Gerst (bgerst@didntduck.org)
Sun, 06 May 2001 23:54:16 -0400


Linus Torvalds wrote:
>
> On Sat, 5 May 2001, Brian Gerst wrote:
> >
> > Currently the page fault handler on the x86 can get a clobbered value
> > for %cr2 if an interrupt occurs and causes another page fault (interrupt
> > handler touches a vmalloced area for example) before %cr2 is read.
>
> That should be ok.
>
> Yes, we'll get a clobbered value, but we'll get a _valid_ clobbered value,
> and we'll just end up doing the fixups twice (and returning to the user
> process that didn't get the page it wanted, which will end up re-doing the
> page fault).
>
> [ Looks closer.. ]
>
> Actually, the second time we'd do the fixup we'd be unhappy, because it
> has already been done. That test should probably be removed. Hmm.
>
> Hmm.. The threading people wanted this same thing. Maybe we should just
> make it so.
>
> Linus

I think it's better to be on the side of correctness. I designed the
patch to have interrupts disabled for the minimum time possible, so
there should be nearly no impact.

--
					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/