diff options
author | Olaf Hering <olaf@aepfle.de> | 2011-11-30 07:08:53 -0800 |
---|---|---|
committer | Olaf Hering <olaf@aepfle.de> | 2011-11-30 07:08:53 -0800 |
commit | 20b21cb1e1141d5dcfbc0a0c911cec72194ecc4a (patch) | |
tree | 3ec12c736bb74953b72dd2d8ed948f1c99909e89 /xen/common/domain.c | |
parent | a2a88004afe1cce99bba724929d59366e752e886 (diff) | |
download | xen-20b21cb1e1141d5dcfbc0a0c911cec72194ecc4a.tar.gz xen-20b21cb1e1141d5dcfbc0a0c911cec72194ecc4a.tar.bz2 xen-20b21cb1e1141d5dcfbc0a0c911cec72194ecc4a.zip |
mem_event: move mem_event_domain out of struct domain
An upcoming change may increase the size of mem_event_domain. The result
is a build failure because struct domain gets larger than a page.
Allocate the room for the three mem_event_domain members at runtime.
v2:
- remove mem_ prefix from members of new struct
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/common/domain.c')
-rw-r--r-- | xen/common/domain.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/xen/common/domain.c b/xen/common/domain.c index 9e355c898d..e110585ebd 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -304,6 +304,10 @@ struct domain *domain_create( init_status |= INIT_gnttab; poolid = 0; + + d->mem_event = xzalloc(struct mem_event_per_domain); + if ( !d->mem_event ) + goto fail; } if ( arch_domain_create(d, domcr_flags) != 0 ) @@ -335,6 +339,7 @@ struct domain *domain_create( fail: d->is_dying = DOMDYING_dead; atomic_set(&d->refcnt, DOMAIN_DESTROYED); + xfree(d->mem_event); if ( init_status & INIT_arch ) arch_domain_destroy(d); if ( init_status & INIT_gnttab ) |