Re: KVM: x86: use proper port value when checking io instruction permission (v3)

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

 



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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux