We use kfree in svm.c and vmx.c, and this works, but it could break at
any time.  kfree() is supposed to match up with kmalloc().

Signed-off-by: Rusty Russell <[EMAIL PROTECTED]>

diff -r 7e054bfac61d drivers/kvm/svm.c
--- a/drivers/kvm/svm.c Wed Aug 01 10:42:06 2007 +1000
+++ b/drivers/kvm/svm.c Wed Aug 01 14:41:22 2007 +1000
@@ -592,7 +592,7 @@ uninit:
 uninit:
        kvm_vcpu_uninit(&svm->vcpu);
 free_svm:
-       kfree(svm);
+       kmem_cache_free(kvm_vcpu_cache, svm);
 out:
        return ERR_PTR(err);
 }
@@ -603,7 +603,7 @@ static void svm_free_vcpu(struct kvm_vcp
 
        __free_page(pfn_to_page(svm->vmcb_pa >> PAGE_SHIFT));
        kvm_vcpu_uninit(vcpu);
-       kfree(svm);
+       kmem_cache_free(kvm_vcpu_cache, svm);
 }
 
 static void svm_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
diff -r 7e054bfac61d drivers/kvm/vmx.c
--- a/drivers/kvm/vmx.c Wed Aug 01 10:42:06 2007 +1000
+++ b/drivers/kvm/vmx.c Wed Aug 01 14:41:41 2007 +1000
@@ -2344,7 +2344,7 @@ static void vmx_free_vcpu(struct kvm_vcp
        kfree(vmx->host_msrs);
        kfree(vmx->guest_msrs);
        kvm_vcpu_uninit(vcpu);
-       kfree(vmx);
+       kmem_cache_free(kvm_vcpu_cache, vmx);
 }
 
 static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id)
@@ -2395,7 +2395,7 @@ uninit_vcpu:
 uninit_vcpu:
        kvm_vcpu_uninit(&vmx->vcpu);
 free_vcpu:
-       kfree(vmx);
+       kmem_cache_free(kvm_vcpu_cache, vmx);
        return ERR_PTR(err);
 }
 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to