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

[Xen-devel] [PATCH] x86/mm: disallow mmu hypercalls for a dying domain



The race condition should be avoided for efficiency.

Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>

diff -r ba68bb0d229c xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c Thu Nov 26 15:27:00 2009 +0000
+++ b/xen/arch/x86/mm.c Fri Nov 27 15:08:41 2009 +0900
@@ -2537,6 +2537,13 @@ static struct domain *get_pg_owner(domid
             MEM_LOG("Unknown domain '%u'", domid);
             break;
         }
+        if ( unlikely(pg_owner->is_dying) )
+        {
+            MEM_LOG("Domain is dying");
+            rcu_unlock_domain(pg_owner);
+            pg_owner = NULL;
+            break;
+        }
         if ( !IS_PRIV_FOR(curr, pg_owner) )
         {
             MEM_LOG("Cannot set foreign dom");
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

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