[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] Even 'dummy' domains (e.g., dom_xen a.k.a. DOMID_XEN) must have valid I/O caps.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1273741742 -3600
# Node ID 1ec412805622fd7ec0e88bf3b7ab681d024994bc
# Parent  6c22d2dfed4882d5febf98d2afbb96ec9bedd043
Even 'dummy' domains (e.g., dom_xen a.k.a. DOMID_XEN) must have valid I/O caps.

Ensure the rangesets are always initialised. Certain (privileged)
invocations of hypercalls such as mmu_update can end up interrogating
these special domains for possible I/O capabilities.

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 xen/common/domain.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff -r 6c22d2dfed48 -r 1ec412805622 xen/common/domain.c
--- a/xen/common/domain.c       Thu May 13 09:44:20 2010 +0100
+++ b/xen/common/domain.c       Thu May 13 10:09:02 2010 +0100
@@ -248,11 +248,16 @@ struct domain *domain_create(
         d->disable_migrate = 1;
     }
 
+    rangeset_domain_initialise(d);
+    init_status |= INIT_rangeset;
+
+    d->iomem_caps = rangeset_new(d, "I/O Memory", RANGESETF_prettyprint_hex);
+    d->irq_caps   = rangeset_new(d, "Interrupts", 0);
+    if ( (d->iomem_caps == NULL) || (d->irq_caps == NULL) )
+        goto fail;
+
     if ( domcr_flags & DOMCRF_dummy )
         return d;
-
-    rangeset_domain_initialise(d);
-    init_status |= INIT_rangeset;
 
     if ( !is_idle_domain(d) )
     {
@@ -289,11 +294,6 @@ struct domain *domain_create(
     if ( arch_domain_create(d, domcr_flags) != 0 )
         goto fail;
     init_status |= INIT_arch;
-
-    d->iomem_caps = rangeset_new(d, "I/O Memory", RANGESETF_prettyprint_hex);
-    d->irq_caps   = rangeset_new(d, "Interrupts", 0);
-    if ( (d->iomem_caps == NULL) || (d->irq_caps == NULL) )
-        goto fail;
 
     if ( cpupool_add_domain(d, poolid) != 0 )
         goto fail;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.