PERFORCE change 132439 for review

John Birrell jb at FreeBSD.org
Thu Jan 3 15:32:29 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=132439

Change 132439 by jb at jb_freebsd1 on 2008/01/03 23:31:50

	Use SMP_MAXCPU instead of MAXCPU which defaults to 1 outside a kernel build.
	
	Add a few checks for NULL pointers.

Affected files ...

.. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#9 edit

Differences ...

==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#9 (text) ====

@@ -270,7 +270,7 @@
 #define vuprintf	vprintf
 #define ttoproc(_a)	((_a)->td_proc)
 #define crgetzoneid(_a)	0
-#define	NCPU		32
+#define	NCPU		SMP_MAXCPU
 #define SNOCD		0
 #define CPU_ON_INTR(_a)	0
 
@@ -8901,10 +8901,14 @@
 		svarp[id] = NULL;
 	}
 
-	kmem_free(dp->dtdo_buf, dp->dtdo_len * sizeof (dif_instr_t));
-	kmem_free(dp->dtdo_inttab, dp->dtdo_intlen * sizeof (uint64_t));
-	kmem_free(dp->dtdo_strtab, dp->dtdo_strlen);
-	kmem_free(dp->dtdo_vartab, dp->dtdo_varlen * sizeof (dtrace_difv_t));
+	if (dp->dtdo_buf != NULL)
+		kmem_free(dp->dtdo_buf, dp->dtdo_len * sizeof (dif_instr_t));
+	if (dp->dtdo_inttab != NULL)
+		kmem_free(dp->dtdo_inttab, dp->dtdo_intlen * sizeof (uint64_t));
+	if (dp->dtdo_strtab != NULL)
+		kmem_free(dp->dtdo_strtab, dp->dtdo_strlen);
+	if (dp->dtdo_vartab != NULL)
+		kmem_free(dp->dtdo_vartab, dp->dtdo_varlen * sizeof (dtrace_difv_t));
 
 	kmem_free(dp, sizeof (dtrace_difo_t));
 }
@@ -10735,8 +10739,9 @@
 		kmem_free(ep, sizeof (dtrace_ecbdesc_t));
 	}
 
-	kmem_free(enab->dten_desc,
-	    enab->dten_maxdesc * sizeof (dtrace_enabling_t *));
+	if (enab->dten_desc != NULL)
+		kmem_free(enab->dten_desc,
+		    enab->dten_maxdesc * sizeof (dtrace_enabling_t *));
 
 	/*
 	 * If this was a retained enabling, decrement the dts_nretained count


More information about the p4-projects mailing list