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

[Xen-changelog] [xen-unstable] x86, microcode: Free microcode_info struct at end of hypercall.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1221569356 -3600
# Node ID f163138e33402ca565d9886df8ecb21e98f77be6
# Parent  879330497672d96ee966c9774d21c437895f6839
x86, microcode: Free microcode_info struct at end of hypercall.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 xen/arch/x86/microcode.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff -r 879330497672 -r f163138e3340 xen/arch/x86/microcode.c
--- a/xen/arch/x86/microcode.c  Tue Sep 16 13:40:59 2008 +0100
+++ b/xen/arch/x86/microcode.c  Tue Sep 16 13:49:16 2008 +0100
@@ -147,10 +147,13 @@ static long do_microcode_update(void *_i
         info->error = error;
 
     info->cpu = next_cpu(info->cpu, cpu_online_map);
-    if ( info->cpu >= NR_CPUS )
-        return info->error;
+    if ( info->cpu < NR_CPUS )
+        return continue_hypercall_on_cpu(info->cpu, do_microcode_update, info);
 
-    return continue_hypercall_on_cpu(info->cpu, do_microcode_update, info);
+    error = info->error;
+    xfree(info);
+    return error;
+
 }
 
 int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len)

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


 


Rackspace

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