Re: [PATCH] enable interrupts in user path of page fault.
- From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 7 Jun 2007 19:28:07 -0700 (PDT)
On Thu, 7 Jun 2007, Andrew Morton wrote:
Interrupts got disabled here because do_page_fault() is an
interrupt-disabling trap, yes?
Yes - and it has to be: we want to disable preemption and interrupts that
can fault on the vmalloc space, until we've at least saved away %cr2. We
had bugs in that area before.
The patch looks reasonable to me: a slight reduction in interrupt-off
latency when really weird things are happening.
I applied it as obviously correct.
The patch also breaks things, I think: if userspace is running with
interrupts disabled and tries to access kernel memory it will presently
whizz through the kernel without ever enabling interrupts. With this
change, the kernel will now enable interrupts, which is presumably not what
the application wanted.
Well, we *do* enable interrupts for real page faults anyway, and this
whole code just triggers for the case where we'd send a SIGSEGV. If some
silly app really thought it could do that with interrupts disabled, it was
wrong before too (we'd hit a reschedule point and enable them there
anyway).
Linus
-
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/
- References:
- [PATCH] enable interrupts in user path of page fault.
- From: Steven Rostedt
- Re: [PATCH] enable interrupts in user path of page fault.
- From: Andrew Morton
- [PATCH] enable interrupts in user path of page fault.
- Prev by Date: Re: [patch 7/8] fdmap v2 - implement sys_socket2
- Next by Date: Re: Per container statistics (containerstats)
- Previous by thread: Re: [PATCH] enable interrupts in user path of page fault.
- Next by thread: Re: [linux-usb-devel] [PATCH] bug removing ehci-hcd
- Index(es):
Relevant Pages
|