x86/msr: Free msr_vcpu_policy during vcpu destruction
authorAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 4 Jan 2018 13:27:38 +0000 (14:27 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 4 Jan 2018 13:27:38 +0000 (14:27 +0100)
c/s 4187f79dc7 "x86/msr: introduce struct msr_vcpu_policy" introduced a
per-vcpu memory allocation, but failed to free it in the clean vcpu
destruction case.

This is XSA-253.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/domain.c

index b17468c54c032592eb93a23e5687f7350f745b63..0ae715dbb25a8cc1197212ed7a87cab81ab72137 100644 (file)
@@ -382,6 +382,9 @@ void vcpu_destroy(struct vcpu *v)
 
     vcpu_destroy_fpu(v);
 
+    xfree(v->arch.msr);
+    v->arch.msr = NULL;
+
     if ( !is_idle_domain(v->domain) )
         vpmu_destroy(v);