|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-changelog
[Xen-changelog] [xen-unstable] x86,	microcode: Free microcode_info struc
 
# 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
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-changelog] [xen-unstable] x86,	microcode: Free microcode_info struct at end of hypercall.,
Xen patchbot-unstable <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |