This patch adds a check in xend that prevents a user from trying to destroy Dom0. Currently, xm does not return an error for this case. Xend tries to destroy dom0 and leaves the system in an unstable state. Subsequent attempts to create a domain result in the following error message: Error: Error creating domain: (106, ''Transport endpoint is already \ connected'') This will fix bugzilla bug #243 Signed-off-by: Dan Smith <danms@us.ibm.com> -- Dan Smith IBM Linux Technology Center Open Hypervisor Team email: danms@us.ibm.com _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Anthony Liguori
2005-Sep-21 22:25 UTC
Re: [Xen-devel] [PATCH] Prevent xend from destroying Dom0
Is it possible to pass DOMID_SELF to domain_lookup? Regards, Anthony Liguori Dan Smith wrote:>This patch adds a check in xend that prevents a user from trying to >destroy Dom0. Currently, xm does not return an error for this case. >Xend tries to destroy dom0 and leaves the system in an unstable >state. Subsequent attempts to create a domain result in the following >error message: > > Error: Error creating domain: (106, ''Transport endpoint is already \ > connected'') > >This will fix bugzilla bug #243 > >Signed-off-by: Dan Smith <danms@us.ibm.com> > > >------------------------------------------------------------------------ > >diff -r 9776d03bf108 tools/python/xen/xend/XendDomain.py >--- a/tools/python/xen/xend/XendDomain.py Tue Sep 20 13:07:10 2005 >+++ b/tools/python/xen/xend/XendDomain.py Wed Sep 21 13:01:41 2005 >@@ -45,6 +45,7 @@ > __all__ = [ "XendDomain" ] > > SHUTDOWN_TIMEOUT = 30 >+PRIV_DOMAIN = 0 > > def is_dead(dom): > return dom[''crashed''] or dom[''shutdown''] or ( >@@ -168,7 +169,7 @@ > self.domain_restarts() > > def dom0_setup(self): >- dom0 = self.domain_lookup(0) >+ dom0 = self.domain_lookup(PRIV_DOMAIN) > if not dom0: > dom0 = self.dom0_unknown() > dom0.dom0_init_store() >@@ -337,7 +338,7 @@ > return self.domains.get(id) > > def dom0_unknown(self): >- dom0 = 0 >+ dom0 = PRIV_DOMAIN > uuid = None > info = self.xen_domain(dom0) > dompath = GetDomainPath(dom0) >@@ -505,6 +506,10 @@ > > @param domid: domain id > """ >+ >+ if domid == PRIV_DOMAIN: >+ raise XendError("Cannot destroy priviliged domain %i" % domid) >+ > self.domain_restart_schedule(domid, reason, force=True) > dominfo = self.domain_lookup(domid) > if dominfo: > > >------------------------------------------------------------------------ > > > > >------------------------------------------------------------------------ > >_______________________________________________ >Xen-devel mailing list >Xen-devel@lists.xensource.com >http://lists.xensource.com/xen-devel > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
AL> Is it possible to pass DOMID_SELF to domain_lookup? Possibly, if this was exposed via xc, but I don''t think that would be all that was needed to allow running xend on an arbitrarily-numbered domain. -- Dan Smith IBM Linux Technology Center Open Hypervisor Team email: danms@us.ibm.com _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ewan Mellor
2005-Sep-22 10:36 UTC
Re: [Xen-devel] [PATCH] Prevent xend from destroying Dom0
On Wed, Sep 21, 2005 at 01:48:26PM -0700, Dan Smith wrote:> This patch adds a check in xend that prevents a user from trying to > destroy Dom0. Currently, xm does not return an error for this case. > Xend tries to destroy dom0 and leaves the system in an unstable > state. Subsequent attempts to create a domain result in the following > error message: > > Error: Error creating domain: (106, ''Transport endpoint is already \ > connected'') > > This will fix bugzilla bug #243 > > Signed-off-by: Dan Smith <danms@us.ibm.com>Applied, thanks. Ewan. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel