diff -r f62e6c697eeb xen/xsm/acm/acm_policy.c --- a/xen/xsm/acm/acm_policy.c Tue Nov 20 15:34:25 2007 +0000 +++ root/xen-unstable.hg/xen/xsm/acm/acm_policy.c Thu Nov 22 00:33:54 2007 -0500 @@ -104,7 +104,7 @@ _acm_update_policy(void *buf, u32 buf_si /* if ssidrefs are to be deleted, make sure no domain is using them */ if ( deletions != NULL ) if ( acm_check_deleted_ssidrefs(deletions, errors) ) - goto error_lock_free; + goto error_lock_free_nossidchange; if ( (ssidchanges != NULL) && (ssidchanges->num_items > 0) ) /* assign all running domains new ssidrefs as requested */ @@ -169,6 +169,7 @@ error_lock_free: { acm_doms_restore_ssidref(); } +error_lock_free_nossidchange: do_chwall_init_state_curr(NULL); write_unlock(&acm_bin_pol_rwlock);