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

RE: [Xen-devel] [PATCH] Misaligned IO reads


  • To: "Ross Maxfield" <rmaxfiel@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "Woller, Thomas" <thomas.woller@xxxxxxx>
  • Date: Tue, 1 Aug 2006 11:15:38 -0500
  • Delivery-date: Tue, 01 Aug 2006 09:17:19 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Aca06IjV1DfIivumQIaUf2hWj66n2AAnL/uw
  • Thread-topic: [Xen-devel] [PATCH] Misaligned IO reads

> This patch fixes a data corruption bug in hvm_pio_assist() of 
> xen/arch/x86/hvm/io.c.  When the OVERLAP flag is set and the 
> guest is running in real-mode regs->es is used in the 
> generation of the destination address passed to hvm_copy().  
> regs->es, however, has not been initialized and bad happens.  
> Since __vmread() must be called to obtain regs->es to remedy 
> the bug, this patch instead calls __vmread to obtain the 
> GUEST_LINEAR_ADDRESS which removes the need to check if the 
> guest is in real-mode and hence also the need to adjust addr. 
>  Since this block of code is executed so rarely, there is no 
> measurable performance impact using this fix for real or 
> protected mode guests.
Ross, should a __vmread be in an hvm specific function? Maybe I'm
missing something but a __vmread VT instruction will GP on an AMD SVM
platform.
Thanks for any clarification
Tom 





_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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