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

Re: [Xen-devel] [PATCH] nested vmx: fix I/O port bitmap indexing arithmetic



Acked-by Eddie Dong <eddie.dong@xxxxxxxxx>

-----Original Message-----
From: Matthew Daley [mailto:mattd@xxxxxxxxxxx] 
Sent: Saturday, November 30, 2013 6:39 AM
To: xen-devel@xxxxxxxxxxxxx
Cc: Matthew Daley; Nakajima, Jun; Dong, Eddie; Keir Fraser; Jan Beulich
Subject: [PATCH] nested vmx: fix I/O port bitmap indexing arithmetic

The I/O port bitmap holds 8 ports per element, and hence the port number used 
when indexing into it should be shifted right by 3 bits, not 4.

Signed-off-by: Matthew Daley <mattd@xxxxxxxxxxx>
---
Jan: I'm not sure if this also needs a fixup similar to what you did in SVM 
code with commit b1e87805bf.

 xen/arch/x86/hvm/vmx/vvmx.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c index 
248e975..7fa110e 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -2225,7 +2225,7 @@ int nvmx_n2_vmexit_handler(struct cpu_user_regs *regs,
             __vmread(EXIT_QUALIFICATION, &qual);
             port = qual >> 16;
             bitmap = nvmx->iobitmap[port >> 15];
-            if ( bitmap[(port & 0x7fff) >> 4] & (1 << (port & 0x7)) )
+            if ( bitmap[(port & 0x7fff) >> 3] & (1 << (port & 0x7)) )
                 nvcpu->nv_vmexit_pending = 1;
             if ( !nvcpu->nv_vmexit_pending )
                gdprintk(XENLOG_WARNING, "L0 PIO %x.\n", port);
--
1.7.10.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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