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
/* Set the "privileged fault" bit to something sane. */
error_code &= 3;
error_code |= (regs->xcs & 2) << 1;
-
+ if (regs->eflags & X86_EFLAGS_VM)
+ error_code |= 4;
+
if (notify_die(DIE_PAGE_FAULT, "page fault", regs, error_code, 14,
SIGSEGV) == NOTIFY_STOP)
return;