usr/src/uts/common/os/zone.c
changeset 3916 1761dbf695ed
parent 3792 57ba782523b7
child 4141 ddd21f3d4066
--- a/usr/src/uts/common/os/zone.c	Wed Mar 28 17:36:57 2007 -0700
+++ b/usr/src/uts/common/os/zone.c	Wed Mar 28 17:57:31 2007 -0700
@@ -4616,6 +4616,10 @@
 	zone->zone_max_swap += swap;
 	mutex_exit(&zone->zone_mem_lock);
 
+	mutex_enter(&(zone_proj0->kpj_data.kpd_crypto_lock));
+	zone_proj0->kpj_data.kpd_crypto_mem += pp->p_crypto_mem;
+	mutex_exit(&(zone_proj0->kpj_data.kpd_crypto_lock));
+
 	/* remove lwps from proc's old zone and old project */
 	mutex_enter(&pp->p_zone->zone_nlwps_lock);
 	pp->p_zone->zone_nlwps -= pp->p_lwpcnt;
@@ -4628,6 +4632,10 @@
 	pp->p_zone->zone_max_swap -= swap;
 	mutex_exit(&pp->p_zone->zone_mem_lock);
 
+	mutex_enter(&(pp->p_task->tk_proj->kpj_data.kpd_crypto_lock));
+	pp->p_task->tk_proj->kpj_data.kpd_crypto_mem -= pp->p_crypto_mem;
+	mutex_exit(&(pp->p_task->tk_proj->kpj_data.kpd_crypto_lock));
+
 	mutex_exit(&pp->p_lock);
 	AS_LOCK_EXIT(pp->p_as, &pp->p_as->a_lock);