ia64/xen-unstable

changeset 14280:af6293fd3134

[XEN] Shadow: ignore shadow operations on dying domains
so that they don't get confused by the way that shadow_teardown()
leaves some of the mode bits set after releasing the shadow resources.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
author Tim Deegan <Tim.Deegan@xensource.com>
date Tue Mar 06 15:02:20 2007 +0000 (2007-03-06)
parents 200d13363a38
children 2cf842558b2e
files xen/arch/x86/mm/shadow/common.c
line diff
     1.1 --- a/xen/arch/x86/mm/shadow/common.c	Tue Mar 06 13:41:05 2007 +0000
     1.2 +++ b/xen/arch/x86/mm/shadow/common.c	Tue Mar 06 15:02:20 2007 +0000
     1.3 @@ -2977,10 +2977,18 @@ int shadow_domctl(struct domain *d,
     1.4  
     1.5      if ( unlikely(d == current->domain) )
     1.6      {
     1.7 -        gdprintk(XENLOG_INFO, "Don't try to do a shadow op on yourself!\n");
     1.8 +        gdprintk(XENLOG_INFO, "Dom %u tried to do a shadow op on itself.\n",
     1.9 +                 d->domain_id);
    1.10          return -EINVAL;
    1.11      }
    1.12  
    1.13 +    if ( unlikely(test_bit(_DOMF_dying, &d->domain_flags)) )
    1.14 +    {
    1.15 +        gdprintk(XENLOG_INFO, "Ignoring shadow op on dying domain %u\n",
    1.16 +                 d->domain_id);
    1.17 +        return 0;
    1.18 +    }
    1.19 +
    1.20      switch ( sc->op )
    1.21      {
    1.22      case XEN_DOMCTL_SHADOW_OP_OFF: