ia64/xen-unstable

changeset 3693:bbe2a077f3b5

bitkeeper revision 1.1159.223.75 (42078dd8VBcyJ0X9yF-bRHcBVUJ3Ww)

As pointed out on the xen-devel list, the vm86 call was not very robust in
Xen.
It turned out to be due to a missing check in the pagefault handler,
determining whether the pagefault came from userspace or from the kernel.
Now the syscall-crash tool doesn't cause any "Oops" on the vm86 calls anymore.

From: Stephan Diestelhorst <sd386@cam.ac.uk>
Signed-off-by: ian.pratt@cl.cam.ac.uk
author iap10@labyrinth.cl.cam.ac.uk
date Mon Feb 07 15:48:40 2005 +0000 (2005-02-07)
parents ef95f070a233
children 75266d5ca7ca b555b108ca0d
files linux-2.6.10-xen-sparse/arch/xen/i386/mm/fault.c
line diff
     1.1 --- a/linux-2.6.10-xen-sparse/arch/xen/i386/mm/fault.c	Mon Feb 07 11:57:29 2005 +0000
     1.2 +++ b/linux-2.6.10-xen-sparse/arch/xen/i386/mm/fault.c	Mon Feb 07 15:48:40 2005 +0000
     1.3 @@ -228,7 +228,9 @@ fastcall void do_page_fault(struct pt_re
     1.4  	/* Set the "privileged fault" bit to something sane. */
     1.5  	error_code &= 3;
     1.6  	error_code |= (regs->xcs & 2) << 1;
     1.7 -
     1.8 +	if (regs->eflags & X86_EFLAGS_VM)
     1.9 +		error_code |= 4;
    1.10 +		
    1.11   	if (notify_die(DIE_PAGE_FAULT, "page fault", regs, error_code, 14,
    1.12   					SIGSEGV) == NOTIFY_STOP)
    1.13   		return;