Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] vmx: Fix the 2nd argument of cpuid_count(

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] vmx: Fix the 2nd argument of cpuid_count() in vmx_cpuid_intercept()
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 29 Dec 2007 13:30:09 -0800
Delivery-date: Sat, 29 Dec 2007 13:30:07 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1198950947 0
# Node ID 43aab98aef608c058260c4c1caf662ed06dfac18
# Parent  688e9186eed4a882843f108ac5b59ca68ba8b69e
vmx: Fix the 2nd argument of cpuid_count() in vmx_cpuid_intercept()

For input 0x00000004, the value of "*ecx" has been overwritten by the
cpuid() in hvm_cpuid(), causing a bad value passed to cpuid_count().

Signed-off-by: Dexuan Cui <dexuan.cui@xxxxxxxxx>
---
 xen/arch/x86/hvm/vmx/vmx.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -r 688e9186eed4 -r 43aab98aef60 xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c        Sat Dec 29 17:52:34 2007 +0000
+++ b/xen/arch/x86/hvm/vmx/vmx.c        Sat Dec 29 17:55:47 2007 +0000
@@ -1235,6 +1235,7 @@ void vmx_cpuid_intercept(
     unsigned int *ecx, unsigned int *edx)
 {
     unsigned int input = *eax;
+    unsigned int count = *ecx;
 
 #ifdef VMXASSIST
     if ( input == 0x40000003 )
@@ -1293,7 +1294,7 @@ void vmx_cpuid_intercept(
         break;
 
     case 0x00000004:
-        cpuid_count(input, *ecx, eax, ebx, ecx, edx);
+        cpuid_count(input, count, eax, ebx, ecx, edx);
         *eax &= NUM_CORES_RESET_MASK;
         break;
 

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] vmx: Fix the 2nd argument of cpuid_count() in vmx_cpuid_intercept(), Xen patchbot-unstable <=