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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html