6812050 dtrace should translate curpsinfo->pr_contract
authorVamsi Nagineni <Vamsi.Krishna@Sun.COM>
Fri, 17 Apr 2009 06:26:47 -0700
changeset 9389 750ed3471e90
parent 9388 3000e1d7fad5
child 9390 887948510f80
6812050 dtrace should translate curpsinfo->pr_contract 6824221 Memory leak in brandz in lx_pid_init on module load
usr/src/lib/libdtrace/common/procfs.d.in
usr/src/uts/common/brand/lx/os/lx_brand.c
--- a/usr/src/lib/libdtrace/common/procfs.d.in	Thu Apr 16 21:24:35 2009 -0700
+++ b/usr/src/lib/libdtrace/common/procfs.d.in	Fri Apr 17 06:26:47 2009 -0700
@@ -20,12 +20,10 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
 /*
  * This file defines the standard set of inlines and translators to be made
  * available for all D programs to use to examine process model state.
@@ -249,6 +247,8 @@
 	pr_projid = T->p_task->tk_proj->kpj_id;
 	pr_poolid = T->p_pool->pool_id;
 	pr_zoneid = T->p_zone->zone_id;
+	pr_contract = (T->p_ct_process == NULL) ? -1 :
+	    T->p_ct_process->conp_contract.ct_id;
 };
 
 /*
@@ -283,6 +283,7 @@
 	pr_projid = xlate <psinfo_t> (T->t_procp).pr_projid;
 	pr_poolid = xlate <psinfo_t> (T->t_procp).pr_poolid;
 	pr_zoneid = xlate <psinfo_t> (T->t_procp).pr_zoneid;
+	pr_contract = xlate <psinfo_t> (T->t_procp).pr_contract;
 };
 
 /*
--- a/usr/src/uts/common/brand/lx/os/lx_brand.c	Thu Apr 16 21:24:35 2009 -0700
+++ b/usr/src/uts/common/brand/lx/os/lx_brand.c	Fri Apr 17 06:26:47 2009 -0700
@@ -888,6 +888,7 @@
 		 * wasn't loaded there should be no Linux processes, and
 		 * thus no way for these data structures to be modified.
 		 */
+		lx_pid_fini();
 		if (lx_futex_fini())
 			panic("lx brand module cannot be loaded or unloaded.");
 	}