[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] Re: [PATCH][HVM] Inject #GP for un-emulated instructions rather than crash guest

  • To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, "Cui, Dexuan" <dexuan.cui@xxxxxxxxx>, "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
  • Date: Tue, 27 Nov 2007 09:16:59 -0800
  • Delivery-date: Tue, 27 Nov 2007 09:18:05 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcgwqGajcxL9lyZSSkG/2aFRcODxtwABFqOQAAeF6ycAEujvMA==
  • Thread-topic: [Xen-devel] Re: [PATCH][HVM] Inject #GP for un-emulated instructions rather than crash guest

Keir Fraser wrote:
> Okay, but would #UD be a better exception to deliver in this case?
> overloaded than #GP and more appropriate?

Since delivering #UD would provide more hints for guests to detect
inconsistency (i.e. incomplete emulation) with instruction handling in
the VM, I think delivering #GP should be more appropriate as a

>  -- Keir
> On 27/11/07 04:37, "Cui, Dexuan" <dexuan.cui@xxxxxxxxx> wrote:
> > The CrashMe stress test (a process repeatedly forks child processes,
> > the child processes initialize a buffer with random numbers, then
> > the buffer as code, and execute it) can crash 32-bit HVM RHEL5.1
> > easily; this is because we haven't emulated all the instructions in
> > handle_mmio() yet. 
> > 
> > The CrashMe process runs with root rights, and can access MMIO space
> > an unknown way ("strace -f" shows the random codes running at CPL=3
> > don't call mmap(), and don't open any special files in /dev/ "); the
> > may look like 0xa**** or  0xb****, or 0xfee0****.
> > After running CrashMe for several hours, I have found 24 un-emulated
> > instructions may be hit... 
> > 
> > This patch may serve as a workaround.
> > 
> > Signed-off-by: Dexuan Cui <dexuan.cui@xxxxxxxxx>
> > 

Intel Open Source Technology Center

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.