mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
sched: fix freeing per-vcpu data in sched_move_domain()
In case of an allocation error of per-vcpu data in sched_move_domain() the already allocated data is freed just using xfree(). This is wrong as some schedulers need to do additional operations (e.g. the arinc653 scheduler needs to remove the vcpu-data from a list). So instead xfree() make use of the sched_free_vdata() hook. Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Dario Faggioli <dfaggioli@suse.com>
This commit is contained in:
1 parent
4f54473d00
commit
b6656e6aa4
1 file changed
+1
-1
@@ -385,7 +385,7 @@ int sched_move_domain(struct domain *d, struct cpupool *c)
|
||||
if ( vcpu_priv[v->vcpu_id] == NULL )
|
||||
{
|
||||
for_each_vcpu ( d, v )
|
||||
xfree(vcpu_priv[v->vcpu_id]);
|
||||
sched_free_vdata(c->sched, vcpu_priv[v->vcpu_id]);
|
||||
xfree(vcpu_priv);
|
||||
sched_free_domdata(c->sched, domdata);
|
||||
return -ENOMEM;
|
||||
|
||||