On Sun, May 29, 2011 at 11:34:43AM +0300, Avi Kivity wrote:
> On 05/26/2011 02:56 PM, Marcelo Tosatti wrote:
> >Commit fa4491a6b667304 moved the permission check for io instructions
> >to the ->check_perm callback. It failed to copy the port value from RDX
> >register for string and "in,out ax,dx" instructions.
> >
> >Fix it by reading RDX register at decode stage when appropriate.
> >
> >Fixes FC8.32 installation.
> >
> >diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
> >index 3bc6b7a..fc3d2d9 100644
> >--- a/arch/x86/kvm/emulate.c
> >+++ b/arch/x86/kvm/emulate.c
> >@@ -47,7 +47,7 @@
> >  #define DstDI       (5<<1) /* Destination is in ES:(E)DI */
> >  #define DstMem64    (6<<1) /* 64bit memory operand */
> >  #define DstImmUByte (7<<1) /* 8-bit unsigned immediate operand */
> >-#define DstMask     (7<<1)
> >+#define DstMask     ((7<<1) | (1<<18))
> 
> Ouch, why??
> 
> My comment about bits 19-20 was only about the shifting of of Prot
> etc. from 21+ to 22+.

Oh, OK, please check v4.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to