# HG changeset patch # User mafetter@fleming.research # Date 1107884864 0 # Node ID 4d39c79968fa4c288093e8e2898a1a663b91e4ea # Parent ea98f0bb6510fd8e2f5c02839d09b31b27d3f735 bitkeeper revision 1.1159.254.1 (4208fb40ebFKAx9nnWfHPfWIPdQ9Vw) Bug fix for free_domain_struct(). Don't dereference a pointer after we've free'd it. diff -r ea98f0bb6510 -r 4d39c79968fa xen/common/schedule.c --- a/xen/common/schedule.c Tue Feb 08 12:27:23 2005 +0000 +++ b/xen/common/schedule.c Tue Feb 08 17:47:44 2005 +0000 @@ -91,11 +91,13 @@ static struct ac_timer t_timer[NR_CPUS]; void free_domain_struct(struct domain *d) { - struct exec_domain *ed; + int i; SCHED_OP(free_task, d); - for_each_exec_domain(d, ed) - arch_free_exec_domain_struct(ed); + for (i = 0; i < MAX_VIRT_CPUS; i++) + if ( d->exec_domain[i] ) + arch_free_exec_domain_struct(d->exec_domain[i]); + arch_free_domain_struct(d); }