diff options
author | Tim Deegan <tim@xen.org> | 2012-03-08 16:40:05 +0000 |
---|---|---|
committer | Tim Deegan <tim@xen.org> | 2012-03-08 16:40:05 +0000 |
commit | 762e791d8a526c9d6eab6e061f595d2c434a4e98 (patch) | |
tree | de538b97bdaa4c137d313274d2e9c3d31fc9d579 /xen/common/domain.c | |
parent | f9f9daee79a5711c7cd880a10dbff02ed5cd749b (diff) | |
download | xen-762e791d8a526c9d6eab6e061f595d2c434a4e98.tar.gz xen-762e791d8a526c9d6eab6e061f595d2c434a4e98.tar.bz2 xen-762e791d8a526c9d6eab6e061f595d2c434a4e98.zip |
x86/mm: Clean up mem event structures on domain destruction
Otherwise we wind up with zombie domains, still holding onto refs to the mem
event ring pages.
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'xen/common/domain.c')
-rw-r--r-- | xen/common/domain.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/xen/common/domain.c b/xen/common/domain.c index 500c7a210c..8840202af5 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -479,6 +479,9 @@ int domain_kill(struct domain *d) break; } d->is_dying = DOMDYING_dead; + /* Mem event cleanup has to go here because the rings + * have to be put before we call put_domain. */ + mem_event_cleanup(d); put_domain(d); send_global_virq(VIRQ_DOM_EXC); /* fallthrough */ |